多くのLinuxシステムでは、最初の6つの仮想コンソール(/dev/tty1~/dev/tty6)は「テキストターミナル」となっています。Alt+F1~F6キーで切り替え可能です(デスクトップ環境から切り替える場合はCtrl+Alt+F1~F6)。
仮想コンソールにユーザー名やパスワードを入力してログインすれば、以下のような「黒字に白い文字の画面」でBashなどのシェル環境を使うことができます。
この仮想コンソールに表示されている内容は、「/dev/vcs1~/dev/vcs6」からテキストとして取得できます。ただし、読み取ることができるのはrootもしくはttyグループに属するユーザーだけです。
別のコンソール、あるいはGUIやsshでログインし、root権限を使って対象のコンソールに表示されている内容を取得する、といったことができます。
例えば、sudoを使って以下のコマンドを実行すれば、「/dev/tty5」に表示されているテキストが出力されます。
sudo cat /dev/vcs5
ただし、スペースや改行などのホワイトスペース文字もそのまま出力されます。読める文字だけに詰めるなら、以下のように「xargs」コマンドにパイプすると便利です。
sudo cat /dev/vcs5 | xargs
「xargs」の引数を省略すると、デフォルトで「/bin/echo」が使われるので、この例ではそのまま端末に出力されます。
コメント