Untuk mengatasi masalah, coba jalankan script /dev/null sebagai pengguna Anda su ke sebelum meluncurkan screen .
script -q -c "su $USER -l -c \"screen -m -d -S $NAME $DAEMON start\"" /dev/null
Lebih lanjut tentang itu:
- https://serverfault.com/questions/116775/sudo-as-different-user-and-running-screen/116830
Ini terjadi karena Anda mungkin telah melakukan sudo su user_name lalu jalankan perintah layar.
Ada 2 cara untuk memperbaikinya.
- Login langsung ke "user_name" melalui ssh.
- Ambil kepemilikan shell dengan mengetikkan
script /dev/nullsebagai penggunauser_namelalu ketikscreen
Jalankan perintah ini untuk memiliki shell
#script /dev/null
dan coba Layar
#screen -r < name of the screen >
Terinspirasi oleh kedua jawaban yang didukung di sini, saya menambahkan fungsi berikut ke .bashrc saya :
sscreen(){
script -q -c "screen $*" /dev/null;
}
Sekarang saya hanya menggunakan sscreen bukannya screen dan tidak perlu memikirkan masalah itu lagi.