60

Почему "выход" не закрывает окно Terminal.app в Mac OS X?

$ exit
logout

[Process completed]

Есть ли способ закрыть окно, не используя мышь?

6 ответов6

80

Окно, отображаемое Terminal.app, является лишь интерфейсом для процесса, который вы выбираете для запуска внутри него - в вашем случае, для оболочки Unix. Когда вы выходите из оболочки, Terminal.app по умолчанию не закрывает окно, поэтому у вас есть возможность проверить вывод любой команды, которую вы выполнили, после ее завершения.

Вы можете изменить свои настройки здесь

Настройки терминала -> Настройки -> Оболочка:

либо

  1. всегда закрывайте окно, каким бы ни был статус выхода оболочки
  2. закройте окно, если оболочка закрылась
  3. держать окно открытым (по умолчанию)

Кроме того, вы можете (почти) всегда закрывать окна в OSX с помощью Cmd-W, поэтому вам не нужна мышь, даже если она не закрывается автоматически.

Еще один совет: мне нравится нажимать Ctrl-D вместо ввода. Два ключа против пяти.

18

Command + Q -> закрывает приложение / процесс.

Command + W -> закрывает окно / экземпляр

9

Да, есть. Например, вы можете использовать AppleScript для достижения этой цели:

osascript -e 'tell application "Terminal" to close first window'

Первое окно всегда является текущим активным окном. Это тот, который вы хотите закрыть.

Перед закрытием окна Терминал может спросить вас, действительно ли вы хотите закрыть окно. Это зависит от ваших настроек. Возможно, вы решили «закрыть окно, только если оболочка завершена корректно или другие процессы не выполняются отдельно от…». (Это может быть настройка по умолчанию.) В этом случае добавление & exit в команду закрывает окно немедленно и без запроса.

osascript -e 'tell application "Terminal" to close first window' & exit
1

Я также предлагаю против предложения killall. Как предложено, измените настройки в ваших предпочтениях, чтобы закрыть окно, если выход из оболочки был успешным. Если вы действительно ленивы (как и я), откройте свой профиль Bash и добавьте псевдоним. У меня есть мой набор, поэтому все, что мне нужно сделать, это набрать 'q'.

0

На самом деле, для этого требования вы должны установить некоторые настройки для вашего терминала. следуйте приведенным ниже инструкциям, и вы закроете свой терминал просто с помощью команды exit .

Когда терминал активен, нажмите +, чтобы открыть окно настроек. тогда вы увидите ниже экран:

Затем нажмите вкладку оболочки, и вы увидите экран ниже:

Теперь выберите Close if the shell exited cleanly для параметра Когда оболочка выходит.

Ваш терминал готов к выходу только с помощью команды exit .

-2

Если вы хотите завершить само приложение из командной строки:

killall Terminal

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .