Macintosh Developer Online (MDOnline)


2001年11月15日発行号 - 10.1.1での詳細な変更点



このところは毎週月曜に慶応大学の講義に行っていますが(つまり、MDOnlineの仕事に合わせてもらっているのです)、慶応の教室の中でもワイアレスネットワークが使えるようになっていました。学生にノートパソコンを貸し出して自習などに使えるようになっているのですが、三田キャンパス全棟でAirMacはOKになったそうです。それで、自分で持ち込みのパソコンでもワイアレスLANはOKなんです。ただし、慶応の三田でWindowsパソコンを使うアカウントがないと、実質的には使えません。最初、ネットワークにパスワードもかかっていないぞ!と思ったのですが、うまくいかないのでWebサイトを見ると、なるほどというところです。ワイアレスのセグメントはLinuxでNATをしているようなのですが、そのNATは、単にワイアレスで接続しただけでは通さないようなのです。で、sshである共通アカウントにログインを行って、たぶんそこでスクリプトが動いているのだと思いますけど、三田で使えるアカウントとパスワードを入れると、NATをとおれるようになります。たぶんログインが成功したIPアドレスを見て、NATを通すIPのリストに加えているのじゃないかと思います。そうして、ほぼ自由にインターネットを利用できるという状況になります。だから、慶応大学にPowerBook持ち込んでインターネット接続しようとしても、それだけではダメですから、妙な真似はしないで下さい(笑)。もちろん、Windowsのアカウントは、Windows 2000で管理されていて移動プロファイルになっているものです。そうしたドメイン管理と連動するソフトなんかを使って認証を共通化しているそうですが、大人数のところってシステムはおおがかりですね。もちろん、学校のコンピュータはほぼ全部Windowsマシンですけど、ワイアレスLANの認証の説明では、Windowsだけでなく、Mac OSの場合もきちんと説明されていました。興味のある人は、以下の解説を御覧になれば、どんな様子か分かります。これで、講義中でもメールのやりとりはまったくOKになりましたけど、電源コンセントが教卓周りになかったりするのが、ちょっと面倒なところでもあります。(ちなみに、今年は、文学部の学生にExcelの統計とJavaを教えています。)

 http://www.mita.keio.ac.jp/itc/kankyou/wireless.html
