root以外のユーザーで画面セッションを開始しようとするたびに、「No more PTY」というメッセージが表示されます。答えとして。ルートと同じディレクトリにある同じコマンドは正常に機能します。
私は次の解決策を試しました。これ何も変更せずに投稿:
$ 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
答え1
screen
BSD擬似端末は、特定の種類の擬似端末(両方とも使用できません)を使用するようにコンパイルされているため、使用できない可能性があります。 2つの主なスタイルとそのバリエーションがあります。
- 関数(例:
openpty
) はマスターデバイスとスレーブデバイスの名前を提供します。 - プログラムは、マスター/スレーブペアのリストから未使用のペアを検索します。
後者の場合はできます
strings /usr/bin/screen
次のようなものを探してください:0123456789abcdef(多分より長いかもしれません)。見つからない場合は、Unix98擬似端末用にコンパイルされています。
もしあなたならする文字列を見つけるにはscreen
setuid'd を実行する必要があるかもしれません。root
(この方法でマスター/スレーブペアの権限と所有権を変更できます)。
質問は次のように実行されることを意味するので、root
、次のプロセスを経た後、一般ユーザーに役立ちます。
sudo chmod u+s /usr/bin/screen