web-dev-qa-db-ja.com

Xなしでリモート画面にアクセスするためのSSH

SSHを使用してリモートコンピューター(画面に接続されている)にアクセスする必要があります-問題は、SSH経由で起動したプログラムをリモート画面に表示する必要があることです(tailhtopslurm、...)

リモートコンピュータにはXがなく、プレーンテキスト端末だけがあります。

画面に表示されているリモートコンピュータでコマンドを実行するにはどうすればよいですか?

2
apoc

Afaik、リモート画面のコンソールでSSHに直接書き込むことはできません。

ただし、screenで回避することは可能です。接続するPCへの最初のアクセスが必要です。

  1. デスクトップPCで、コマンドscreen -s sessionNameを使用してscreenセッションを開きます。
  2. 次に、SSHで、コマンドscreen -x sessionNameを使用してこのシェルに接続できます。
4
Toine42

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に設定されています。これは、自分のアカウントとルートのみがコンソールデバイスに書き込むことができることを意味します。コンソールの所有権は、現時点でコンソールにログインしているアカウントに属しているのが普通です。

ルートであるか、デバイスを所有しているか、アクセスを許可する権限が設定されているため、関連するTTYデバイスにアクセスできると仮定すると、他のキャラクターデバイスと同じように読み取りまたは書き込みを行うことができます。

$ tail -f /var/log/messages > /dev/console

たとえば、このコマンドはtailを実行し、出力をコンソールデバイスに書き込みます。

3
Kenster