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/null
como usuariouser_name
y 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.