11

Когда я пытаюсь запустить «screen» или «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, но он работал нормально, пока не перестал работать. Все остальное, кажется, хорошо.

3 ответа3

9

Ноль ptys - это необычно, поскольку для того самого 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
2

У меня была похожая проблема, но моя проблема возникла, когда я запустил контейнер LXC в моей системе (и его остановка не помогла). Оказалось, что когда screen (в моей базовой системе) пытался открыть новый PTY, он открывал уже существующий и не мог сменить владельца.

Это было очень странно, но самым очевидным местом была точка монтирования /dev /pts, поэтому я просто перемонтировал ее:

# mount -o remount /dev/pts

и проблемы ушли. После перемонтирования я не "потерял" никакие устройства PTY из /dev /pts, так что это кажется довольно безопасной операцией.

0

У меня была похожая проблема, но проблема была в неправильных разрешениях устройств /dev /pt *.

Не уверен, почему они были установлены на 600, так что только рут мог использовать экран, я изменил на 666, и это работало для других пользователей.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .