特殊ファイル/dev/pts/0を生成できません。

特殊ファイル/dev/pts/0を生成できません。

コンソールでMidnight Commanderを使用すると、ウィンドウを「切り替え」できません(CTRL-o

Not an xterm or Linux console;
the panels cannot be toggled

しかし、私の$TERM設定はlinux

インターネット検索の後に問題が何であるかを見つけました/dev/pts/dev/pts動的にインストールしましたがdevpts空です。別のコンピューターからコピーしようとすると、/dev/pts/0次のエラーが発生します。

cannot create special file /dev/pts/0
Operation not permitted

どこかで確認するように提案を見つけましたsysctl -a | grep pty。これは私に次のことを与えます:

# sysctl -a | grep pty
kernel.pty.max = 4096
kernel.pty.nr = 0
kernel.pty.reserve = 1024

/dev/pts/動作している他のコンピュータでは、次のようになります。

# sysctl -a | grep pty
kernel.pty.max = 4096
kernel.pty.nr = 8
kernel.pty.reserve = 1024

これが正確に何を意味するのかわかりませんが、問題は次のとおりです。

kernel.pty.nr = 0

この問題を解決する方法について提案がありますか?

ノート:使ったことはありませんudev。鉱山/dev/は静的です(静的開発ファイルは/dev/pts次のようにインストールされます)。devpts

正しい:私の/ dev / ptsは(元の質問で指定されたものdevptsとは異なり)マウントされています。tmpfs

修正する:

# ls -ld /dev/pt* /dev/pts/*
ls: cannot access /dev/pts/*: No such file or directory
crw-rw-rwT 1 root root   5, 2 Oct  2 00:57 /dev/ptmx
drwxr-xr-x 2 root root      0 Sep 30 17:31 /dev/pts

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

答え1

バージョンがその機能mcにコンパイルされていることを確認してください。subshell次のコマンドを実行してこれを確認できます。

$ mc -V
...
With subshell support as default
...

クイックGoogle検索は2つの結果を返します。

私のラップトップでをクリックすると、出力から次のコマンドが呼び出されることがわかりctrl+oます。strace

execve("/usr/lib/mc/cons.saver", ["cons.saver", "/dev/pts/8"], [/* 136 vars */]) = 0

私が呼び出すターミナルmcはです/dev/pts/8。したがって、2番目のリンクで述べたように、cons.saver端末デバイスにアクセスできることを確認してください。

関連情報