
非ルートユーザーとして screen を実行しようとすると、次のメッセージが表示されます。
screen
[screen is terminating]
すぐには動作しますが、ルートの場合は問題なく動作します
ls -alh /usr/bin/screen
-rwxr-sr-x 1 root screen 465K Jun 9 20:30 /usr/bin/screen
グーグルで検索していたら、/etc/fstab について言及されているのに気づきました。これが私のものです:
# <file system> <mount point> <type> <options> <dump> <pass>
/dev/md1 / ext4 errors=remount-ro 0 1
/dev/md2 /home ext4 defaults 1 2
/dev/sda3 swap swap defaults 0 0
/dev/sdb3 swap swap defaults 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts defaults 0 0
これは、ssh 経由でアクセスする専用サーバーに新しくインストールされた CentOS 7 上にあります (TTY は pts です)
ご協力いただければ幸いです。
screen -ls
No Sockets found in /var/run/screen/S-user.
ls -la /var/run/screen/S-user
total 0
drwx------ 2 user user 40 Jul 10 18:23 .
drwxrwxr-t 4 root screen 80 Jul 10 17:59 ..
答え1
専用の CentOS 7 サーバーでこの問題が発生しましたが、次のバグ レポートに記載されている修正方法を見つけました。 バグ:
gid=5
これは、fstab の devpts に追加するための専用の優れたソリューションでした。screen
現在、すべてのユーザーに対して期待どおりに動作します。
しかし、CentOS 7 の OpenVZ コンテナで問題を解決しようとしていたときに、このスレッドに遭遇しました。サーバーの fstab を編集する方法がないため (私が見つけた限りでは)、次の回避策で問題が解決しました。
この道を通って戻って、他の人の役に立つかどうか見てみようと思いました。 (あまりいいやり方ではないですが。)
ターミナルで:
chmod u+s /usr/bin/screen
chmod 755 /var/run/screen
答え2
screen
他の人がそのデバイスを使用していないことを確認する
これは次のように達成できる。Linux でどのプロセスがファイルを開いているかを判断するにはどうすればよいでしょうか?:
sudo lsof /dev/ttyS0
その場合は、そのプロセスを強制終了します。
何らかの理由で、この状況では、sudo screen
デバイスに引き続きアクセスできますが、その接続では文字が失われ、他のデバイスによって消費されますscreen
。
ユーザーにファイルの読み取りおよび書き込み権限があることを確認する
たとえば、Ubuntu でユーザーをdialout
グループに追加する場合は、次のようにします。https://askubuntu.com/a/133244/52975
答え3
設定ファイルにエラーがある可能性があります
~/.screenrc
確認するか、暗いものを作成してみてください。