У меня проблема с закрытием экрана вместо отсоединения.
Подробности
Я годами использовал следующий код в .bashrc моего пользователя для автоматического запуска / отсоединения / повторного подключения сессий SSH.
#Start Screen upon SSH
if [ "$SSH_CONNECTION" ]; then
if [ -z "$STY" ]; then
exec screen -d -R
fi
fi
Недавно я переключился на рабочий стол Ubuntu 16.04 LTS Kubuntu и начал испытывать проблемы с завершением экрана вместо отсоединения. Межсетевые сети сказали мне, что, скорее всего, systemd убивал процесс.
Я отредактировал /etc/systemd/logind.conf
и добавил KillUserProcesses=no
Я также включил loginctl enable-linger username
Изменения вместе, казалось, работали, и я использовал его, как всегда для несколько месяцев На прошлой неделе я обновил свой компьютер (обновление и dist-upgrade) и перезагрузил компьютер. С тех пор он начал убивать экран вместо отсоединения.
Если я отсоединяюсь, процесс экрана мгновенно завершается:
user 18510 0.0 0.0 27052 3052 pts/0 Ss+ 22:31 0:00 screen -d -R
Я проверил logind.conf, и мои изменения все еще там. Я долго задерживался. Ничто не похоже на работу.
Я также попытался изменить exec screen -d -R
на exec systemd-run --remain-after-exit screen -d -R
, но в результате systemd захотел аутентифицировать команду и затем потерпел неудачу.
Я также пытался создать каталог .screen и экспортировать SCREENDIR = ~ / .screen Но изменения в этой теме приводили либо к бесконечным скриншотам, либо к внезапной смерти сеанса.
Кроме того, для полноты, вот мой файл .screenrc:
autodetach on # default: on
vbell off
startup_message off
escape "^ "
defscrollback 1024
hardstatus on
hardstatus alwayslastline
hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%=%{g}][%{B} %m-%d %{W}%c %{g}]'
screen -ln -t "root" -h 1000 0 su
screen -ln -t "bash" -h 1000 1
screen -ln -t "bash2" -h 1000 2
termcapinfo xterm* ti@:te@
Вопрос: Как я могу получить экран, чтобы не завершить?
Примечание: я попробовал все в этом вопросе:
Как запустить tmux / screen с помощью systemd > 230? [+1123]