web-dev-qa-db-ja.com

特定のttyでプログラムを開く方法はありますか?

マウスやキーボードのないPCを持っていますが、モニターに接続されています。モニターで出力を見ることができるように、特定のtty(tty1など)でプログラムをリモートで(SSH経由などで)開くことができるかどうか疑問に思いました。

2
Mids

次のSO質問があなたに答えるかもしれないようです: https://stackoverflow.com/questions/8994593/how-to-reroute-stdout-stderr-back-to-dev-tty

exec >/dev/tty 2>&1それをすべき

一部のコマンドのみ> /dev/tty1コマンドの後(David Schwartzが述べたように)も機能します

5
Jonas D.

Linux 仮想コンソール を使用できます。各仮想コンソールは、個別のテキストモードまたはグラフィカルディスプレイ、キーボード、およびマウスであり、すべてコンピューターの実際のディスプレイハードウェアを共有します。

各仮想コンソールには、ttyデバイスを介してアクセスできます/dev/ttyN、ここでNは1、2などです。/dev/tty1は仮想コンソール1です。コンピューターにキーボードが接続されている場合は、Alt-F1を押してコンソール1に移動し、コンソール2の場合はAlt-F2を押します(現在の場合はCtrl-Alt-FN)。 -表示されたコンソールはXを実行しています)。キーボードがないため、仮想コンソールを操作するための一連のプログラムも使用する必要があります。

要するに:

some-program > /dev/tty1 2>&1

プログラムの出力を仮想コンソール1にリダイレクトします。コンソール1がモニターに表示されていない場合は、次のように切り替えることができます。

chvt 1

より良い方法は、openvtを実行して仮想コンソールでコマンドを開始することです。

openvt -s some-command

これにより、新しい仮想コンソールが選択され、画面に表示され、指定されたコマンドが実行されます。 Openvtには他のオプションがあるので、ドキュメントを確認してください。

その他の便利なコマンドは、現在表示されているコンソールの番号を表示するためのfgconsole、および未使用のコンソールをクリーンアップするためのdeallocvtです。

これらのコマンドはすべて、実行するためにスーパーユーザー権限が必要な場合があります。

4
Kenster