尝试启动屏幕时“不再显示PTY”


11

当我尝试启动“屏幕”或“ byobu”时,出现以下错误消息:

$ screen
No more PTYs.
Sorry, could not find a PTY.
[screen is terminating]

我似乎已经足够了:

$ ls /dev/pts  
$ cat /proc/sys/kernel/pty/nr
0
$ cat /proc/sys/kernel/pty/max
4096

更多信息:

$ uname -a
Linux cube.mydedi.net 2.6.18-194.8.1.el5.028stab070.5 #1 SMP Fri Sep 17 19:10:36 MSD 2010 x86_64 x86_64 x86_64 GNU/Linux

如果您需要更多信息,请发表评论。这是在低端VPS上运行的,但是过去一直工作良好,直到停止工作为止。其他一切似乎都还不错。

Answers:


9

零pty是不常见的,因为您正在使用的SSH连接已分配了pty。

确保已devpts安装:

$ grep /dev/pts /proc/mounts
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620 0 0

如果不是:

# mount devpts /dev/pts -t devpts -o mode=620

你是对的。一个简单的“ sudo mount devpts / dev / pts -t devpts”解决了我的问题。不知道为什么devpts不能自动安装...
Attila O.11年

2

我有一个类似的问题,但是当我在系统中启动一个LXC容器时出现了问题(停止它并没有帮助)。原来,当屏幕(在我的基本系统中)试图打开一个新的PTY时,它正在打开一个已经存在的PTY,并且无法更改其所有权。

这很奇怪,但是最明显的地方是/ dev / pts挂载点,所以我简单地重新挂载了它:

# mount -o remount /dev/pts

问题就消失了。重新挂载后,我没有从/ dev / pts中“丢失”任何PTY设备,因此这似乎是一个非常安全的操作。


0

我有类似的问题,但是问题是/ dev / pt *设备的权限错误。

不知道为什么将它们设置为600,所以只有root用户可以使用screen,我更改为666,并且对其他用户有效。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.