x-terminal-emulator
не существует в OS X. Он будет полагаться на альтернативную систему, которая просто не работает в OS X. Вместо этого он определяет приложения по умолчанию для определенных типов MIME, схем URI или типов файлов. , Проще говоря, это так.
Самый простой и наиболее удобный способ запуска нового окна Terminal.app из оболочки - запустить следующую команду AppleScript:
osascript -e 'tell app "Terminal" to do script ""'
Если вам дополнительно требуется сосредоточиться на этом новом окне терминала, запустите после этого:
osascript -e 'tell app "Terminal" to activate'
Чтобы запустить скрипт оболочки из этого окна, просто укажите do script
путь к скрипту оболочки:
osascript -e 'tell app "Terminal" to do script "/path/to/script.sh"'
Опять же, если вам требуется фокусировка после этого, запустите вторую команду activate
сверху.
Некоторым пользователям OS X может быть установлен iTerm2 в качестве замены для Terminal.app по умолчанию, который поставляется с OS X. Хотя он не регистрируется как терминал "по умолчанию" - в общем, в OS нет такого понятия как "терминал по умолчанию" X - некоторые пользователи могут использовать его для определенных схем URL. См .: Настройка iTerm2 в качестве терминала по умолчанию (OSX Lion)
В противном случае пользователи не смогут настроить "предпочтение" для выбора iTerm2 вместо Terminal.app. Если вы хотите использовать iTerm2 вместо Terminal.app, вы можете проверить следующий ответ. iTerm2 не принимает do shell script
и требует от вас ввода write text
в его запрос.