![新しく作成されたptyで画面を開くことができません。 [閉じる]](https://linux33.com/image/139547/%E6%96%B0%E3%81%97%E3%81%8F%E4%BD%9C%E6%88%90%E3%81%95%E3%82%8C%E3%81%9Fpty%E3%81%A7%E7%94%BB%E9%9D%A2%E3%82%92%E9%96%8B%E3%81%8F%E3%81%93%E3%81%A8%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%20%5B%E9%96%89%E3%81%98%E3%82%8B%5D.png)
シリアルプロトコルを介して通信するプログラムがありますuart
。simple terminal emulator
プロトコルをテストするために同じコンピュータで実行したいと思います。
プログラムが開きます/dev/tty
。同じtty
。
上記の私の考えは次のように表されます。
<terminal> --> /dev/tty <--- <program to test>
実際、私の考えは、/dev/ptmx
ターミナルエミュレータで開いてから、私のプログラム/dev/pts/x
に対応するものを開くことでしたが、達成するのは難しいようです。
私が試したことに関する追加の注意:
/dev/ptmx
このコマンドで端末を開くと:
screen /dev/ptmx 115200
7
次のパスというファイルが作成されます/dev/pts/7
。以下を使用してこのファイルを開くことはできません。
$ screen /dev/pts/7 115200
[screen is terminating]
または、コマンドを実行してもcat
開かれません。
$ cat /dev/pts/7
cat: /dev/pts/7: Input/output error
stty -F
そして、試しても開くという命令を受けられませんでした! :
$ stty -F /dev/pts/7
stty: /dev/pts/7: Input/output error
2つの画面が互いに通信できるようにするにはどうすればよいですかpty
?
答え1
このプロジェクトを通じてコミュニケーションができましたtty0tty
:
/dev/tntx
カーネルモジュールがLinuxにロードされると、tty
デバイスが表示されます。私たちはプログラムへの接続を管理し、働き/dev/tntn
ましscreen/kermit/..
た/dev/tnt(n+1)
。