Вот моя проблема:
У меня есть особая настройка экрана, которую я запускаю при загрузке компьютера, чтобы быстро получать доступ к нескольким часто используемым программам.
Вот пример:
экран -U -S тест -t оболочка
В рамках этого сеанса экрана:
screen -t irc (в котором я запущу irssi) screen -t process (в котором я запущу top) ...
Обратите внимание, что это приводит к тому, чтоодин уникальный сеанс, и несколько оболочек в этом сеансе. Я указываю это, потому что до сих пор мои тесты привели меня к тому, что мой скрипт создает сеанс экрана, в сеансе, в сеансе ... и я не могу понять, почему.
Я хотел бы узнать, возможно ли создать скрипт, который я мог бы запустить для создания полной настройки экрана и автоматического запуска программ при выполнении.
Спасибо за любые советы. =)
решение1
Создайте ~/.screenrc
файл, содержащий:
defutf8 on
sessionname test
screen -t shell 0
screen -t irc 1 irssi
screen -t process 2 top
Затем, когда вы войдете в ящик, выполните
screen -DR
который отсоединяет любой текущий работающий экран и присоединяется к нему, или, если ни один экран не запущен, создает новый.
решение2
Вы можете использовать screen -S sessionname -X command
для запуска tmux-commands 1 в существующем сеансе, например, -X screen top
для создания нового окна и запуска top
в нем. Обратите внимание, что вновь созданное окно будет закрыто после завершения команды. Если вы хотите иметь оболочку после этого, используйте что-то вроде -X screen sh -c 'ls; bash'
.
Существуют также способы запуска команд в существующих окнах экрана, см. эти два вопроса:
1: Полный список команд tmux можно найти на странице руководства.