(新居雅行 msyk@mdonline.jp


KBase》Mac OS X 10.1.1の変更点を詳細に記述した文書が公開

Knowledge Baseに、Mac OS X 10.1.1での改良点が詳細に記載された文書が掲載された。文書中には箇条書きで記載されているが、それらの項目についてを以下に同じ順序で要約する。一部については省略しているものもあるため、詳細については原文も当たっていただきたい。
まず、周辺機器関係では、911 Oxfordチップセットを使ったFireWire機器が正しく動作するようになった。iMovie 2で異なるDVカメラの差し換えがうまく動くようになった。FireWire機器間でのファイルのコピーでの問題が発生しなくなった。USBマウスで一時的に動かなくなる点が解消された。スリープ後にUSBマウスやキーボードからの応答がなくなっていた点が解消された。Final Cut Proを開いているときにDVカメラを接続しない状態での安定性の向上が行われた(Final Cut Proって一般ユーザはまだ使っていないはずでは…)。G3デスクトップマシンでのSCSIの安定性を高めた。USB Q-Driveを取り外したときのカーネルパニックが発生しないようにした。その他の一般的なUSBデバイスの安定性を高めた。
iTunesとCD作成に関する変更点も箇条書きでたくさん記載されているが、これは細かな機種ごとの動作に対する安定性の向上などとなっている。MP3ファイルのエイリアスの処理を改良し、ロングファイル名のファイルを書き込んだCD-ROMをWIndowsでも利用できるようにした。F12キーで「Prepare CD」を出なくした。その他、CD利用やイジェクト関連などに改良が加えられている。iTunesのビジュアルエフェクトをミラーリング中にフルスクリーン表示したときの機能を向上させたことも記載されている。
ネットワーク関連でも多くの変更点がある。iDiskはWebDAV digest認証に対応しておりWindows XPからも利用できる。また、iDiskでは多数のファイルやフォルダがある場合の性能も向上した。オーバーサイズのEthernetでのパケット消失の問題を解決したので、特定のプロバイダでのDHCPによるアドレス取得が正しく行われるようになった。2GBを超えるファイルをMac OS X Serverにコピーしようとしたときに出てくるエラーは解消された。Classicで共有フォルダに接続しようとしたときにある場合に発生していたカーネルパニックが修正された。PPPoE MTUの設定が変更され接続性が向上した。エンコードされていないURLでの接続でエラーが出る場合があったのを解消し、ファイルを指定するURLでも許可するようにした。FTP利用でのエラーのいくつかを解消した。ある状況で、AppleShareサーバが勝手に接続を解除してしまう問題を解消した。
印刷やPDF関連の改良点は、表示機能の改良、得知恵のプリンタでの問題の解消、EPSの印刷機能の拡張、Wordでの印刷時間の短縮、PDF中に%を含むファイル名情報を保存できるようにしたこと、PPDファイル選択の処理の工場、日本語文字列が含むAppleWorks文書の印刷の問題を解消したことが記載されている。
Finder関連といては次の通りだ。まず、ある機種で、ネットワークによる時刻合わせのためのサーバを使わないとシステムクロックが正しく動作しなかったのを解消した。アイコンの整理でデスクトップ上で重なりあってしまう点を解消した。複数のディスプレイがある場合の並べ替えのパフォーマンスを向上した。複数のディスプレイを使っている場合でDockの位置を左右に配置したとき優先されるディスプレイの側にしか表示しないようにした。Gigabit EthernetタイプのPowerBook G4でビデオミラーリングが正しくできるようにした。PowerBookのある機種でスリープ時のバッテリー消費を押さえるようにした。Finderのカーネルパニックが起こる問題を解決した。
Mailアプリケーションでの改良点は、まず、POPから同じメッセージを受け取ってしまう問題を解消した。日本語の文字列を含むメールを送信するときの問題を解消した(具体的にはかかれていない)。HTMLメールでスクロールバーが出ない場合があったのを解消した。IMAP関連の改良や、メッセージのオープンでの改良、日本語を含むメッセージのインポートの改良、パスワードセキュリティの改良が行なわれた。SMTPで送信できないときの動作が改良され、何度も送信されることはなくなった。スクリーンセーバ動作時の動作を改良した。POPサーバからの大量のメールを受信する場合の動作や、読み込み時に意図しない結果になる点を改良した。HTMLメッセージを開いたときにカーネルパニックになる場合があったのを解消した。
アプリケーション関連の変更としては、まずはMicrosoft Office v.Xとの互換性を高めた。Image CaptureではCanon製カメラのサポートを追加した。AppleWorksでのウインドウの表示位置の問題を解消した(Dockが左右にある場合にウインドウのサイズがおかしくなる点が解消されている)。AppleWorkでのマジックワンドツールの動作を正しくした。さらにAppleWorksでの日本語入力の性能を向上させた。iTunesなどで変換ウインドウを開いての日本語入力の性能を向上させた。ファイルメーカーのファイルがインストール直後にうまく開けなかった問題を解消した。パスワード認証のダイアログボックスを閉じた後の動作を改良した。DVDプレイヤに関する改良なども行なわれている。

関連リンク:Mac OS X Update 10.1.1: Enhancement and Installation Information
カテゴリ:Knowledge Base(旧TIL), Mac OS X


Browsing Mac OS X》Mac OS XマシンにEthernetネットワークカードを追加する(1)

通常のクライアントはEthernetなりAirMacが1つ稼働していれば十分である。一方、ルータをくみたいとか、ブロードバンドISPに接続するためのNAT処理をパソコンにさせたいとなると、もちろん1つのEthernetポートでの運用も可能だが、できればEthernetのポートが2つ以上が欲しいところだ。もっとも、最近はブロードバンドルータという製品が1万円前半から売っているから、そうした単独の機材を使った方がよっぽど楽だということもあるのかもしれないが、たとえば、1台のパソコンで、サーバ件NAT処理マシンにしたいということもあるかもしれない。もちろん、大きな規模のネットワークだといくつかの回線を使ったりとかいった割り振り作業のために、ネットワークカードを複数使うということになるかもしれない。
いずれにしても、こうしたネットワークカードを追加すると言った作業は、総合的に見れば、Windowsマシン…というか、PCでLinuxとかする方がある意味では楽ができる。ネットワークカードのドライバは最近ではLinuxでも豊富に利用できるようになっているからだ。一方でOSの設定は苦労するとは言え、PCIカードタイプだと普通はインストーラが自動的に設定をしてくれる。後から追加するとハマるってこともあるかもしれないが、計画的にやればけっこう楽にネットワークの設定もできるくらいになっている。
一方、Mac OS 9、そしてMac OS Xのいずれも、追加のネットワークカードとなると制約が大きかった。いずれのOSも基本的にはネットワークカードに対応したドライバソフトがシステムとは別に必要になる。すでに、相当以前から、Macintosh本体にはEthernet端子は存在していたため、Mac OS時代から、標準のEthernetポート用のドライバはシステム組み込みである。だから、わざわざOSにドライバは組み込まなくても通常はネットワーク利用ができるといった利便性にはつながっている。一方の追加のEthernetカードは、PCIスロット時代になってからはサードパーティ製品しかないわけで、それらのドライバはシステムには組み込まれていない。(ただし、Mac OS XにはDEC社のカードのドライバは付属しているが比較的古いカードのようだ。)2年ほど前でも、ちょっと高いとは思ったけど、Mac OS対応のドライバが付属した10BASE-Tのカードを1万円近くで買ったという記憶もある。当時でも、2000円も出せばPC向けの100BASE-Tカードはあった。Mac OS 9向けでもこうした制約があるのに、Mac OS Xではなおさらであった。もっとも、ディアイティが扱っているFallaron社製品のように、Mac OS Xの標準ドライバで利用できるというものもあるものの、たとえば過去に発売されたMac OS向けのEthernetカードはもちろん、そうではない汎用品のEthernetカードだと、Mac OS X向けのドライバがないならば、Mac OS Xでは使い様がないということになる。

◇ディアイティ製品のMac OS X 10.0、Mac OS X Server 10.0対応状況のご案内
 http://www.dit.co.jp/company/news/010323_2.html

ではあきらめるかと言えば、やはりドライバが公開されていないかを探すしかない。ディアイティの製品だとそのままOKだから、とにかく試してみればいいだろう。しかし、そうでないのなら、とにかくドライバを捜しまわるしかない。ただ、ネットワークカードの場合、そのカード自体のメーカというよりも、カードで使われている主要部品(「チップ」と呼ばれる)のメーカ次第ということになる。秋葉原などで「ノーブランド品」的に売られているというものでも、メーカ品でもチップが同じなら、同じドライバが使えるという場合が多々ある。ノーブランド品(あるいはそれに近いもの)は、フロッピーなんかが入っていても、チップメーカが作ったものがほとんどそのままということもある。従って、カードのメーカを当たるだけでなく、なんというチップが使われているのかを調べて、そのチップのメーカのホームページなども探るというのがポイントになる。
そこで、一時期によく売られていた安いEthernetカードとなると、Realtek社とかVIA社のチップが使われていた。もちろん、カードのメーカは全然違うのだが、基盤むき出しのカードだからどこのチップなのかはすぐに分かる。Realtek社は、100BASE-TX対応のチップ向けMac OS X対応ドライバが比較的早くから公開していたのである。たまたま、RTL8139Bというチップを使ったカードを筆者は持っていた(実はLinux機で使っていた)ので、それをMac OS Xのマシンに実際に入れてみた。このカード、実はマニュアルをちゃんと残してあるのだけど、マニュアルを見ても、カードを見ても、メーカ名すら書いていない。MADE IN TAIWANということしか分からない。たぶん、2年くらい前にDOS/Vパラダイスのワゴンで買ったやつだと思うけど、そんな記憶も怪しいくらいだ。それでも、動けばいいわけだ。

◇Mac OS Xマシンに装着したRealtekのチップを搭載したカード
 

正確には、Mac OS X Server 10.1.1が稼働するBlue & WhiteのPower Macintosh G3に装着した。XもX Serverもネットワークの基本部分は違いはないと思うので、どちらのOSでも同じだろう。以下、「Mac OS X」ということで総称することにする。なお、300MHzのクロックで、メモリは256MB、ハードディスクは6+8GBというところだ。

◇Blue & WhiteのPower Macintosh G3に差し込んだ(ちょっと見づらいが、手前のカードがEthernetカード)
 

Realtek社のドライバは、以下の手順で入手できる。同社のサイトはアドレス一発では示しにくいので、ご了承願いたい。まず、以下のアドレス、つまり、Realtekのトップページに移動する。そして、「Download」のリンクをクリックする。移動したページで、「Communications Network ICs」というリンクをクリックする。すると、製品を選択するポップアップメニューが出てくる。RTL8139Bの場合は、「Fast Ethernet NIC (10/100M)」の行にあるポップアップメニューから「RTL8139(A/B/C/8130)/810X Family」を選択すれば良い。そして「Driver Only」の選択はそのままでGoボタンをクリックする。そうすると、ドライバのダウンロードページに移動する。

◇Realtek社
 http://www.realtek.com.tw/

Mac OS XはUNIXのカテゴリではなくOthersになっているが、Mac OS X 10.0.4向けと、10.1向けのβ版が公開されている。今回は10.1向けのβ版を利用してみた。
ダウンロードするファイルは、rtsmacx(110).zipという名前であるが、普通にIneternet Explorerでダウンロードすると解凍されて、「rtsmacx(110)」フォルダができているはずだ。その中にあるEXEフォルダの中に、さらに「RTL8139.TAR」というアーカイブファイルがある。StuffIt Expanderがあればtarファイルも解凍できるので、そのファイルをダブルクリックするとそれだけで解凍は行われるだろう。すると、「rtl8139.pkg」というファイル(実際にはフォルダだけど)が出てくる。これをダブルクリックしたら、システムのインストーラが起動してインストールが始まる。

◇解凍をしてインストーラをダブルクリックすれば良い。
 

あとはお馴染みのシステム変更を伴うインストールだ。図は示さないでおく。最初に管理者パスワードでロックを解除し、その後に注意書きや使用許諾などがあって、インストール先を指定し、インストールを行う。インストールはすぐ終わる。注意書きに操作方法が書いてあるが、あまりそこに書かれていることは気にすることはないだろう。使用許諾はまったく中身がないが、「同意する」をクリックしなければならない。
インストール後は、再起動の必要があるが、筆者の作業手順としては再起動後ログインパネルが出てきたところで、いったんシステムを終了して電源を落とし、本体を開いてネットワークカードを取り付けた(だから記事の説明とは順序が違う)。Mac OS X Serverは既定値ではログインパネルでのシステム終了ができないようになっているが、システム環境設定の「ログイン」でその設定は変更できる。

カテゴリ:ネットワーク管理, ネットワーク, Browsing Mac OS X


Browsing Mac OS X》Mac OS XマシンにEthernetネットワークカードを追加する(2)

再起動するときに、Command+Vを押した状態にしておけば、しばらくすると黒い画面になって、起動メッセージが出てくる。見ていると、Realtekのドライバから出したと思しきメッセージがけっこうたくさん出てくる。β版と言っているくらいだから、デバッグのためのメッセージが残っているのかもしれない。
そして、システムを起動したら、システム環境設定を開き「ネットワーク」のパネルを開く。すると、次のように、新しいネットワークポートが利用可能になったことを自動的に認識してくれる。まさに、プラグ&プレイというところだが、ここでは単にOKボタンをクリックすれば良い。

◇新しいEthernetカードを認識している
 

そうすると、現在の「場所」設定に、新しいEthernetカードのポートが自動的に追加される。「PCI Ethernetスロット…」というのがそれだ。

◇新しいEthernetカードを使うネットワークポートが自動的に追加された
 

「設定」のポップアップメニューで新しいネットワークポートを選択し、あとは必要な設定を行えばよい。ここでは、NATの内部ネットワーク側のポートにするつもりなので、手入力でプライベートアドレスを割り当ててみた。そして、「今すぐ適用」ボタンをクリックすると、設定は完了だ。もちろん、ここでの再起動の必要はまったくない。

◇新しいネットワークポートの設定を行う
 

これでEthernetカードのポートが使えるようになった。しばらく使ってみたけどβ版だけどとりあえずは問題はないようだ。ちなみに、ここで基本的にネットワークポートが稼働しているかどうかは上記の設定だと、Terminalで「ping 192.168.1.1」で応答があるかを見れば良い。自分のマシンだからあって当たり前ということではなく、きちんとTCP/IPの処理ができない状態だと応答はないはずである。
ネットワークの設定を、Terminalで「ifconfig -a」コマンドで見てみた。以下の通りで、en0が内蔵のEthernetのポートとなっている。そしてen1がRealtekのチップが搭載されたカードの方である。どちらもstatusがactiveだから稼働していることが確認できたということだ。

◇ネットワークの設定を見てみた
 

こうした設定の青白マックを使って、NATもOKであった。NATを行う方法は、MDOnlineの2001/8/28号でのBrowsing Mac OS Xのコーナで『Mac OS XでNAT処理を行う』としてお届けした方法でOKだ(一部に使えないテクニックもあるが…)。なお、Ethernetを2ポートでNATを行う場合、ifconfig ... aliasで既存のポートに複数のIPアドレスを割り当てる必要はない。ここでは、en0がプロバイダ接続のための設定にしておき、モデムに直付けする。そして、en1からはハブを通して内部のネットワークに接続をする。マシンが起動後、以下のコマンドをrootになって入力すれば、それでNAT処理は稼働する。

natd -interface en0
ipfw -f flush
ipfw add divert natd all from any to any via en0
ipfw add allow ip from any to any

それで、Mac OS X Serverを使っているので、これで、内部ネットワーク側に心置きなくDHCPサービスが使えるようになった。Mac OS X ServerのDHCP機能は、どのネットワークポートに対してサービスするかを選択するようになっているのだが、ifconfig ... aliasコマンドで確保したIPのポートは選択肢に出てこないのである。だが、2ポートで動かす場合にはそれぞれのポートが出てくるので選択すればいいということになる。
いずれにしても、EthernetカードのMac OS X向けドライバがあるかどうかで、使えるかどうかは簡単に決まってしまう。ドライバがあれば、ここに示したように、設定時に自動的に認識さえるようになるので、後は設定をきちんと行えばいいということである。

カテゴリ:ネットワーク管理, ネットワーク, Browsing Mac OS X


JBuilder 6の日本語版が2001年12月に発売、Mac OS X版は含まれず

Java開発ツールの「JBuilder 6」がアナウンスされた。日本では2001年12月21日から発売される予定である。以前のバージョンからの変更点としては、各種Beanをビジュアルに設計できるEJBデザイナなどのJava2 EE関連機能の強化、アプリケーションサーバサポートの強化、ソースコードのUML表示、リファクタリング、ユニットテストなどとなっており、規模の大きなソフトウエア開発向けの機能強化が主なところだ。ただし、以前のバージョンのJBuilder 5から半年弱というスピードアップデートとなっている。
なお、米国のBorlandのサイトでは、JBuilder 6の対応OSとして、Mac OS X 10.1が記載されているが、JBuilderのサポートするアプリケーションサーバ自体がMac OS Xでの動作は保証されていないので、機能的に制限はあるとしている。Mac OS X向けのJBuilder 5としてプレビュー版が公開されていたが、Ver.6を待っての正式版として発売する模様だ。ところが、日本のボーランドのサイトでは、JBuilder 6の日本語版としては、Mac OS Xが対応プラットフォームとしては掲載されていない。どうやら、日本語版としてはJBuilderのMac OS X版はリリースされないようである。

◇Borland: JBuilder
 http://www.borland.com/jbuilder/

◇Borland Japan: JBuilder 6
 http://www.borland.co.jp/jbuilder/

カテゴリ:開発ツールその他


KBase》Mac OS X 10.0.1ではFireWire機器間でのファイルコピーの問題も解消

以前に記事で紹介したKnowledge Baseの文書であるが、Mac OS X 10.1では、FireWireハードディスク間でファイルのコピーをしたときにシステムが応答しなくなる問題が指摘されていた。しかしながら、その文書は書き換えられており、Mac OS X 10.1.1にアップデートするようにとの指示が最初に記載されている。Mac OS X 10.1.1では、FireWire関連のシステム機能に手が加えられたことが十分に想定できることであるが、10.1での不具合は、単にFireWire機器のドライバの問題であったというわけではなく、Mac OS X側のシステムに問題があったということも言えるのではないだろうか。

関連リンク:Mac OS X 10.1: Stops Responding During File Transfer Between FireWire Devices
カテゴリ:Knowledge Base(旧TIL), 周辺機器


ワイアードムービーでのパラメータの取り出し方法について

ユーザの操作を受け付けるムービーであるWiredムービーにおいて、パラメータの取得をどのようにすればいいのかという質問に対する回答がTechnical Q&Aに掲載された。ムービーコントローラのフィルタ関数で、アクションに割り込むようにしておき、その関数で、QuickTimeのイベントの取得を行う。そして、パラーメータの取り出しの処理を行えば良い。具体的なサンプルプログラムが掲載されている。

関連リンク:QA1095: Intercepting QuickTime Wired Actions
カテゴリ:Knowledge Base(旧TIL), QuickTime


ムービーコントローラの処理に割り込みをかける方法

Technical Q&Aに、QuickTimeのムービーコントローラの処理に割り込む方法についての解説が掲載されている。コントローラのアクションに対するフィルタを登録することができ、そのフィルタはアクションがコントローラに伝わる前に呼び出される。そこで独自にプログラムを組むことができるということだ。簡単ながらプログラムの例も掲載されている。

関連リンク:QA1094: Intercepting movie controller actions
カテゴリ:Knowledge Base(旧TIL), QuickTime