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

0

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

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

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

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

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

agentroadkill
источник
Почему бы не выпускать 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"

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

Леланд Уоллес
источник