Вопрос или проблема
Я хочу иметь возможность использовать screen -r
с помощью пользовательского названия, которое я задаю для запущенной сессии.
Например, я хочу иметь возможность делать что-то вроде screen -t customname
, а затем позже выполнять screen -r customname
.
Однако screen -r
принимает только [pid.]tty.host
. Как мне использовать пользовательские названия?
Запустите экран с помощью screen -S customname
. Затем повторно подключитесь к нему с помощью screen -r customname
. Обратите внимание, что когда вы выполняете screen -ls
, вы увидите, что полное имя будет [идентификатор процесса].customname
, но вы все равно можете использовать только customname
.
Мне нравится создавать несколько таких экранов при загрузке (используя директиву @reboot в crontab), автоматически запуская скрипт, отсоединенный и ожидающий подключения, вот так:
screen -S customname -d -m script.sh
Ответ или решение
Чтобы использовать пользовательские имена (или псевдонимы) для сеансов в GNU Screen, выполните следующие действия. Это позволит вам более эффективно управлять своими сессиями, делая их легко идентифицируемыми.
1. Создание сеанса с пользовательским именем
Чтобы создать новый сеанс в GNU Screen с заданным именем, используйте команду:
screen -S customname
Здесь customname
— это имя, которое вы хотите (или должны) назначить своему сеансу, чтобы позже к нему можно было легко подключиться. Обратите внимание, что имя сессии может быть любым, что упрощает организацию работы с несколькими запущенными сессиями.
2. Подключение к существующему сеансу
Для подключения к уже запущенному сеансу используйте следующую команду:
screen -r customname
GNU Screen поддерживает возможность подключения к сессии по имени, что делает процесс проще и удобнее.
3. Просмотр всех активных сеансов
Вы можете просмотреть список всех активных сеансов с помощью команды:
screen -ls
В этом списке вы увидите сессии в формате [process id].customname
. Однако для подключения вам все равно нужно использовать только customname
, что облегчает управление.
4. Запуск сеансов при загрузке
Если вам необходимо автоматически запускать сеансы в фоновом режиме, вы можете использовать crontab
. Это может быть особенно полезно, если вы хотите, чтобы некоторые скрипты запускались автоматически при загрузке системы. Пример команды для этого:
screen -S customname -d -m script.sh
Здесь -d -m
означает, что сеанс будет запущен в отсоединённом режиме (detached mode), и скрипт script.sh
начнет выполняться сразу.
Заключение
Использование пользовательских имен для сеансов в GNU Screen значительно улучшает организацию работы и управление несколькими сессиями за счет простоты идентификации. С помощью простых команд вы сможете не только создавать и подключаться к сеансам, но и автоматизировать их запуск. Это делает GNU Screen мощным инструментом для управления терминальными сессиями, особенно в средах серверного администрирования.