Macintosh Developer Online (MDOnline)


2000年9月26日発行号 - Mac OS Xのフォルダ階層



Mac OS X Public BetaのADC会員向けの発送荷物が、月曜日に届いていました。メーリングリストなどでも到着の声が上がっているので、昨日と今日でおおむねADCの方々には届いているかと思います。すでに、一般ユーザ版は届いているので、デベロッパーツールを早速インストールして、コンパイルとかしてみました。というここから先はまだ機密事項になる模様なので、残念ながら詳細はお伝えできません。ですが、Inside Mac OS X: System OverviewでのBundleのところの意味とか、実際にコンパイル結果を見ると、なるほどなと思います。これは個人ごとに事情は違うとは思いますが、私自身が実際に開発しているものは、JavaとAppleScriptだったので、DP4ではいろいろな理由で全然開発にとりかかれませんでした。ですが、Public Betaでは十分に開発作業ができそうです。開発に興味がある人は、ぜひともADC会員になって、開発ツールを入手しましょう。これが$400というのは決して高いものとは思えません。
率直な感想ですが、私がやっているような開発だと、今後CodeWarriorを使う必要があるのなか…と思ってしまいます。CodeWarriorのメリットは、PowerPlantというCarbonベースのオブジェクト指向のフレームワークがあることです。すでに、PowerPlantベースのソースがある人はCodeWarriorを使う意義はあるでしょう。JavaではRADツールという魅力もありますが、現状ではちょっとどうかなと思ってしまいます。RADツールで作った資産がある人はほとんどいないでしょう。むしろ、JBuilderが出てくれば、Java開発ツールとしのCodeWarriorの魅力はかなり減少しそうです。Symantecの撤退などで事実上、Mac OSでの開発ツールとしては独占状態だったCodeWarriorですが、Appleのツールの出来の良さを見る限りは、そのポジションも危ういのではないかと思ってしまいますね。
(新居雅行 msyk@mdonline.jp


Mac OS Xのデベロッパ向けリリースノートがPublic Betaに応じ更新

Mac OS XのDeveloper Release NotesがPublic Beta対応の内容になっている。かなりたくさんの文書があるが、いくつかの内容については、別の記事でもお届けしよう。このページに一覧されているのは、開発者向けにリリースされた文書なので、Mac OS Xの使い勝手というよりも、ソフトウエア開発者向けの情報が中心になっている。しかしながら、動作する機能、しない機能などの詳細があるため、詳しくMac OS X Public Betaを知りたい人は目を通す価値はある文書だろう。

関連リンク:Developer Release Notes
カテゴリ:アップルからの開発資料, Mac OS X


【Mac OS X Public Betaシリーズ】“フォルダ階層”と“ディレクトリ階層”

Mac OS Xもハードディスクを使う点では従来のOSと同様だ。使うというよりハードディスクがなければ使えない。そのハードディスクには、データやソフトウエアなどをファイルという形式で記録することができる。ファイルはフォルダに分類できるが、フォルダの中にフォルダを作成することもできる。かくして、フォルダの構成は木の根から枝別れする様子になぞられることができるわけだ。こうしたフォルダの構造について、Mac OS X Public Betaではどのようになっているのかを見て行くことにしよう。

まず、Mac OS Xでは、標準フォーマット(HFS)、拡張フォーマット(HFS+)、UNIX Filing System(UFS)が使える。CD-ROMではもちろんISO9660も使える。ただ、標準フォーマットについては使わないようにするのが基本だと言えるが、HFS+あるいはUFSのボリュームであれば、起動ボリュームにすることができる。なお、ハードディスクのフォーマットやパーティション作成は「ドライブ設定」ユーティリティでできるが、そこでパーティションごとにフォーマットの選択ができるようになっている。また、Mac OS Xをインストールする時にシステムをインストールするパーティションを、指定したフォーマットで再フォーマットすることができる。

旧来のMac OSでは、フォルダ階層にいたるまでが次のような階層構造になっていた。つまり、デスクトップにボリュームがいくつかあり、そのボリュームの中にフォルダやファイルがあるといった構造になっている。デスクトップは、画面のいちばん背景の部分となっていた。

デスクトップ┳ボリューム1┳システムフォルダ …
      ┃      ┣Apple エクストラ …
      ┃      ┣アプリケーション …
      ┃      ┗書類 …
      ┗ボリューム2┳フォルダ1
             ┗フォルダ2

Mac OS Xではデスクトップは「Desktop」というアプリケーションとなったため、用語の混乱が出てしまうが、トップ階層は、Computerである。そして、HFS+を起動ボリュームとした場合、Finderでファイルの階層を見た場合には、次のような階層構造になっている。(等幅フォントで参照してもらいたい)

Computer + Volume1 + Applications
| + Library
| + System
| + Users ...
+ Volume2 + Folder1
| + Folder2
+ Network

ここでは、Volume1が起動ボリュームとしている。Volume2はたとえばHFS+の別のパーティションなどのボリュームだ。それ以下のフォルダ構成も興味あるところであるが、それはまた別の機会に説明しよう。ここでは、従来のMac OSとくらべると、デスクトップがComputerになっただけと言ってもよい。その意味では、従来との互換性がある。

一方、UFSボリュームを起動ボリュームとした場合、Finderから見れば、次のような階層構造となる。

Computer + / + Applications
| + Library
| + System
| + Users ...
+ Volume2 + Folder1
| + Folder2
+ Network

つまり、起動ボリュームが、ボリューム名ではなく「/」なのである。UNIXに詳しい人はこちらが本来の階層ではないかと思うかも知れない。つまり、/(ルートを意味する)が基準になるというところだ。しかしながら、Finderから見る限りにおいてはComputerの下にボリュームが一覧され、そのボリュームの先にそれぞれフォルダの階層があるという点では変わりない。(ちなみに、HFS+で起動した時、UFSのボリュームは「Mac OS X」などの名前で参照できる。UFSで起動したとき、自分自身の名前がフォルダ階層に登場しないのである。)

ところが、HFS+で起動しても、UFSで起動しても、どちらの場合でもTerminal(コマンド入力での操作を行う場合に使う)での処理では、次のような階層であると認識しなければならない。

/ + Applications
+ Library
+ System
+ Users ...
+ Volume2 + Folder1
+ Folder2

つまり、ルート(/)がまずトップに存在するのだが、ルートの直下には、起動したボリュームにあるフォルダ(図ではApplications〜Users)と並列に、その他のボリューム(Volume2)があるという具合だ。これもUNIXをよく御存じの方には驚くに値しないことだろう。起動ボリューム以外のボリュームが、ルートに自動的にマウントされるだけだと言えばそれだけだ。

つまりフォルダの階層構造については上記の2つの様相がMac OS Xの中であるわけであり、場合によっては区別が必要になることも十分に考えられる。ここで用語を定義したい。Finderから見える階層を「フォルダ階層」と呼び、Terminalレベルでの階層を「ディレクトリ階層」と呼ぶことにする。Finderでは「フォルダ」だが、Terminalを使う上では「ディレクトリ」と呼ぶのがふさわしいと思う。筆者独自の定義であるが、受け入れがたいものではないと思う。
Finderレベルでは、Mac OSで永年使ってきたテイストもあるだろうし、ボリュームとフォルダを区別するという意味で、Computerの直下はボリュームが並び、それ以下にフォルダが並ぶという方が、利用者インタフェースとしては使いやすいということは言える。しかしながら、Terminalでは、コアOSのDarwinのレベルでのディレクトリ構成がそのまま見えるわけである。その意味では、ディレクトリ構成は生で記憶装置の様子を見せているものであり、フォルダ構成はFinder向けつまりはユーザ向けに再構成したものとなるわけだ。
一般ユーザレベルではこうしたフォルダ階層とディレクトリ階層を区別することはないように済ませられると考えられる。予想ではあるが、CocoaやCarbonのAPIレベルで使う上ではフォルダ階層に基づいたファイルやフォルダの指定になるだろう。とすれば、一般ユーザの目に、基本的にはディレクトリ階層は触れることはないと言える。

…と思ったら、もう見つけてしまった。System PreferencesのNetworkにあるServicesのタブで、WebサーバのApacheを起動することができる。Webサーバで公開するフォルダ(Document Folder)は「/Library/WebServer/Documents」となっている。つまりディレクトリ階層で指定が行われている。ここでダイアログボックスでフォルダを指定することができるのだが、そのダイアログボックスでは、フォルダ階層で示される。選択した結果はディレクトリ階層のフルパスでテキストボックスに設定される。一般ユーザがWeb公開するかどうかという議論はさておき、やはり通常の利用でもフォルダ階層とディレクトリ階層の両方の側面が出て来るということは可能性として高いと言えるだろう。ただし、Document Folderの指定をHFS+のレベルで見ると「Finderと違う」となるわけだが、UFSのボリュームで起動した場合は「Finderの表示と同じ」ということになる点は前のフォルダ階層の模式図で確認してもらいたい。その意味では、UFSで起動した時のフォルダ階層とディレクトリ階層は、起動ボリュームに関しては結果的には同じものになると言える。このあたり、うまくFinderでの階層表示をまとめていると感心してしまうところだ。

もっとも、開発やネットワークなどを含めたシステム管理の上では、ディレクトリ階層を目にし、いろいろな設定で取り扱うという場面がもっと増えると思う。少なくともシステムに深く関わる必要のある人たちにとって、フォルダ階層とディレクトリ階層があり、微妙に違うという点は認識しておく必要のあることだと言えるだろう。

カテゴリ:Mac OS X, Mac OS X Public Betaシリーズ


Mac OS X PBではリムーバブルメディアも拡張フォーマットが安全

Mac OS X Public BetaでのHFS標準フォーマットのボリュームに関する説明がTech Info Libraryに掲載されている。標準フォーマットのものは起動ディスクにはならないものの、リムーバブルメディアで標準フォーマットされたものを利用する場合も出てくる可能性がある。そのとき、標準フォーマットのボリュームへファイルなどのコピーをしたときにアクセス権がないので処理は行われなかったという旨のメッセージが表示される。また、コピーされた場合でも開くことができないとか、エイリアスを作ろうとしてもきちんと作成されないなどの症状が発生する。リムーバブルメディアも基本的には拡張フォーマットで利用するのが良さそうだ。

関連リンク:Mac OS X Public Beta: Working with Mac OS Standard (HFS) Format Volumes
カテゴリ:Knowledge Base(旧TIL), 周辺機器, Mac OS X


Internet Explorerでのファイルのダウンロード結果がFinderですぐに参照できない

Tech Info Libraryに公開された文書によると、Mac OS X Public Betaに付属するWebブラウザのInternet Explorerでファイルをダウンロードした場合、Finderのウインドウにはすぐにはダウンロードしたファイルは登場しない。ダウンロードはそれでも成功している。ファイルを参照するには、Internet Explorerのダウンロードマネージャの画面でアイコンをダブルクリックすれば良い。この問題については、AppleとMicrosoft双方が修正のための取り組みを行っている。

関連リンク:Mac OS X Public Beta: Internet Explorer Downloads Do Not Appear Immediately
カテゴリ:Knowledge Base(旧TIL), ブラウザ


Mac OS XでのX Windowサーバとインターネットサーバツール

Tenon Intersystemsは2つのMac OS X対応のソフトウエアのベータ版をリリースした。1つは、Mac OS Xで稼動するX Windowサーバの「Xtools」で、Mac OS Xのデスクトップと統合した状態でX Windowのサーバも稼動するというものだ。X11R6.4 X Windowをベースにしたもので、他にもポーティング作業が行われているが、Mac OS Xのデスクトップで稼動するという点がXtoolsの大きな特徴になるだろう。正式版は2001年に出荷予定だ。もう1つはMac OS Xをインターネットサーバにする「iTools」だ。WebサーバのApacheの管理ツールやSSL、さらにDNS、FTP、WebMailによるメール機能も含む。TomcatベースのサーバサイドJavaやPHPへの拡張もできるようになっている。いずれも、Developer Preview 4向けにベータ版が公開されていたが、Public Beta版の登場で改めて紹介してみた。

◇Xtools for Mac OS X Beta from Tenon Intersystems
 http://www.tenon.com/products/xtools/pre-release_beta
◇iTools for Mac OS X Beta from Tenon Intersystems
 http://www.tenon.com/products/itools-osx

カテゴリ:サーバー関連, Mac OS X


Power Mac G4 CubeのVGAケーブルについて

Tech Info Libraryに、Power Mac 4 G4 CubeでのVGAモニタなどへの接続方法が記載されている。CubeにVGA-to-VGAケーブルが付属しており、Cubeの底面から短いケーブルでVGAコネクタだけを外側に出すような配線ができる。そこにモニタなどへのVGAケーブルを接続すれば良い。

関連リンク:Power Mac G4 Cube: How to Connect a Projector or Monitor
カテゴリ:Knowledge Base(旧TIL), Power Mac


NetWareサーバにあるファイルをAppleWorks 6で開く時に出るエラー

NetWareサーバに保存されたファイルをAppleWorks 6で開く場合にファイルが壊れているというメッセージがある場合についての説明がTech Info Libraryに公開されている。ProSoftのクライアントソフトウエアを使っている場合にこの症状が出る。ファイルは実際には壊れていない。回避するには、ProSoftを利用せずにAppleTalkでのファイル共有を行うか、ファイルをハードディスクにコピーして開くか、あるいはAppleWorks 5のフォーマットで保存すれば良い。

関連リンク:AppleWorks 6: Opening Files Stored on a NetWare Server
カテゴリ:Knowledge Base(旧TIL), ネットワーク, アプリケーション