'script / dev / null' ทำอะไร


21

ทุกครั้งที่ฉันล็อกอินเข้าสู่ VM ด้วยรูทsuเข้าสู่บัญชีผู้ใช้และลองใช้screenมันจะมีข้อผิดพลาดเกิดขึ้น:

Cannot open your terminal '/dev/pts/0' - please check.

กองล้นโพสต์บอกว่าผมจำเป็นต้องใช้script /dev/nullในการแก้ไขปัญหาและมันทำงาน script /dev/nullแต่ก็ยังไม่ได้อธิบายว่าทำไมฉันต้องพิมพ์ ฉันต้องการที่จะเข้าใจว่ามันทำอะไรและทำไมฉันต้องพิมพ์มัน


2
> โพสต์ Stack Overflow กล่าวว่า - อาจเป็นประโยชน์หากคุณเพิ่มลิงก์ไปยังโพสต์นั้นอาจอยู่ในความคิดเห็น
törzsmókus

มันจะได้รับstackoverflow.com/a/44244425/340790ยกตัวอย่างเช่น
JdeBP

คำตอบ:


27

คุณไม่สามารถเปิดได้/dev/pts/0เพราะเป็นเจ้าของโดย root และหลังจากที่คุณใช้งานผู้ใช้รายอื่นเสร็จแล้วคุณจะไม่สามารถเปิดผ่านทางเส้นทางได้อีกต่อไป แต่คุณยังสามารถใช้งานได้ผ่านทางจุดจับเปิดซึ่งมันได้รับมา จากกระบวนการหลัก

script /dev/null จะสร้าง pty อื่นเป็นของผู้ใช้ปัจจุบัน

อย่างไรก็ตามข้อผิดพลาด / ข้อ จำกัด นั้นดูเหมือนจะได้รับการแก้ไขในเวอร์ชันล่าสุดของscreen(เช่น 4.99.0) ซึ่งจะส่งหมายเลขอ้างอิงไปยังเทอร์มินัลปัจจุบันอย่างถูกต้องผ่านSCM_RIGHTSข้อความเสริมบนซ็อกเก็ตโดเมน unix แทนที่จะส่งเพียงชื่อ เทอร์มินัลและให้screenเซิร์ฟเวอร์พยายามเปิด (และล้มเหลว) tmuxสิ่งเดียวกันกับ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.