Я уже несколько часов бьюсь над этой проблемой, и вся информация, которую я нахожу в интернете, приводит к огромным спорам о том, как systemd (кажется, еще в 2016 году?) изменил настройку по умолчанию, чтобы завершать все процессы пользователя при выходе. Звучит неплохо, но это убивает такие вещи, как screen. screen используется уже много-много лет, и в основном для того, чтобы что-то продолжало работать после выхода. Говорят, что настройка systemd по умолчанию включена, но дистрибутивы должны сами выбирать, использовать ее или нет. Ну, я использую контейнер Debian, и похоже, что по умолчанию она отключена, но моя сессия screen все равно завершается как только я выхожу. Было предложено несколько вариантов, но ничего не сработало. Это специфично для работы в контейнере?
$ systemd-run --scope --user screen
Failed to connect to bus: $DBUS_SESSION_BUS_ADDRESS and $XDG_RUNTIME_DIR not defined (consider using --machine=<user>@.host --user to connect to bus of other user)
$ systemd-run --scope --machine=clickwir@.host --user screen
Execution in user context is not supported on non-local systems.
$ systemd-run --scope --machine=clickwir@.localhost --user screen
Execution in user context is not supported on non-local systems.
$ systemd-run --scope --machine=clickwir@localhost --user screen
Execution in user context is not supported on non-local systems.
$ systemd-run --scope --machine=clickwir@ --user ls
Execution in user context is not supported on non-local systems.
$ loginctl enable-linger
Could not enable linger: Connection timed out
Было предложено добавить 'export XDG_RUNTIME_DIR=/run/user/$(id -u)' в .bashrc. Что-то изменилось, но все равно не работает.
$ systemd-run --scope --user screen
Failed to connect to bus: No such file or directory
Мне нужно, чтобы screen продолжал работать при выходе/отключении. Честно говоря, больше всего меня беспокоит неаккуратное отключение. Не должно же быть так, чтобы отключение/сбой/блокировка моей настольной системы влияли на screen.
$ systemd-run --scope --user screen
Failed to connect to bus: $DBUS_SESSION_BUS_ADDRESS and $XDG_RUNTIME_DIR not defined (consider using --machine=<user>@.host --user to connect to bus of other user)
$ systemd-run --scope --machine=clickwir@.host --user screen
Execution in user context is not supported on non-local systems.
$ systemd-run --scope --machine=clickwir@.localhost --user screen
Execution in user context is not supported on non-local systems.
$ systemd-run --scope --machine=clickwir@localhost --user screen
Execution in user context is not supported on non-local systems.
$ systemd-run --scope --machine=clickwir@ --user ls
Execution in user context is not supported on non-local systems.
$ loginctl enable-linger
Could not enable linger: Connection timed out
Было предложено добавить 'export XDG_RUNTIME_DIR=/run/user/$(id -u)' в .bashrc. Что-то изменилось, но все равно не работает.
$ systemd-run --scope --user screen
Failed to connect to bus: No such file or directory
Мне нужно, чтобы screen продолжал работать при выходе/отключении. Честно говоря, больше всего меня беспокоит неаккуратное отключение. Не должно же быть так, чтобы отключение/сбой/блокировка моей настольной системы влияли на screen.
