最近、macOSのターミナルをひさびさに使っていて、「exitしたのにウィンドウが閉じない」現象に遭遇しました。
画面には「プロセスが完了しました」とだけ表示されてウィンドウはそのまま残ってしまいます。
もちろん、これはバグではなく、macOSのターミナルのデフォルト設定による動作です。本記事ではそのデフォルト設定を変更し、exitでウィンドウを閉じる方法を解説します。
目次
なぜexitしてもウィンドウが閉じないのか?
macOSのターミナルは、プロセスが終了してもウィンドウを閉じずに残すという設定がデフォルトになっています。
これは、終了メッセージを見逃さないようにするという、初心者保護の意味合いがあるようです。
また、スクリプトや各種コマンドの実行結果・エラーを確実に確認したいときにも役立ちますが、ターミナル慣れている場合、exitでウィンドウも閉じてほしいという方も多いと思います。
ウィンドウを自動で閉じる設定方法
macOSのターミナルのこの挙動がは、以下の手順で変更できます。
- ターミナル.app を起動
- メニューバーから「ターミナル > 設定...」を選択(または
Command + ,
を押す。) - 左のプロファイル一覧から普段使っているもの(例:Basic)を選択
- 上部タブから「シェル」を選ぶ
- 「シェルの終了時」の項目を「ウィンドウを閉じる」に変更。
これで、次回からは exit した瞬間にウィンドウが閉じるようになります。
この挙動はプロファイルごとに変更できるため、「普段は自動で閉じたいけど、閉じずに残したい場合もある」といったケースでは、プロファイルを複製して設定を切り替えることもできます。