Macintosh Developer Online (MDOnline)


2001年4月5日発行号 - Cocoaはホイールマウス対応



なんだかこのところ、ドメイン名の申請ばっかりやっているような気がしますが、JPドメインの第三区分の申請が始まっています。第一、第二区分は話題になったのですが、もう話題にはならないのでしょうか。危うく忘れそうになりました。ちなみに、「mdonline.jp」を申請しました。第一区分などと違っているのはなぜかある程度は安いことです。それに、私が申請したところでは、取得が決まってから支払いをするので、当面は申請料だけだったりします。第一、第二区分の方がビジネスになったのかも知れません。いずれにしても、日本語ドメインで大騒ぎをして、いつになったら使えるのか分からないのに対し、5月から使えるとしている英語のJPドメインが話題にならないというのはなんだか状況としてはあまり、いい感じではないですね。日本語ドメインも、自分はあおられているというのが分かっていながら、取っておかないと誰かに取られるということもあって申請をしましたけど、なんか釈然としません。もっとも、ドメイン名熱はもう冷めたということなのでしょうか。まあ、必要最低限の取得にしようと思います。なお、MDOnline.jpでアクセスできるのは先になります。システム的にそろそろ見直しを真面目にやらないといけないのですが、とりあえずは画像の置き場所を新たに用意したMDOnline.jpで運用しようかと思っています。とれなかったりして…。
(新居雅行 msyk@mdonline.jp


Browsing Mac OS X》アカウントとルートについて、あえてルートになる必要はない

Mac OS Xの特徴としてマルチユーザ対応であることが言われているが、発売段階ではあまり強調されなくなってきた。やはり、クライアントとして使うパソコンだけに、必ずしもマルチユーザで使うとは限らないから、大きなトピックにはなりにくい。また、普通にというと抽象的だが、1人のユーザが普通に使う限りにおいては、そうしたマルチユーザOSであることはほとんど気にすることがないようなうまい作りになっている。システムが用意する起動ボリュームでのフォルダ構成に少しだけ注意を払えば、あとは自由に使える。その意味では特にマルチユーザであることは気にする必要もないのである。だけど、「ルート」という言葉を知ってしまっている人には、気になることかもしれない。Mac OS Xのユーザとルートについて考えてみよう。

□Mac OS Xはルートになる必要のないOS
Mac OSにはなかったというか薄かった概念がユーザだ。ネットワークのファイルサーバにあるファイルでは、「アクセス権」として設定していたものだが、それと同様なものがMac OS Xではシステムのすべての領域に影響している。また、Mac OSと違って、ファイルだけでなく、実行しているアプリケーションなどのプロセスも「誰が実行しているのか」という意味でのユーザという概念が加わっている。マルチユーザOSでは、OS上で異なるユーザが同時にソフトウエアを実行できる。また、同一のハードディスクを複数のユーザで同時に使う。だから、誰が使っているのかと言うことを明確にし、さらに、ハードディスクの資源を、誰に対してどこまでの処理ができるのかと言うことを明確に設定するのがファイルのアクセス権でもある。たとえば、あるユーザが使えるディレクトリには、そのユーザはファイルを書き込めるけども、別のユーザはファイルの読み込みはできても書き込んだり変更したりができなくなっているのである。アクセス権については、この記事ではとりあえず概念的な説明までとしたい。
Mac OS Xをインストールしてみれば分かるが、インストール時に、ユーザのアカウントを1つ作成する。そこで、本名などのフルネームだけでなく、アカウント名とパスワードを指定する。そして、指定したアカウントがMac OS Xに加えられる。さらに、通常とおりMac OS Xを起動すると、そのアカウントで自動的にログインをするようになっている。つまり、電源を入れると、インストール時に指定したアカウントのユーザとして、Mac OS Xが使えるように起動するということである。なお、パスワードは4文字以上としているが、実は8文字以上を指定しても、最初の8文字だけが有効だ。10文字のパスワードを指定して、最初の8文字だけ入力してもログインはできるのである。
インストーラで登録したアカウントだけでなく、Mac OS Xではシステム側が最初から用意したアカウントがいくつかある。そのうち、もっとも重要なのはroot(ルート)という名前のアカウントがあることだ。これは、単なるユーザではなく、システムに関して何でもできてしまう非常に権限の高いユーザである。一般のアカウントは、自分自身の書き込みなどの権限がある場所のファイルしか変更はできないが、rootはほぼどこでも読み書きできてしまうのだ。UNIX系のOSでは、システムの設定を行うときなどに、rootでログインしたり、あるいはrootになりうるアカウントからコマンドを入れてrootになって管理作業をするのが一般的だ。そのことから、「システムの管理はrootになって行う」ということが半ば定説化している。
しかしながら、Mac OS Xの現状のシステムでは、それはほとんどあてはまらないと言えばいいだろう。システムで必要な設定の変更は、インストール時に定義したアカウントのログインでできるようになっている。逆に言えば、そこでできないような設定というのは、設定として変更してもらいたくない、つまり変更すると支障をきたす恐れのあるような設定であると言えるだろう。Mac OS Xの管理はrootにならなくても行えるのである。そのために、システム環境設定などのユーティリティが付属しているわけだ。
あえて分かりやすいように比喩を出せば、Mac OS Xでrootになるということは、PowerBookをばらした状態で使うのに等しい。もちろん、ばらすことも時には必要かも知れないが、それはハードディスクを入れ替えるとかAirMacカードを入れるとか、かなりの大規模なコンフィグレーション変更を伴う。それに、いくらばらすが好きだと言っても、ばらしたままPowerBookを使うと不便だし、危ないし、持ち運べない。つまり、通常使う状態ではないわけだ。それは、Mac OS Xのrootでも同じことなのだ。普段からルートになって作業をしたいと考えるのは、「システムを制限なく使いたい」と考えているのだと思う。確かにルートでログインすると、制限はないのかもしれないが、なんでもできるだけにあまりに無防備なのである。その意味では使い勝手は決していいものではないと言える。それに、何度も強調したいが、Mac OS Xはインストール時に定義したアカウントは、システムの設定変更が行えるアカウントなのである。「ルートでログインしたい」というのは、ある種の幻想と危険さへの配慮不足と言えるのではないだろうか。

□ユーザの登録はシステム環境設定で行う
さて、システム環境設定の「ユーザ」のパネルを見ていただければ分かるが、ここで、Mac OS Xにログインできる複数のユーザを登録することができる。最初には、インストール時に登録した名前が見えていて「管理者」という種類になっている。ここで新たにユーザを登録することができるが、登録時に起動時に自動的にログインする機能を解除して、必ずログインパネルを表示する設定を行うかどうかをたずねてくる。なお、この設定は、同じくシステム環境設定の「ログイン」のパネルでも設定できる。
ここで「管理者」となっていれば、システム環境設定での設定変更が多くの場面でできるようになる。その場合、最初から、設定変更ができる状態でパネルが開くはずだ。一方、管理者でない場合には、カギがかかっていてそこをクリックし、管理者のアカウントとパスワードを入れることで、設定の変更ができるようになる。その意味では、管理者でないアカウントとパスワードしか知らないのなら、システム設定の変更はできないということになる。
ユーザごとにホームディレクトリが用意され、そのディレクトリ以下であれば、そのユーザは自由にファイルの読み書きができる。そこに文書ファイルなどを保存するのが基本になるが、起動ボリューム以外のボリュームでは、誰もが好きなようにファイルの読み書きや修正ができるようになっている。また、ルートディレクトリ直下は、おおむねどのユーザも読み込みはできるようになっている。他のユーザが開いて参照してはまずいファイルはホームディレクトリには置かないのが基本だ。他のユーザに見られないようにするには、Documentsフォルダなどに入れておく必要がある。Documentsフォルダの中身は、オーナーであるログインしたアカウント以外のユーザからは参照できないように設定されている。
UNIXのシステムなどではグループとして、アカウントをグループわけして、アクセス権の設定などを効果的に行う方法がある。そうしたグループは、Mac OS Xでは利用者レベルでは使えないものと思った方がいいだろう。少なくとも、システムが用意した機能ではグループの定義がほぼできないと言える。基本的にはクライアント環境なのだから、グループという機能は必要ないと判断したのだろう。ただ、コアOSのシステム的な意味ではグループは存在するし、また、ファイルのアクセス権を調べると、オーナー、グループ、全員に対する設定があるため、「グループ」というのは存在すると言えば、存在するものだ。ただ、ユーザが作ったファイルのグループは、ほとんどの場合staffというグループになる。また、システムが作ったファイルはadminとなっている。これらは、コアOSで定義されたグループ名だ。ちなみに、ルートになることができるグループ名として有名なwheelもシステムで定義されていて、管理者だとwheelグループにも所属している。グループの設定を見たいというのであれば、以下に紹介するNetInfo Managerを利用すればよい。
(続く)

カテゴリ:Browsing Mac OS X


Browsing Mac OS X》アカウントとルートについて、あえてルートになる必要はない(続き)

□それでもルートになりたい人のための情報
オープンソースで公開されているようなソフトウエアをインストールして試してみたいというような方だと、どうしてもルートになりたいと考えるかもしれない。Public Betaでは、Terminalでsuコマンドを打ち込むことで、ルートになることができたが、Mac OS Xではその機能はキャンセルされている。既定の状態では、rootアカウントになることはsuコマンドでもできなくなってしまっている。
それでもルートになりたいというのであれば、NetInfo Managerを使う。rootのアカウントを有効にしてしまったということは、そのコンピュータの利用者が意図的に行うということであり、その後に起ることはやはりユーザで責任を持つことが原則となるだろう。また、できれば、ルートのアカウントを使用後は、無効にするように戻しておくのが理想的だろう。
ルートアカウントを有効にするには次のように操作する。/Applications/Utilitiesフォルダに、NetInfo Manaerがあるのでそれを起動する。このユーティリティだけは、管理者アカウントで使っていても、改めてウインドウ左下のカギをクリックして、管理者のアカウントとパスワードを指定して、変更を可能にするという設定をしなければならない。つまり、起動した状態のMac OS Xを利用者が席を立ったすきに使ってNetInfo Managerを使おうとしても、できないという風になっている。
そして、「ドメイン」メニューの「セキュリティ」から「ルートユーザを有効」を選択する。続いて、同じメニューの「ルートパスワードの変更」を選択し、ダイアログボックスでrootアカウントのパスワードを入力する。これで、rootでのログインや、suコマンドでrootになったり、sudoコマンドの利用ができるようになる。

カテゴリ:


TIL,TIL-J》Mac OS XでのPowerBook利用での制限事項について

Tech Info Libraryに、Mac OS XでのPowerBook利用での制限事項に関する文書が掲載された。アドレスと要約を示す。

◇Mac OS X 10.0, PowerBook: バッテリはスリープ時に交換できません
http://til.info.apple.co.jp/cgi-bin/artnum?id=106216JC
◇Mac OS X 10.0, PowerBook: Batteries Cannot Be Changed When Computer Is Asleep
http://til.info.apple.com/techinfo.nsf/artnum/n106216
Mac OS Xでのスリープ状態のときにバッテリを差し換えると、VRAMなどの設定がリセットされる。将来的には解決される予定だ。それまでは、電源アダプタを差し込むかあるいはシステムを終了させてバッテリを差し換える必要がある。

◇Mac OS X 10.0, PowerBook: モニタ切り替えにはシステム終了が必要です
http://til.info.apple.co.jp/cgi-bin/artnum?id=106218JN
◇Mac OS X 10.0, PowerBook: Shut Down to Switch Monitors
http://til.info.apple.com/techinfo.nsf/artnum/n106218
内蔵の液晶ディスプレイを閉じたまま使用するモードと、ディスプレイを使って使用する形態を本来は切り替えることができるが、Mac OS Xではスリープ中のディスプレイの差し換えによる切り替えができない。キー操作でシャットダウンするなどして対処するが、その方法が記載されている。この問題は将来的には解消される予定だ。

カテゴリ:Tech Info Library-J, Knowledge Base(旧TIL), PowerBook


TIL》Mac OS Xでのサウンド機能の制限に関する文書、iSubは使えないなど

Tech Info Libraryに、Mac OS Xでのサウンド機能に関する文書が掲載された。アドレスと要約を示す。

◇106238:Mac OS X 10.0: iSub Makes No Sound
 http://til.info.apple.com/techinfo.nsf/artnum/n106238
Mac OS XではiSubは利用できない。将来のバージョンで利用できるようにする予定だ。

◇106239:Mac OS X 10.0, iMac (233 MHz to 333 MHz): Use Headphone Jack Instead of Sound Output Port
 http://til.info.apple.com/techinfo.nsf/artnum/n106239
初期のiMacでは、サウンドは側面にあるサウンド出力ポートではなく、前面のヘッドフォンのポートから出力される。

カテゴリ:Mac OS X, iMac, Tech Info Library-J, Knowledge Base(旧TIL)


TIL》ホイール付きマウスでのスクロール機能はCarbonやClassicアプリでは基本的には使えない

106258:Mac OS X 10.0: Using a Third-Party USB Scroll Wheel Mouse
http://til.info.apple.com/techinfo.nsf/artnum/n106258
Tech Info Libraryによると、ホイール付きマウスは、Cocoaアプリケーションでは期待通りに機能するが、CarbonおよびClassicアプリケーションでは期待通りに機能しない。マウスの製造元からのアップデートを問い合わせてほしいということだが、この問題を将来のバージョンのMac OS Xで修正する予定もあるとしている。
Mac OS Xではホイール付きの2ボタンマウスに対応していて、特にソフトウエアを加えなくても、ホイールを動かすことでスクロールを行い、右ボタンクリックで、コンテキストメニュー(control+クリックで表示されるメニュー)が表示される。このうち、右ボタンクリックは、Carbonでも機能するが、ホイールによるスクロールは通常はCarbonでは機能しない。しかしながら、Interne ExplorerやJedit 4.0.6のように、アプリケーション側で対応している場合もある。

カテゴリ:Knowledge Base(旧TIL), ユーザインタフェース


Mac OS Xのアプリケーションでヘルプファイルをシステムに認識させる方法

Mac OS Xで稼動させるアプリケーションのヘルプファイルの配置についてのTechnical Q&Aが掲載された。Apple HelpによるヘルプメッセージはHTMLベースで作成され、アプリケーションのヘルプメニューから呼び出されるが、ヘルプファイルの場所は、アプリケーションのパッケージの中に入れるInfo.plistファイルのタグで指定することができる。必要なタグの情報について記載されている。また、Cocoaアプリケーションは自動的にヘルプファイルを認識するが、Carbonアプリケーションはヘルプファイル自体を登録しなければならない。アプリケーション内に組み込むプログラムの例も掲載されている。

関連リンク:http://devworld.apple.com/qa/qa2001/qa1022.html
カテゴリ:Technical Q&A, ユーザインタフェース


TIL,TIL-J》Mac OS Xでのカーネルパニックについての説明

Tech Info Libraryに、Mac OS Xでのカーネルパニックに関する文書が掲載された。アドレスと要約を示す。

◇Mac OS X: カーネルパニック (Kernel Panic) とは何ですか?

◇Mac OS X 10.0: What Is a Kernel Panic?
http://til.info.apple.com/techinfo.nsf/artnum/n106227
カーネルパニックの意味や実例などが説明されている。パニック時にはソフトウエア開発者にとって有益名情報が表示されているかもしれないと説明されている。

◇Mac OS X 10.0: カーネルパニック (Kernel Panic) 時のログの取り方
http://til.info.apple.co.jp/cgi-bin/artnum?id=106228JN
◇Mac OS X 10.0: How to Log a Kernel Panic
http://til.info.apple.com/techinfo.nsf/artnum/n106228
カーネルパニックになったときに、その状況をアップルに報告する場合、表示された情報をどのように記録しておくかを解説した文書。

カテゴリ:Mac OS X, Tech Info Library-J, Knowledge Base(旧TIL)


TIL》Mac OS XでのAirMac利用に関する文書、WAPやパスワードを使った場合など

Tech Info Libraryに、Mac OS XでのAirMac利用に関する文書が掲載された(原文は英語なのでAirPortと記述されている)。アドレスと要約を示す。

◇106250:Mac OS X 10.0, AirPort: Connecting to Third-Party Base Stations
 http://til.info.apple.com/techinfo.nsf/artnum/n106250
サードパーティのアクセスポイントを利用する時にWAPの暗号化やパスワードを指定する場合の設定方法について記載がある。$で始まる16進数を示す文字列か、あるいはだぶるクォーテーションで括った文字列で指定を行う。

◇106252:Mac OS X 10.0: AirPort Does Not Work From UFS Partition
 http://til.info.apple.com/techinfo.nsf/artnum/n106252
UFSのボリュームにインストールして起動したMac OS Xのシステムでは、AirMacが利用できない。HFS+のボリュームにインストールして起動すれば使える。

カテゴリ:Tech Info Library-J, Knowledge Base(旧TIL), ネットワーク


REALbasic 3.1b6がリリース、データベース設計に新しい機能

REALbasicの次期バージョンVer.3.1で、ベータ版の6番目のリリースが登場した。今回の新しい機能はデータベースのスキーマエディタの機能に追加があったことで、その他はバグ修正などとなっている。

関連リンク:REALbasic 3.1b6
カテゴリ:REALbasic