Per risolvere il problema prova a eseguire script /dev/null
come utente su
a prima di avviare screen
.
script -q -c "su $USER -l -c \"screen -m -d -S $NAME $DAEMON start\"" /dev/null
Maggiori informazioni:
- https://serverfault.com/questions/116775/sudo-as-different-user-and-running-screen/116830
Questo accade perché potresti aver fatto un sudo su user_name
e poi lanciato il comando screen.
Ci sono 2 modi per risolvere questo problema.
- Accedi direttamente a "user_name" tramite ssh.
- Diventa proprietario della shell digitando
script /dev/null
come utenteuser_name
e quindi digitarescreen
Esegui questo comando per possedere la shell
#script /dev/null
e prova Screen
#screen -r < name of the screen >
Ispirato da entrambe le risposte approvate qui ho aggiunto la seguente funzione al mio .bashrc
:
sscreen(){
script -q -c "screen $*" /dev/null;
}
Ora uso solo sscreen
invece di screen
e non dovrai mai più pensare al problema.