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/null
sebagai penggunauser_name
lalu 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.