ショートカットでターミナルを起動する方法

Automatorを使用してワークフローを作り、ターミナルを任意のショートカットキーで起動する方法を解説する。

ターミナルを起動するショートカット作成手順

1. Automatorを起動してクイックアクションを選択する

まずアプリケーションフォルダにある「Automator」を起動しよう。

起動したら「新規書類をクリック」

続いて「クイックアクション」(①)を選択して右下の「選択」(②)をクリック。

2. 「アプリケーションを起動」、もしくは「AppleScriptを実行」ワークフローを追加する

ここでショートカットでターミナルを起動させるワークフローを作る方法は二つある。

基本的にはお好みで構わないがAppleScriptを用いる方法はスクリプトの中身を変えればウィンドウの位置やサイズなどを指定できるといったメリットがある。

方法1:「アプリケーションを起動」でターミナルを指定する

アクションの一覧から「アプリケーションを起動」(①)をダブルクリックするか右にドラッグして一覧から「ターミナル.app」を指定し(②)、ウィンドウ上部の「ワークフローが受け取る項目」を「入力なし」(③)に指定する。

方法2:AppleScriptでターミナルを起動する

アクションの一覧から「AppleScriptを実行」(①)をダブルクリックするか右にドラッグしてAppleScriptを実行するワークフローを追加する(②)。

続いて「AppleScriptを実行」のパネル内に下記のスクリプトを貼り付ける(元から存在する「on run {input, parameters}」などの文字列は削除して構わない)。

tell application "Terminal"
      if it is running then
        do script ""
      end if
    activate
end tell

上記のようにスクリプトを貼り付ければOKだ

なお、上記スクリプト内でSystem Eventsに直接Keystrokeコマンドでターミナルへのショートカットを指定する方法もあるが、System Events関連のアクセス権限エラーやバグを回避するため上記スクリプトではSystem Eventsは用いない。

System EventsやFinderの補助アクセス権限エラー対処法

ターミナルのウィンドウサイズや位置を指定するには代わりに下記スクリプトを貼り付ける。

tell application "Terminal"
	if it is running then
		do script ""
	end if
	set bounds of front window to {300, 30, 1200, 500}
	activate
end tell

300がx座標、30がy座標、1200がwidth、500がheightである。

3. ワークフローを保存する

続いてメニューバーの「ファイル」>「保存」からワークフローを保存しよう。

名前は自分が分かりやすい好きな名前を付けよう(画像ではTerminal)。

4. キーボードのショートカット設定からターミナルにショートカットを割り当てる

続いてシステム環境設定の「キーボード」の項目を開いて「ショートカット」のタブに移動しよう。

「ショートカット」のタブを開いたら左パネルから「サービス」(①)を選び、右パネルから最下部に移動すると先ほど作成したワークフロー(②)が表示されているはずだ。

あとはこのワークフローに好きなショートカット(他のアプリケーションと被らないショートカット)を割り当てよう。

ショートカットを割り当てるには「なし」となっている部分をクリックして「ショートカットを追加」ボタンを押し、割り当てたい任意のキーを押す。

ここではOption+Command+Xに指定している。

5. ショートカットを実行して正常にターミナルが起動すれば完了

早速割り当てたショートカットキーを実行してみよう。

なお、初回はショートカット実行時にアクティブな状態のアプリケーションから上記画像のようなアクセス許可ウィンドウが表示されることがあるが「OK」をクリックしよう。

上記のようにショートカットキーを実行してターミナルが起動したら成功だ。

また、AppleScriptでウィンドウサイズと位置を指定した場合はそのサイズと位置でターミナルが開く。

6. ショートカットを削除する場合

今回作成したショートカットを削除するには下記のパス(Path)に存在するワークフローを削除しよう。

~/Library/Services

もしくはターミナルで下記コマンドを実行(Terminalの部分は適宜置き換えよう)。

sudo rm ~/Library/Services Terminal.workflow

ただ、サービス関連のワークフローは削除しなくても単純にショートカットの指定を外すだけでいいため、たとえ今回作ったショートカットを使わなくなっても念のため保存しておいた方がいいだろう。

まとめ

ターミナルへのショートカットを作っておくとmacOSのGUIがおかしくなった場合などにターミナルから即座に「sudo shutdown -r now」などのコマンドで再起動が可能な他、任意のアプリケーションもKillコマンドで強制終了できるため、特にマウス・トラックパッド操作不能時などにとても有効だ。