Debian
以非 root 使用者身份啟動螢幕時“不再有 PTY”
每當我嘗試以非 root 使用者身份啟動螢幕會話時,我都會得到“不再有 PTY”。作為回應。與 root 在同一目錄中的相同命令可以正常工作。
我嘗試了這篇文章的解決方案,但它不會改變任何東西:
$ ls /dev/pts $ cat /proc/sys/kernel/pty/nr 0 $ cat /proc/sys/kernel/pty/max 4096
即使解除安裝和重新安裝也無濟於事:
$ grep /dev/pts /proc/mounts devpts /dev/pts devpts rw,nosuid,noexec,relatime 0 0 $ umount devpts $ mount devpts /dev/pts -t devpts -o mode=620
我的相關問題:使用螢幕啟動我的世界伺服器無法正常工作
您很可能無法
screen
使用 BSD 偽終端,因為它被編譯為使用特定樣式的偽終端(從不同時使用兩者)。有兩種主要的風味變化:
- 一個函式(例如
openpty
)提供主設備和從設備的名稱- 程序在主/從對列表中搜尋未使用的對
在後一種情況下,您可以執行
strings /usr/bin/screen
並找到類似這樣的內容:0123456789abcdef(可能更長)。如果你沒有找到,它是為 Unix98 偽終端編譯的。
如果您確實找到了該字元串,則可能
screen
必須執行 setuid’d,例如 toroot
(以便它可以修改主/從對的權限和所有權)。由於該問題暗示它可以作為 執行**
root
**,因此它可能會在類似sudo chmod u+s /usr/bin/screen