Terminal.app

提供: MacWiki
2010年1月7日 (木) 01:52時点における219.97.40.149 (トーク)による版

移動: 案内検索

Terminal とは?

Terminal.app(ターミナル)は、Mac OS X にバンドルされている、ターミナルエミュレータと呼ばれる種類のアプリケーションプログラムです。 Mac OS X で UNIX 的機能を使用したいときには、このターミナルを利用します。 /Applications/Utilities (アプリケーション/ユーティリティ)フォルダの中にインストールされています。

操作

  • スクロールバッファのキーボードショートカット
    • ページアップ(ダウン):⇞(⇟) , ノートはfn+↑(↓)
    • 上端(下端)までスクロール: ↖(↘) , home(end)、ノートはfn+←(→)
    • 1行上(下)へ:⌘↑(↓)
    • スクロールバッファを消去:⌘K
  • ウィンドウの切り替え
    • ⌘数字で、ウィンドウが切り替えられます。ターミナルインスペクタの「ウィンドウ」で「コマンドキー」にチェックを入れるとウィンドウのタイトル部分に数字が表示されます。
    • ⌘←(→) で、ウィンドウを順番に行き来することができます。

トラブルシューティング

デフォルトのログインシェルを変更したい場合

Mac OS X 10.4 の NetInfo マネージャでデフォルトのログインシェルを変更 (/usr/local/bin/tcsh にインストールした tcsh-6.14) したところ、 「このアプリケーションの実行が認証されていません。管理者が不正なシェル値を設定しています。」 という警告が表示され、ターミナルが起動できなくなりました。

これはターミナルが /etc/shells に書かれた設定を読み込み、そこに書かれたシェルのみを起動するようになったためです。

このようなエラーが出た場合、デフォルトのログインシェルを /bin/bash なり /bin/tcsh に戻した上で、ターミナルを起動し,pico /etc/shells として

/usr/local/bin/tcsh

の一行を追加し、再びデフォルトのログインシェルを /usr/local/bin/tcsh にすることで、ログインシェルを変更した状態でターミナルを起動できるようになります。 一般に、10.4 において、ログインシェルを自分でビルドした hoge (/usr/local/bin にインストールしてあるものとする) に変更する場合、/etc/shells に

/usr/local/bin/hoge

と書いておく必要があります。

特定の文字を扱う際に画面が乱れる

Mac OS X 10.4 までの Terminal.app では、文字エンコードを UTF-8 に設定している場合、特定の記号類を用いた際に画面の表示が乱れることがあるようです。

この問題が気になる場合には、Mac OS X 10.5 にアップグレードするか、uxterm や rxvt-unicode (urxvt) など、より厳密な動作の期待できる他のターミナルソフトの利用をお奨めします。 uxterm は Apple の X11 に標準で付いています。また、rxvt-unicode は MacPorts や Fink で導入できます。

新規ウィンドウを開く際の自動実行コマンド

~/Library/Preferences/com.apple.Terminal.plist の内部の "ExecutionString" 欄に設定されたコマンドは,Terminalの新規ウィンドウを開く際に自動実行されます.

AppleScript

カレントディレクトリをFinderで開く

tell application "Terminal"
	activate
	if not (exists front window) then return
	do script "open ." in front window
end tell
tell application "Terminal"
	activate
	if not (exists front window) then return
	do script "pwd" in front window
	set theContents to contents in front window
	set strList to paragraphs of theContents
	set idxMax to length of strList
	repeat with idx from idxMax to 1 by -1
		if (item idx of strList) is not "" then
			set idxPwd to idx - 1
			exit repeat
		end if
	end repeat
	set currDir to item idxPwd of strList
	set currDir to currDir as Unicode text
	do script ("open " & currDir) in front window
end tell

Finderのフォルダーをターミナルで開く

Finder上で選択したフォルダー(のディレクトリ)をターミナルで開く,もしくはディレクトリ移動等するための各種方法.

alias コマンドエイリアス名='source このシェルスクリプトパス'
#!/bin/sh
cd $(
echo "
tell application \"Finder\"
 set theItem to selection
 if number of theItem is 0 then
   set theItem to (target of window 1)
 else
   set theItem to item 1 of theItem
 end if
 if (class of theItem) is not folder then
   set theItem to container of theItem
 end if
end tell
get POSIX path of (theItem as string)
" |osascript - 
)
pwd

ファイルのディレクトリをターミナルで開く

  • DTerm: 一行型専用ターミナルが開かれる(キーボードショートカットで).Finder最上面表示のディレクトリ,もしくはwindow title bar機能付きアプリケーションで開いているファイルが対象. http://www.decimus.net/dterm.php


Wiki内の関連ページ