TL; DR : в Debian Stretch и более поздних версиях убедитесь, что systemd-tmpfiles-setup.service
он был успешно запущен:
$:> systemctl status systemd-tmpfiles-setup.service
● systemd-tmpfiles-setup.service - Create Volatile Files and Directories
Loaded: loaded (/lib/systemd/system/systemd-tmpfiles-setup.service; static; vendor preset: enabled)
Active: active (exited) since Thu 2018-06-21 19:54:06 CEST; 41min ago
...
Если отключено ( Loaded: ... ;disabled; ...
), то вы можете включить его с помощью systemctl enable systemd-tmpfiles-setup.service
. Если вы хотите использовать screen в Docker-контейнере, то вы должны либо запустить systemd в образе вашего контейнера, либо запускать systemctl start systemd-tmpfiles-setup.service
или /etc/init.d/screen-cleanup start
( как рекомендует Huey ) каждый раз после входа в ваш контейнер.
Детали: Начиная с Debian Stretch, скрипт запуска /etc/init.d/screen-cleanup
не выполняется, потому что по умолчанию этот сервис маскирован ( /lib/systemd/system/screen-cleanup.service -> /dev/null
), поэтому systemd игнорирует его.
Вместо этого systemd-tmpfiles-setup.service
создает /run/screen
при загрузке, как настроено в /usr/lib/tmpfiles.d/screen-cleanup.conf
:d /run/screen 0775 root utmp