Terminal

“腳本/dev/null”有什麼作用?

  • April 9, 2019

每次我使用 root 登錄到 VM 時,su進入使用者帳戶並嘗試使用screen它都會引發錯誤:

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

一個 Stack Overflow 文章說我需要用script /dev/null它來修復它,它可以工作,但它仍然沒有解釋為什麼我需要輸入script /dev/null. 我想了解它的作用以及為什麼需要輸入它。

您無法打開/dev/pts/0它,因為它歸根使用者所有,並且在您 su-ed 到另一個使用者之後,您不再能夠通過其路徑打開它,但您仍然可以通過它的打開句柄來使用它,這是繼承的從父程序。

script /dev/null將創建另一個 pty,由目前使用者擁有。

無論如何,該錯誤/限制似乎已在最新版本screen(例如 4.99.0)中得到修復,它將通過SCM_RIGHTSunix 域套接字上的輔助消息正確地將句柄發送到目前終端,而不是僅發送名稱終端並讓screen伺服器嘗試打開它(並失敗)。與tmux.

引用自:https://unix.stackexchange.com/questions/511267