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 в док-контейнере, то вы должны либо запустить systemd в образе вашего контейнера, либо запустить systemctl start systemd-tmpfiles-setup.service
или /etc/init.d/screen-cleanup start
(как предложенный Хьюи) каждый раз после входа в ваш контейнер.
Подробности: Начиная с 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