Начать терминал в AppleScript


0

На работе я наблюдаю за несколькими пользователями, которые используют MacBook для подключения к нашей корпоративной среде.

У одного из наших поставщиков есть старый сервер, через который пользователи получают доступ ssh. Я создал рабочий процесс Automator, чтобы запустить терминал, настроить его так, как ему нравится (устаревшая цветовая схема и шрифт), и вывести их на приглашение ssh с сервера. Я получаю неожиданное поведение, когда рабочий процесс Automator запускается, он открывает два окна терминала, затем окно, которое я хочу (клиент ssh), а затем еще один обычный вход в систему терминала.

Если sshокно закрыто, Терминал остается открытым, и при следующем запуске рабочего процесса окно не будет отображаться до тех пор, пока пользователь не переключится на Терминал вручную.

Другие особенности, которые я наблюдаю, связаны с тем, что AppleScript порождает два окна терминала, а затем пользователи просто закрывают окно, а не выходят из терминала при выходе. Есть лучший способ сделать это? Можно ли по умолчанию закрыть терминал при нажатии кнопки «Закрыть окно»?

Предостережения : это контролируемая среда. Мне повезло с поддержкой поставщиков, использующей Terminal, они не хотели поддерживать ничего, кроме Linux ssh. Сторонние приложения не являются приемлемыми решениями.


Почему бы не выпускать killall terminalдо появления следующей сессии? см. apple.stackexchange.com/a/223048/5472 для всех убийств :-)
bmike

@bmike, это хорошая идея - мы надеемся, что никто из пользователей больше ничего не сделает в Терминале (HA!)
agentroadkill

Вы можете предупредить их с помощью диалогового окна или просто опубликовать веб-страницу с именами / временем / номерами телефонов пользователей, когда они проверяют лицензии. У меня был хороший успех с этим. Пусть человек, нуждающийся в лицензии, приставает к человеку, который не убрал после своей работы. :-)
bmike

Ответы:


1

Вы можете заставить Terminal становиться передним, добавив строку:

activate application "Terminal"

в ваш яблочный скрипт.

если вы запустите Терминал с:

tell application "Terminal" to open location "ssh://user@example.com"

тогда Терминал не будет открывать дополнительное окно.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.