
SSH を使用して、画面に接続されているリモート コンピューターにアクセスする必要があります。問題は、SSH 経由で起動したプログラムをリモート画面に表示する必要があることです ( tail
、、、...)htop
slurm
リモート コンピュータには X がなく、プレーン テキスト ターミナルのみです。
画面に表示されているリモート コンピューターでコマンドを実行するにはどうすればよいですか?
答え1
私の知る限り、リモート画面のコンソールに SSH で直接書き込むことはできません。
ただし、 を使用すると回避できますscreen
。接続する PC への初期アクセスのみが必要になります。
- デスクトップPCで、
screen
次のコマンドでセッションを開きます。screen -s sessionName
- 次に、 では
SSH
、このシェルに次のコマンドで接続できます。screen -x sessionName
答え2
Unix システムのテキスト モード コンソールには、通常、TTY デバイスを介してアクセスできます。Linux では、通常、/dev/console または /dev/ttyN にアクセスします。ここで、「N」は 1 から始まる数字です。このページLinux コンソールを表す TTY デバイスについて、かなり包括的な説明がされています。
TTY デバイスには、他のファイルと同様に所有者とファイル権限があり、これらによって TTY デバイスにアクセスできるユーザーが制限される場合があります。たとえば、私のシステムでは次のようになります。
$ ls -l /dev/console
crw------- 1 myid staff 0, 0 Oct 27 2014 /dev/console
現在、コンソール デバイスの所有者は私であり、権限は 600 に設定されています。つまり、私のアカウントと root のみが書き込み可能です。コンソールの所有権は、現時点でコンソールにログインしているアカウントに属するのが普通です。
関連する TTY デバイスにアクセスできると仮定すると (ルートであるか、デバイスを所有しているか、またはデバイスにアクセスできるように権限が設定されているため)、他のキャラクタ デバイスと同様に読み取りまたは書き込みを行うことができます。
$ tail -f /var/log/messages > /dev/console
たとえば、このコマンドは を実行しtail
、出力をコンソール デバイスに書き込みます。