マニアが Mac OS X を気に入っている理由の 1 つは、その裏に Unix のパワーが隠されており、その多くがシェル (通常はターミナル プログラムからアクセスするコマンド ライン インターフェイス) からアクセスできることです。
複雑なUnixタスクには、Terminalとそのすべての機能(またはiTermなどのサードパーティ製の代替ソフト)が必要です。しかし、多くの場合、ニーズはもっとシンプルです。いくつかの簡単なコマンドを実行したり、操作を必要としないプログラムを実行したり、Mac OS X Hintsで見つけたヒントを使ってMacの動作を調整したりしたいだけです。こうしたタスクには、Decimus Softwareの DTerm 1.0.1( 20ドル)をテストしています。
簡単に言うと、DTermは、他のプログラムを開かずに、選択したUnixシェルに瞬時にアクセスできるユーティリティです。現在使用しているアプリケーションに関係なく、DTermのキーボードショートカットを押すだけで、最前面のウィンドウの上部に小さなコマンドラインダイアログが表示されます。例えば、FinderでDTermを起動すると、作業中のFinderウィンドウの上部にDTermのインターフェースが表示されます。

DTermのターミナル風インターフェースのユニークで特に便利な点は、シェルの現在の作業ディレクトリ(「アクティブ」フォルダ)が最前面のウィンドウの場所に自動的に設定されることです。例えば、FinderウィンドウからDTermを起動すると、現在の作業ディレクトリはそのフォルダになります。ターミナルのようにフォルダに「切り替える」コマンドを実行する必要はありません。同様に、Word文書のウィンドウからDTermを起動すると、シェルの現在のディレクトリは自動的にそのWord文書を含むフォルダに設定されます。(ディレクトリへのパスはDTerm画面上部に表示されます。)これは、現在の文書またはフォルダに関連するシェルコマンドを実行したい場合に非常に便利な機能です。
ただし、この機能には一つだけ問題があります。デスクトップ上のフォルダで作業していて、ファイルが何も選択されていない場合、DTermを起動してもそのフォルダは現在の作業ディレクトリとして使われず、デスクトップ自体が使われます。このような状況で自動ディレクトリ機能が動作するには、まずフォルダ内のファイルを選択する必要があります。
Leopard のデフォルトである bash シェルを使用する場合、DTerm はシェルのオートコンプリート機能をサポートします。Tab キーを押すだけで、コマンドと引数がオートコンプリートされます。
コマンドを入力した後、ターミナルの場合と同じように、Return キーを押してコマンドを実行します。結果 (コマンドによって生成された出力) はコマンド フィールドの下に表示されます。

結果表示の上部にある小さな左矢印と右矢印(またはそれぞれCommand+左矢印とCommand+右矢印)を使用すると、過去のコマンドとそれぞれの結果を切り替えることができます。Escキー、またはDTermキーボードショートカットをもう一度押すと、DTermは消えます。コマンドまたはプログラムの実行中はDTermを非表示にして、後で確認することもできます。
DTermには、DTermのアクションメニューや便利なキーボードショートカットからアクセスできる機能が数多く用意されており、このユーティリティのコンテキスト依存アプローチを考えると特に便利です。「選択した項目を挿入」は、現在のフォルダまたはドキュメントへのパスをシェルフィールドに貼り付けます。これは特にFinderで便利です。例えば、このzipコマンドを使ってフォルダ内の複数のファイルのアーカイブを作成したい場合、ファイルを選択し、DTermを起動して入力し、「zip archivename 選択した項目を挿入」コマンドを使ってすべてのファイルをコマンドの引数として追加するだけです。

「結果をコピーして閉じる」コマンドは、コマンドの出力をクリップボードにコピーし、DTermを非表示にします。この出力を文書やメールに貼り付けることができます。コマンドを再利用したい場合は、前述のようにそのコマンドとその結果に切り替えてから、「結果からコマンドを取得」コマンドを使用します。(これは、ターミナルで上矢印キーを使って前のコマンドに戻るのと似ています。)
最後に、DTerm ではなくターミナルでコマンドを実行したい場合は、Return キーではなく Command+Return キーを押します。これによりターミナルが起動し、そこでコマンドが実行されます。(関連するヒント: ターミナルにすばやくアクセスするには、DTerm を起動し、コマンドを入力せずに Command+Return キーを押します。)
DTermは使用するまで「隠れた状態」になるように設計されているため、DTermの設定でDockにプログラムが表示されないように設定できます。その場合、DTermへのアクセスはキーボードショートカットのみで行います。このオプションを設定すると、DTermはアプリケーションとして動作しなくなり、メニューも表示されなくなります。そのため、設定ダイアログにアクセスしたり、プログラムを終了したりするには、「アクション」メニューから操作します。しかし、私のテストでは、これらのオプションは元々「アクション」メニューに表示されていませんでした。開発者とこの問題について話し合った後、DTermの設定ファイルを削除してプログラムを再起動したところ、問題は解決しました。
DTerm は便利で有効ですが、シェル インターフェイスとしては制限もあります。まず、DTerm では特定の文字で問題が発生することがあります。たとえば、フォルダーまたはファイルの名前にアンパサンド (&) が含まれていると、DTerm で特定のコマンドを実行すると失敗します。また、DTerm では コマンドを使用してcd別の作業ディレクトリに変更できるにもかかわらず、作業ディレクトリが常に現在のウィンドウに戻されるのが奇妙に思えました。つまり、引数で別のディレクトリを使用する場合は、コマンド自体にそのディレクトリ パスを含める必要があり、最初にそのディレクトリに切り替えることはできません。最後に、DTerm は簡素化されたシェル インターフェイスであるため (開発者は、DTerm とターミナルの関係は OS X の Spotlight メニューと Finder の関係と同じであると説明しています)、現在のところ、対話を必要とするコマンドやプログラム (たとえばsudo、パスワードを要求する ) では機能しません。
Decimus Softwareは、これらの問題の一部を将来のバージョンで修正する予定です。しかし、これらの制限があるにもかかわらず、DTermは単純なコマンドを実行するのに最適で、予想以上に頻繁に使用し、Terminalの使用頻度は大幅に減少しました。
DTerm 1.0.1 には Mac OS X 10.5 以降が必要です。
2 つの問題の説明を明確にし、別の問題に対する解決策を含めるために、2008 年 2 月 20 日午後 2 時 2 分に更新されました。