Как я запускаю терминальные команды в несколько вкладок?

Мы используем тонкие клиенты для наших трудовых ресурсов центра обработки вызовов несколько лет назад. Цена их была намного меньше, чем фактические ПК и когда каждый повредился, мы просто заменили ее новой и отправили поврежденный один производителю. Они действительно сияют, когда у Вас есть ситуация, где конечные пользователи не должны делать многого в своей системе, как выполненный веб-приложение центра обработки вызовов и пара других небольших приложений. Эти системы могут действительно сократить время простоя, которое имеет человек, когда система отказывает, потому что вместо того, чтобы пытаться зафиксировать старую систему, и новая заменяет ее, который является точно так же, как она.

Места, где существует пара приблизительно сотни идентичных компьютеров, - то, где она может действительно окупиться. Вам не нужно много techs для восстановления систем, и можно быстро заменить поврежденную машину, которая происходит с некоторой частотой. Также помогает много, куда люди часто перемещаются. Никакая потребность переместить машину, потому что все машины подобны и все данные, которые должны были бы быть сохранены, находится на центральном сервере.

3
задан 15 May 2018 в 23:17
6 ответов

Одна опция состоит в том, чтобы использовать Системные события для отправки нажатия клавиши, необходимого для создания новой вкладки, но ограничение - то, что Вспомогательные Устройства в Универсальном Доступе должны быть включены и добавление, что задержка вида может быть необходимой.

tell application "System Events" to tell process "Terminal" to keystroke "t" using command down

Насколько я могу различить из Терминального словаря сценария - можно только получить информацию от вкладок, но не создать новые, как Вы могли с окнами (например, Выполнение действительно пишут сценарий "ясный"

1
ответ дан 3 December 2019 в 06:53

Я не уверен, как получить вкладки, но это получит Вас несколько окон:

set commands to {"ls", "pwd", "cd /tmp; ls"}

repeat with com in commands
    tell application "Terminal"
        activate
        do script with command com
    end tell
end repeat

Еще

0
ответ дан 3 December 2019 в 06:53

Похож на Вас, может использовать сценарии GUI. (Я ожидал бы мочь сделать новые вкладки, не обращаясь к сценариям GUI, так как словарь Терминала знает вкладки как элементы окон. По-видимому, поврежденный, все же.) Как с ответом Chealion, должен быть включен доступ для вспомогательных устройств, но Apple предоставляет сценарий, который позволяет Вам проверять, что это идет здесь.

http://www.apple.com/applescript/uiscripting/

Matthew Lambie обеспечивает пример использования сценариев GUI AppleScript для создания вкладок в Terminal.app здесь:

http://lambie.org/2007/11/03/tabs-in-terminal-using-applescript-on-leopard/

Этот ответ был бы лучше как комментарий к ответу Chealion, но у меня нет представителя для создания комментариев все же.

1
ответ дан 3 December 2019 в 06:53

iTerm имеет хорошую поддержку сценариев. AFP 548 имеет пример, который открывает несколько ssh сессий на различных вкладках. [Я подозреваю, что это будет легче сделать и более надежный, чем сценарии GUI.]

1
ответ дан 3 December 2019 в 06:53

Я знаю, что Вы попросили Терминал, но действительно - необходимо использовать iTerm :-)

Это из сценария, записанного коллегой для iTerm:

  #!/bin/sh
  osascript <<-eof
    tell application "iTerm"
        set myterm to (make new terminal)
        tell myterm
            launch session "Default session"
            tell the last session
                set name to "Server"
                write text "cd \"$PROJECT_DIR\""
                write text "script/server"
            end tell

            launch session "Default session"
            tell the last session
                set name to "Console"
                write text "cd \"$PROJECT_DIR\""
                write text "script/console"
            end tell

        end tell
    end tell
eof

Это запускает новое iTerm-окно с несколькими вкладками и делает некоторые маленькие команды в них (для разработки направляющих).

0
ответ дан 3 December 2019 в 06:53

Я создал способ с возможностью создания сценариев, позволяющий создавать и заголовки новых вкладок из того же окна Terminal.app, используя функцию оболочки new_tab (title, command) , которая в основном обертывает вокруг всех сценариев Apple.

Моя статья с кодом и некоторой предысторией может быть найдена здесь: Программно создавать и заголовки вкладок в Mac OS X Terminal.app

Я надеюсь, что это сделает чью-то жизнь немного лучше автоматизировано :)

0
ответ дан 3 December 2019 в 06:53

Теги

Похожие вопросы