さて、Linux が動作するコンピュータにディスプレイを接続したとします。
ディスプレイにはユーザー名とパスワードを求めるログイン画面が表示されます。
私は pts/0 で SSH 経由でログインしています。
これでTTY1でプログラムを実行できるようになりました
some-program > /dev/tty1 2>&1
しかし、私が探しているのは、ユーザーが干渉することなく、コンソールを tty1 に表示できる可能性です。私は次のことを試しました:
screen > /dev/tty1 2>&1
しかし、tty1ではなくpts/1で画面が開きました。試してみました
top > /dev/tty1 2>&1
結果は暗い画面でした。何かヒントはありますか?
答え1
のopenvt
コマンド、存在するkbd
Debian のパッケージは、VT の使用に特化しています。
たとえば、次のように実行できtop
ます/dev/tty8
。
openvt -c 8 -- top
フォークされたコマンドに対して適切な分離環境の準備(I/O を VT にリダイレクトする、呼び出すなど)を自ら行い setsid(2)
、すぐに戻ります。
この例では、first がログインプロンプトを生成するために既に使用されている/dev/tty1
ことが多いため、これを回避しました。/dev/ttyX
使用chvt
(例chvt 8
) 表示する VT を変更する必要がある場合。
VT を指定せずに、openvt
最初に利用可能な VT を選択し、 を使用してすぐに切り替えることもできます-s
。つまり、これは 1 回で機能します。
openvt -s -- top
古いインスタンスを実行したままにしないように注意してください...