Parfois, généralement après un crash ou un arrêt brutal, screen
refuse de démarrer. Des commandes comme
screen
screen -ls
screen -r
screen -d
entraîner la sortie suivante
Impossible de créer le répertoire '/ var / run / screen': autorisation refusée
Quel est le problème ici? Comment puis-je réparer cela?
la source
J'ai rencontré cela lors de l'exécution d'une distribution basée sur Centos / RHEL 7, et il n'a rien nommé 'screen-cleanup' n'importe où sous / etc.
Une solution de contournement que j'ai trouvée consistait simplement à exécuter
sudo screen
puis à en sortir immédiatement.Après cela, j'ai pu exécuter l'écran sans aucun privilège spécial, il semble donc nettoyer / var / exécuter de manière appropriée lorsque l'occasion se présente.
la source
Je peux résoudre ce problème en exécutant les commandes suivantes.
la source
TL; DR : Dans Debian Stretch et versions ultérieures, assurez-vous que cela
systemd-tmpfiles-setup.service
a été démarré avec succès:Si désactivé (
Loaded: ... ;disabled; ...
), vous pouvez l'activer avecsystemctl enable systemd-tmpfiles-setup.service
. Si vous souhaitez utiliser l'écran dans un conteneur Docker, vous devez soit exécuter systemd dans votre image de conteneur, soit exécutersystemctl start systemd-tmpfiles-setup.service
ou/etc/init.d/screen-cleanup start
( comme suggéré par Huey ) à chaque fois après vous être connecté à votre conteneur.Détails: Depuis Debian Stretch, le script de démarrage
/etc/init.d/screen-cleanup
n'est pas exécuté, car par défaut ce service est masqué (/lib/systemd/system/screen-cleanup.service -> /dev/null
), donc systemd l'ignore.Au lieu de cela
systemd-tmpfiles-setup.service
crée/run/screen
au démarrage, tel que configuré dans/usr/lib/tmpfiles.d/screen-cleanup.conf
:d /run/screen 0775 root utmp
la source
systemctl enable systemd-tmpfiles-setup.service
que @Jacob a suggéré persistait lors des redémarrages.