Как следует из заголовка, я хотел бы настроить GNU screen на моем headless-компьютере таким образом, чтобы при его запуске уже были запущены некоторые экраны.
Мой .bashrc
файл запускает экран при первом входе в систему, screen -xRR
и я хотел бы htop
, чтобы различные журналы открывались автоматически.
Можно ли одновременно назначать названия экранам?
решение1
Вы можете определить окна по умолчанию в файле конфигурации экрана, ~/.screenrc
.
Заголовки окон можно задать в строке с опцией -t
, но рабочие каталоги должны быть установлены до запуска каждого окна. Например, в вашем случае вы можете включить следующее:
~/.screenrc
# ...
chdir ~
screen -t "Htop" htop
chdir /var/log
screen -t "System log" tail -F syslog
screen -t "Mail log" tail -F mail.log
chdir ~
screen # Extra Bash window for running commands
# ...
Обратите внимание, что screen
здесь не screen
команда, которую вы запускаете, а внутренняя screen
команда. Смотритеman screen
, раздел по настройке, илируководство GNUдля большего.
решение2
Вы можете воспользоваться флагом -S
и указать уникальное имя, которое вы хотите дать экрану.
screen -S MyTitleHere
Вы также можете загрузить файлы конфигурации, используя флаг -c
.
screen -S foo -c /home/user/.screenrc.bar
Вы можете попробовать что-то вроде:
su -c "screen -dm -S $TITLE 2>&1 1>/dev/null" $USER
И поместите его в свой /etc/rc.local
, что приведет к созданию этого экрана при загрузке для определенного пользователя.
После настройки файлов конфигурации ( .rc
) вам, вероятно, захочется запустить что-то вроде этого:
screen -dURS $TITLE -c /path/to/.screenrc.bar
Так как это будет
- Создайте сеанс экрана, если он не существует
- Повторно подключитесь к сеансу, если он уже существует.
Другим вариантом было бы использование tmux
и tmuxinator
, которые, по моему мнению, обеспечивают более чистый опыт. Вы можете настроить tmux
использование сочетаний клавиш в стиле экрана, если вы к этому привыкли. Я говорю это, потому что у меня было гораздо больше успеха при запуске tmux
для других пользователей, чем с экраном.