Macintosh Developer Online (MDOnline)


2000年10月6日発行号 - CodeWarrior到着



昨日配信した「Cubeで勝手に電源が入ったり切れたりする問題への対処方法」という記事で、「DC-to-DCコンバータをリセットするということが…」と書きましたが、reseatと書かれており、読み間違いをしました。申し訳ありませんでした。
それから、今週中にMac OS Xをファイルサーバとして動かすところまで記事にしたかったのですが、すみません、時間切れです。次はファイルサーバとして動かしたところを記事にします。
ところで、すでにMac OS Xを入手された方は、そろそろいろいろなソフトを動かそうとなさっているところでしょう。で、MacWIREの松尾編集長とチャットしていた時に、Carbonなのに、Mac OS Xで動かすとClassicで起動するというソフトがあるということを伺いました。なぜかと言うところに非常に興味がありますので、実際にそうしたソフトを見つけられた方、あるいはソフトを作っていてそういう結果になったという方がいらっしゃったら、御一報いただけませんでしょうか。思うに、CarbonLibを使っても、それ以外にライブラリを使っていて、それがCarbonベースではないシステムコールを含むものだったら、Classicとして起動するような気がします。ある条件でビルドしたものが、Carbon対応したはずなのにCarbonで動かないという状態になるような気がします。Mac OSだと気付かないですが、Mac OS Xだと明白にClassicが動くので気が付くというところじゃないのかと思う次第です。ですが、事実関係を明らかにして記事にしたいので、御協力をお願いします。
明日から、アニーズ・クラフトさんのセミナーで福岡に行きます。会場で御会いできれば、お気軽にお声をおかけてください。この土日月はMDOnlineの発行は1回休ませていただきます。次回の発行は火曜日を予定しています。
(新居雅行 msyk@mdonline.jp


Mac OS Xで動くCodeWarriorの日本語版が購入者に到着

CodeWarriorの新しいバージョン「リリース6」が、今週になって購入者に郵送された。すでにインストールしている方もいらっしゃるだろう。リリース6からはProfessionalという名称が使われていないという変化もあるが、もっとも大きな変化は、Mac OS X向けのソフトウエア開発ができるようになったという点である。Mac OS XでのCarbonアプリケーションを作成する機能が加わり、フレームワークのPowerPlantもCarbonやCore Foundationへの対応がなされている。また、開発環境自体も、デバッグを含めてMac OS Xでの利用ができるようになった。つまり、Mac OSでも、Mac OS Xでもいずれでも開発および稼動が可能なアプリケーション開発ツールとなったわけだ。また、Mac OS Xでの開発ではJava2への対応も行われている。なお、Cocoa対応のアプリケーションなどの作成については、基本的には直接の機能は用意されていない。変更点については、同社の紹介ページに詳しくリストがある。
いろいろな変化はあるとして、次のポイントを紹介したい。まず、ポストリンカにMac OS Packagerが追加された。つまり、パッケージ/バンドルの生成を、開発ツールで自動的に行うものだ。Mac OS Xのアプリケーションパッケージの生成にも対応している模様である。ただ、単にポストリンカを選べばいいだけでなく、適切な設定を行わないといけない。利用方法については改めて記事でお届けしたいと考えている。
また、Javaのリンカの設定に「Java MRJAppBuilder」という設定が加わっている。つまり、JavaのアプリケーションはこれまではCodeWarriorでもJBindaryベースのものを生成していたのだが、MRJ SDK 2.2から新しく搭載されたMRJAppBuilderベースのアプリケーションを生成できる模様だ。JBindaryはブート部分が68kベースであったが、MRJAppBuilderはPowerPCのみで、しかも、Mac OS XでのJavaアプリケーションとしても稼動できるものとなっている。
CodeWarriorリリース6は日本語版となっている。とりあえずMac OS X Public Beta(9月に配付されたもの)にインストールをしてみた。ボタンでの文字欠けなどにめげずにインストールし、とりあえず使えることは確認した。もちろん、IDEもCarbon対応なので、ウインドウやコントロール類はAquaベースの画面表示となっている。メニュー構成やアプリケーションの形態などには大きな変化はない。ファイルメニューに終了がある点は、最初のバージョンだから目をつむることにしよう。そうした些細な点は無視するとしても、いくつか動かない場面が出てきている。たとえば、Javaのアプリケーションの新しいプロジェクトを生成しようとしても、エラーが出てソースが作成できないとメッセージを出す。また、既存のCarbon対応のプロジェクトを開き、デバッグをさせようとしても、リモートデバッガに接続できないというメッセージが出てくる。Mac OS X Public Betaが日本語版でないところからこうした結果になるのかもしれないし、何かしらインストーラでの作業以上のことが必要になるのかも知れないが、とありあえずのファーストインプレッションは、動かない機能に目が向いてしまった。CodeWarriroリリース6については、継続的にレポートをすることにしよう。

◇CodeWarrior for Mac OS日本語版リリース6のIDE
 

関連リンク:CodeWarrior for Mac OS日本語版リリース6
カテゴリ:Mac OS X, 開発ツール, CodeWarrior


ソースコードをMac OS X向けに移行するための基本知識をまとめたTechnote

Technoteに、コードをMac OS Xで利用できるようにする方法を説明したものが登場した。つまり、Mac OS向けに作られているコードをMac OS Xに移行させるための基本的なことがまとめられたものだ。Carbon化における細かい話題までは触れられていないが、全体像が見渡せるような内容となっている。Mac OS Xで使えなくなったカスタムリソースについてはどういった代替え手段があるのかなどがまとめられている。また、最後の方に、各Managerごとにどういった点を配慮しないといけないのかといったことが表にまとめられており、その部分だけを見るのも便利だろう。Mac OS対応のプログラムをMac OS Xに移植するという場合には、この文書は必ずチェックを入れておくべきだろう。

関連リンク:Moving Your Code to Mac OS X
カテゴリ:Mac OS X, Technote


【Mac OS X Public Betaシリーズ】Mac OS Xにアカウントを追加する

先日の記事では、インストール時に設定されるアカウントと、rootアカウントなどとの関連について解説を行った。つまり、Mac OS Xは「アカウント」を通じてい利用しなければならないというのが基本だが、通常の利用では、インストール時に指定したアカウントとパスワードだけを知っていれば良く、また、それらを自動的に入力することも可能なので、あまりアカウントについては意識しなくても使えるように工夫されているというこなのである。

しかしながら、Mac OS Xをサーバに使うとなると話は別だ。Mac OSのファイル共有機能でもそうだったように、アカウントの管理ということが必要であり、Mac OS X Public Betaでもその機能は用意されている。Mac OS X Public Betaでは、AppleShare IPのファイルサーバ機能、FTPサーバ機能、telnetサーバ機能が手軽に使える。これらは、Mac OS Xに登録した統一的なアカウント情報を共有することになる。(なお、Webサーバもあるが、これは基本的にはアカウント管理は必要ない。)これらのサーバ機能は順次紹介するとして、まずは、アカウントを追加する機能について説明しておこう。

アカウントを追加するには、ApplicationsフォルダのUtilitiesフォルダにあるMultiple Usersというアプリケーションを利用する。このアプリケーションはウインドウが1つだけのシンプルなものだ。設定を変更するには、まずは左下のカギのアイコンをクリックし、管理権限のあるアカウントとパスワードを入力して、ロックを解除する。たとえば、インストール直後のアシスタント処理によって登録されたアカウントは管理権限がある。

◇アプリケーションのMultiple Users
 

最初は、アシスタントで登録したアカウントの名前だけが見えているだろう。New Userボタンで新しいアカウントが作成される。以下のようなダイアログボックスが表示される。なお、既存のアカウントを修正したいのであれば、そのアカウントを選択してOpen Userボタンをクリックすれば、同じダイアログボックスで修正ができる。また、Delete Userボタンで選択したアカウントを削除することも可能だが、アシスタントで登録したアカウントは削除できない。

◇個々のアカウントの設定を行うダイアログボックス
 

名前とショートネーム、そしてパスワードを設定するのはアシスタントで設定した場合と同様である。Short Nameで設定するのがシステム的に見たアカウント名となり、こちらの方が重要である。Nameは自由に入力してもいいが、Short Nameすなわちアカウントはスペースがなく8文字以内という点に注意してもらいたい。8文字以上は入力できないようになっている。また、空白や記号が入ってもいけない。いずれにしても、入力できない文字をキータイプしても、警告音が鳴るだけで何も入力はされない。当然ながら、2バイトコードもだめである。いずれにしても、入力段階でチェックはしてくれる。パスワードは2つの枠に同じものを入力しないと設定できない。
なお、特定のアカウントのパスワードを変更したい場合も、このMultiple Usersアプリケーションで行うことになる。

Allow user to administer this machineというチェックボックスがあり、アシスタントで設定したアカウントにはこのチェックボックスが入っている。このチェックボックスをオンにすると、Multiple UsersのウインドウのKindの列に「Admin」という記述が入り、このアカウントには管理者の権限があると設定されるわけだ。このアカウントだと、たとえばSystem Preferencesの中にあるシステム設定の変更ができるようになるというわけだ。つまり、システム変更の権限であるとも言える。

アカウントの設定内容の変更をすることもできるが、実はShort Nameは変更できない。その他の名前やパスワードは変更ができる。Short Nameは変更すると、あたかも変更したかのように見えるのだが、実際には変更されていないのである。Short Nameつまりアカウントはシステムの動作に深く関わる名前であるため、原理的には変更はできなくはないにしても、それをやるのは非常に大変な作業をシステム側で行う必要性がある。一般には、アカウント名は変更できないというのがOSの機能なのである。変更したい場合には、削除して新規に登録するということになる。

ここでまたUNIX系な話に振ってみたい。LinuxやFreeBSDの一般的な設定だと、たとえば、adduserコマンドでユーザを追加できるとか、/etc/passwdファイルを確認すれば登録されているアカウントが分かるなどの話ができる。ここで、Mac OS Xはアカウント情報をどこに残すのかという問題が出てくる。実は、NetInfoというディレクトリサービスのエントリとして、アカウント情報は記録されている。NetInfoはシステムの設定などに関する一種のデータベースと考えればよいが、汎用的に利用でき、情報を階層的に記録することができる。NetInfoの機能はMac OS Xに含まれている。1つのマシンの中で情報の階層ツリーを構成できるだけでなく、他のマシンと連係して、大きなツリーの中に自分のツリーを割り込ませるようなこともでき、ある種の情報共有も可能だというわけだ。こうした汎用的なディレクトリサービスを使ってアカウントを管理している。だから、/etcディレクトリを探してもあまり意味はないということだ。
一方、グループという概念があり、それによって、ユーザの集合を定義できる。つまり、アクセス権の設定などを一群のユーザに対して行えるなど管理の手間を軽減させる仕組みがグループの1つの側面だと言えるだろう。ところで、Mac OS Xでもグループはあり、NetInfoで管理されている。しかしながら、NetInfoを操作する以外にグループの設定はMac OS Xではできないのである。ネットワークを知る人にとっては不可解なことかもしれないが、ファイル共有の機能を見る限りはそれも意味があるとも言えなくもない。Multiple UsersでAdminの設定が付けられているアカウントは、wheelというグループに属する。このグループは、UNIXでは「rootになることができるアカウント」として有名である。wheelに属するユーザでログインして、suコマンドでルートになるというのが基本操作なのである。つまり、管理権限とは、wheelグループの所属というそれだけのことだったのである。

なお、Mac OS Xが本格的にサーバ利用される段階で、Multiple Usersに代わる、User Managerか何か名前は分からないけど、グループの定義や登録なども含めた本格的なアカウント管理アプリケーションが付属されるようになるものと予想できる。Multiple Usersはクライアント用途のMac OS X向けのアカウント管理アプリであり、その意味では機能は限定されている。しかしながら、そうしたアプリケーションで1つ1つのアカウントは登録できるとしても、たとえば大規模サーバで1000人まとめて登録したいという場合もあるだろう。今後出ると思われる設定アプリケーションでカンマ区切りのデータで一括登録ということができるかどうかは微妙だ。一方、Linuxなどにあるadduserコマンドのようなものは、Mac OS Xの場合NetInfo絡みのこともあって単一のコマンドでは供給されていないようだ。だが、DarwinのFAQなどをもとに、「Mac OS X版のadduserコマンド」が作られる可能性は高いだろう。システム管理者はそうした情報にも気を配っておく必要があるとも言える。
NetInfoの登録内容については、ApplicationsフォルダのUtilitiesフォルダにあるNetInfoManagerというアプリケーションを御利用いただきたい。そこで、グループとかユーザアカウントの情報が参照できるが、NetInfoの動作やシステムの動作に精通していないのであれば、手で書き直すのはお勧めできない。だけど、みるだけなら支障はないだろう。

カテゴリ:ネットワーク, Mac OS X, Mac OS X Public Betaシリーズ


Cocoaのスレッドを利用したサンプルプログラムが掲載

サンプルコードに掲載された「TrivialThreads」は、Cocoaのフレームワークにあるスレッドの利用方法を示すものだ。マルチタスクでプログラムを実行させるスレッドの利用方法が分かるだろう。また、分散オブジェクトのサンプルでもある。Cocoaフレームワークのものなので、Mac OS X以降が対応プラットフォームとなっている。サンプルはObjective-Cで作成されており、Project Builderのプロジェクトで含まれている。つまり、執筆時点では、ADC会員しかビルドは事実上できないだろう。

関連リンク:TrivialThreads 1.0
カテゴリ:アップルからの開発資料, Cocoa


TIL-JにPowerBook関連のトラブル対策などが掲載

日本語での技術情報を提供するTech Info Library-Jにおいて、ブロンズキーボードのタイプのPowerBook G3を中心にした文書が翻訳されて公開されている。以下はアドレスと要約だ。

◇31085JC:PowerBook G3 Series (Bronze Keyboard):“PowerBook の使いかた”というヘルプファイルが見つかりません
 http://til.info.apple.co.jp/cgi-bin/artnum?id=31085
「Mac OS 特別付録」にあるヘルプの追加分についてのインストールもしないといけない。

◇31013JC:Powerbook G3 Series (Bronze Keyboard): FAXstf の再インストール方法
 http://til.info.apple.co.jp/cgi-bin/artnum?id=31013
Mac OS 8.6とMac OS 9での方法が説明されている。

◇25002JC:PowerBook G3 Series: メモリの増設
 http://til.info.apple.co.jp/cgi-bin/artnum?id=25002
表題の内容通りで、マニュアルからの抜粋。

◇30542JC:PowerBook G3 Series: モデム着信時のスリープ解除機能はサポートされていません
 http://til.info.apple.co.jp/cgi-bin/artnum?id=30542
コントロールパネルの「省エネルギー設定」にそれらしい設定があるが、スリープ解除はサポートされていない。

◇30724JC:PowerBook G3 Series: スリープ解除後にサウンド機能が動作しない
 http://til.info.apple.co.jp/cgi-bin/artnum?id=30724
FAXstfで受信可能にしている場合に、スリープ解除後にサウンドが出ないという現象がある。調査中となっている。

◇15890JC:PowerBook: 操作不能になったシステムを元に戻す方法
 http://til.info.apple.co.jp/cgi-bin/artnum?id=15890
リセットの方法が機種ごとにまとめられている。

◇14449JN:PowerBook and iBook: パワーマネージャのリセット(修正)
 http://til.info.apple.co.jp/cgi-bin/artnum?id=14449

関連リンク:Tech Info Library - Japan
カテゴリ:Tech Info Library-J, PowerBook


TIL-JにPower Mac関連文書が掲載、Cube問題も翻訳されて公開

日本語での技術情報を提供するTech Info Library-Jにおいて、Power Macintosh関連の文書が公開された。今話題のCubeの不具合以外は、新しい情報ではない。以下に、アドレスと要約を示す。

◇88044JC:Power Mac G4 Cube: 電源ボタンの不規則な動作について
 http://til.info.apple.co.jp/cgi-bin/artnum?id=88044
Cubeで勝手に電源が入ったり、あるいは切れたりする現象についての説明で、対処方法は、DC-to-DCコンバータカードを差し込み直す。だめなら、カスタマーサービスに連絡する。

◇58681JN:Power Mac G4 Cube: 接続可能なモニタとディスプレイ(修正)
 http://til.info.apple.co.jp/cgi-bin/artnum?id=58681

◇24236JC:Power Macintosh G3: モニタ用電源ポートの電源が“オフ”にならない
 http://til.info.apple.co.jp/cgi-bin/artnum?id=24236
本体の電源を切っても、ディスプレイがオフにならないのは仕様である。ディスプレイが省電力設計なら、本体を切ると自動的にスリープ状態になる。

◇24205JC:Power Macintosh G3: Power Macintosh G3 について
 http://til.info.apple.co.jp/cgi-bin/artnum?id=24205
ReadMe文書で、互換性や問題点などが記載されたもの。

◇30354JC:Power Macintosh G3 Computers: システムソフトウェアの再インストール
 http://til.info.apple.co.jp/cgi-bin/artnum?id=30354
Ultra Wide SCSIカードなどいくつかの周辺機器が接続されている本体の場合、システムの再インストール後にそれらのドライバを個別に手作業でインストールしなければならない。

◇30917JC:Power Macintosh G3 (Blue and White): 内蔵モデムソフトウェアのインストール
 http://til.info.apple.co.jp/cgi-bin/artnum?id=30917
Mac OS 8.6と8.5での方法が記載されている。

関連リンク:Tech Info Library - Japan
カテゴリ:Tech Info Library-J, Power Mac


TIL-JにNeXTSTEPやOPENSTEP、古いバージョンのWebObjects関連文書が公開

日本語での技術情報を提供するTech Info Library-Jにおいて、NeXTSTEPあるいはOPENSTEP関連の情報が翻訳されるなどして公開されている。いくつかは、2000年問題に関連する話題である。いずれのソフトもサポートが終了している古いバージョンのソフトである。以下に、文書のアドレスだけを記載しておく。

◇100412JO:WebObjects 3.1: 日本語版の 2000 年問題対応の修正プログラムの提供
 http://til.info.apple.co.jp/cgi-bin/artnum?id=100412
◇70085JC:EOF 2.x: EOF Example における 2000 年問題の修正
 http://til.info.apple.co.jp/cgi-bin/artnum?id=70085
◇70084JC:EOF 1.x: EOF Example における 2000 年問題の修正
 http://til.info.apple.co.jp/cgi-bin/artnum?id=70084
◇100414JO:OPENSTEP/NeXTSTEP: 2000 年問題解決用の修正プログラムの提供
 http://til.info.apple.co.jp/cgi-bin/artnum?id=100414
◇100415JO:OPENSTEP for Mach/OPENSTEP Enterprise での 2000 年 1 月 1 日以降の開発上の注意
 http://til.info.apple.co.jp/cgi-bin/artnum?id=100415
◇70099JN:WebObjects: WebObjects 3.1 Patch 1 の概要(修正)
 http://til.info.apple.co.jp/cgi-bin/artnum?id=70099
◇70039JC:NeXTSTEP 用 I/O Driver ガイド
 http://til.info.apple.co.jp/cgi-bin/artnum?id=70039
◇70027JC:OPENSTEP 用 I/O Driver ガイド
 http://til.info.apple.co.jp/cgi-bin/artnum?id=70027
◇100417JO:OPENSTEP/NeXTSTEP 追加フロッピーディスク
 http://til.info.apple.co.jp/cgi-bin/artnum?id=100417
◇100418JO:OPENSTEP/NeXTSTEP Boot & Driver Disk
 http://til.info.apple.co.jp/cgi-bin/artnum?id=100418
◇100419JO:NeXTSTEP 用表計算ソフトウェア「LQ」の Y2K トラブル
 http://til.info.apple.co.jp/cgi-bin/artnum?id=100419

関連リンク:Tech Info Library - Japan
カテゴリ:Tech Info Library-J, WebObjects


TIL-Jに2000年10月15日に公開されたその他の文書

日本語での技術情報を提供するTech Info Library-Jにおいて、別掲の記事以外に2000年10月15日に以下のような文書が新たに公開されている。アドレスと要約を示す。

◇86060JC:iBook: 外部ポートとコネクタ
 http://til.info.apple.co.jp/cgi-bin/artnum?id=86060
iBookの接続端子について写真入りで説明されたもの。FireWire搭載のiBookではなく、それ以前のタイプのものである。

◇30951JC:Mac OS 8.5: 夏時間に設定しても時間の表示が変わらない
 http://til.info.apple.co.jp/cgi-bin/artnum?id=30951
この問題は、OSのアップデートで解決されると記載されている。

◇60136JC:Mac OS X Server: サーバコンピュータが“再起動”も“終了”もしない
 http://til.info.apple.co.jp/cgi-bin/artnum?id=60136
空き容量を増やすということに加えて、Terminal.appから、rebootやhaltといったコマンドを入れるという方法が紹介されている。

◇58016JN:iMac: パワーランプによる状況の見方(修正)
 http://til.info.apple.co.jp/cgi-bin/artnum?id=58016
◇58583JN:Macintosh: FireWire ターゲットディスクモードの使用方法(修正)
 http://til.info.apple.co.jp/cgi-bin/artnum?id=58583

関連リンク:Tech Info Library - Japan
カテゴリ:Tech Info Library-J