Para resolver el problema, intente ejecutar script /dev/null como usuario usted su antes de iniciar screen .
script -q -c "su $USER -l -c \"screen -m -d -S $NAME $DAEMON start\"" /dev/null
Más sobre esto:
- https://serverfault.com/questions/116775/sudo-como-diferente-usuario-y-pantalla-en-ejecución/116830
Esto sucede porque es posible que hayas hecho un sudo su user_name y luego disparó el comando de pantalla.
Hay 2 formas de arreglar esto.
- Inicie sesión directamente en "user_name" a través de ssh.
- Tome posesión del shell escribiendo
script /dev/nullcomo usuariouser_namey luego escribescreen
Ejecute este comando para poseer el shell
#script /dev/null
y prueba Pantalla
#screen -r < name of the screen >
Inspirado por ambas respuestas respaldadas aquí, agregué la siguiente función a mi .bashrc :
sscreen(){
script -q -c "screen $*" /dev/null;
}
Ahora solo uso sscreen en lugar de screen y no tener que volver a pensar en el problema nunca más.