仮想コンソール(/dev/tty1など)に表示されているテキストを取得する方法

Linuxテクニック

多くの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」が使われるので、この例ではそのまま端末に出力されます。

Linuxテクニック
\シェアお願いします/
LFI

コメント

タイトルとURLをコピーしました