Pour résoudre le problème, essayez d'exécuter script /dev/null en tant qu'utilisateur vous su à avant de lancer screen .
script -q -c "su $USER -l -c \"screen -m -d -S $NAME $DAEMON start\"" /dev/null
En savoir plus :
- https://serverfault.com/questions/116775/sudo-as-different-user-and-running-screen/116830
Cela se produit parce que vous avez peut-être fait un sudo su user_name puis a lancé la commande screen.
Il existe 2 façons de résoudre ce problème.
- Connectez-vous directement à "user_name" via ssh.
- Prenez possession du shell en tapant
script /dev/nullen tant qu'utilisateuruser_namepuis tapezscreen
Exécutez cette commande pour posséder le shell
#script /dev/null
et essayez Écran
#screen -r < name of the screen >
Inspiré par les deux réponses approuvées ici, j'ai ajouté la fonction suivante à mon .bashrc :
sscreen(){
script -q -c "screen $*" /dev/null;
}
Maintenant j'utilise juste sscreen au lieu de screen et ne plus jamais avoir à penser au problème.