Setiap kali saya masuk ke VM dengan root, su
ke akun pengguna, dan mencoba menggunakannya screen
melemparkan kesalahan:
Cannot open your terminal '/dev/pts/0' - please check.
Posting Stack Overflow mengatakan bahwa saya perlu menggunakan script /dev/null
untuk memperbaikinya, dan itu berfungsi, tetapi masih tidak menjelaskan mengapa saya perlu mengetik script /dev/null
. Saya ingin memahami apa fungsinya dan mengapa saya harus mengetiknya.
terminal
gnu-screen
su
pty
CJL
sumber
sumber
Jawaban:
Anda tidak dapat membukanya
/dev/pts/0
karena dimiliki oleh root, dan setelah Anda memilih pengguna lain, Anda tidak lagi dapat membukanya melalui jalurnya, tetapi Anda masih dapat menggunakannya melalui pegangan yang dibuka untuk itu, yang diwarisi dari proses induk.script /dev/null
akan membuat pty lain, yang dimiliki oleh pengguna saat ini.Bagaimanapun, bug / batasan itu tampaknya telah diperbaiki dalam versi terbaru
screen
(mis. 4.99.0), yang akan dengan benar mengirim pegangan ke terminal saat ini melaluiSCM_RIGHTS
pesan tambahan pada soket domain unix, alih-alih mengirimkan hanya nama terminal dan mintascreen
server mencoba membukanya (dan gagal). Sama halnya dengantmux
.sumber