отже, знову про gnu screen, від якого я в захваті: arch wiki підказує, що screen можна запускати автоматично для сесій того чи іншого користувача, як системний сервіс systemd. може бути зручно (особливо на серверах), бо тоді screen стартує окремо від самої сесії, і не закривається разом з нею.
робиться просто: створюється файл /etc/systemd/system/screen@.service
з таким вмістом:
[Unit]
Description=screen
After=network.target
[Service]
Type=simple
User=%i
ExecStart=/usr/bin/screen -DmS autoscreen
ExecStop=/usr/bin/screen -S autoscreen -X quit
[Install]
WantedBy=multi-user.target
далі — включаємо автостарт сервісу для якогось користувача (наприклад, для urist’а):
$ [sudo] systemctl enable screen@urist
може знадобитися перезавантажити конфігурацію systemd (якщо сервіс вже існував, але знадобилося відредагувати файл .service
тощо):
$ [sudo] systemctl daemon-reload
можна одразу запустити screen:
$ [sudo] systemctl start screen@urist
все, сесія screen для urist’а стартватиме автоматично на старті системи й чекатиме, поки urist підключиться — і крутитиметься далі навіть після того, як він відключиться. підключатися як зазвичай:
$ screen -r [autoscreen]