直接接続されたキーボードの場合と同じように、SSH経由でローカルコンソールと対話する方法を探しています。
私の特定のケースでは、tty1にいくつかのテキスト値を表示するDebianサーバー(コンソールのみ、Xシステムなし)を入手しました。このコンピューターには入力デバイスは接続されておらず、ディスプレイは1つだけです。設定はsshを介して行われます。 SSHで実行されたコマンドは、tty1に表示されます。
X-WindowシステムでVNCセッションが行うのと同じ方法でtty1と対話する方法はありますか?
現在画面に表示されているテキストは/dev/vcs
から読むことができます。ターミナルウィンドウの列数がサーバー上の実際の画面出力と同じである場合は、cat /dev/vcs
と入力するだけで、認識可能な出力を取得できます。
常にアクティブなコンソールではなく、特定のコンソールにアクセスするための番号を追加できます。また、フォーマット情報も必要な場合は、vcsa
を使用できます。したがって、たとえば、/dev/vcsa1
を使用して、フォーマット情報を含む最初のVC longのテキストを取得できます。
キーボード入力の生成は別の問題です。 AFAIR gpm
が使用する呼び出しは、カットアンドペーストのみをサポートし、任意のキーストロークを入力することはできません。ネットでのいくつかの検索では、そのままではサポートされていないことが示唆されましたが、ドライバーとして 実装 することは可能です。
実際のサーバーの場合、システムコンソールにアクセスできるようにする帯域外管理(IPMI)機能があります。たとえば、DellサーバーはそれをiDRACと呼び、HPサーバーはiLOを備えています。
サーバーにそのような機能がない場合は、IP KVMデバイスをサーバーに接続できます。
私はこれが古い質問であることを知っていますが、ここにいくつかの洞察があります:
「画面」を使用することは行く方法です
screen
と入力することから始めます
コマンドを入力してください
ctrl + A dを押します(画面を終了するには)
これにより、現在のセッションから画面が切り離されます。
サーバーに再度ログインしたら、次のように入力できます:screen -ls
アクティブな画面のリストを表示するには
コマンドを使用して画面を再接続します:screen -r <id of the screen>