今回は、知っているとちょっと便利かもしれないコマンドというか、アプリケーションを紹介します。
X11VNCとは?
ディスプレイに表示している内容をそのままVNCで表示できるVNCサーバです。
他のVNCサーバは、表示しているものとは別にXサーバを立ち上げることにより、複数人で使用できるようにします。
逆に言えば、物理ディスプレイに表示中の画面を拾うことができません。
これが利点であり欠点でもあります。
それを逆にしたものがX11VNCです。
表示中の画面が拾えるのが利点ですが、
例えば、会社PC(もちろんLinux)のlibreofficeでドキュメントを開いたままで帰ってしまい、自宅で編集できなくなってしまった場合(たまにありますよね)
sshでログインして、kill発行して強制終了するなどの荒業もありますが、保存前のデータがなくなる可能性があります。
出来れば安全に保存して終了させたい・・・そんなときに役立ちます。
その他、
・会社でIRCクライアントを開いたまま帰り、自宅でその内容を確認したい時
・会社PCにしか入っていないGUIアプリケーションを開いたまま(ry
・どうしても遠隔で動画を流す必要があるとき
・深夜に作業中の人を驚かせたい
などにも役立ちます。
または、サーバ用途の場合にも役立ちます。
例えば、
・DCのサーバに遠隔ログインして、起動中のアプリケーションを触る必要がある
・DCで作業中の担当者から、操作方法がわからないと言われたときに、実際に画面を動かして教える
・スクリーンショットを取るようなアプリケーションを動かしていて、その様子を見る必要があるとき
などでも役立ちます。
インストール
大抵は、apt-getかyumで入るので割愛。
<pre wp-pre-tag-0=""></pre>
nbsp;sudo apt-get install x11vnc
どうしてもソースから入れる人はググッてください。
使い方
一言で言えば、
<pre wp-pre-tag-1=""></pre>
nbsp;x11vnc
以上。
5900番ポートで待ち受けますので、別のPCから適当なVNCクライアントでつなげば画面を表示できると思います。
なお、一度セッションが切れると終了するのでご注意ください。
manページ見てみたら、色々とオプションがあるようですので、興味があれば調べてみてください。
遠隔からの起動方法
通常、普段使っているときは起動せずに、必要になってから起動するかと思います。
とは言っても、普通のXアプリケーションなので、これだけです。
<pre wp-pre-tag-2=""></pre>
nbsp;x11vnc -display :0
:0は起動中のX番号
遠隔からの接続方法
もし、ファイアウォールなどで5900などのポートが遮断されている場合や、経路が安全で無い場合について。
sshで入れている時点で、問題はないかと思います。いつものようにポートフォワードします。
<pre wp-pre-tag-3=""></pre>
nbsp;ssh host_name -L 5900:localhost:5900
で、localhostに対してvncviewer起動。
使用感
普通のvncサーバです。gnomeとかkdeなら普通に使えると思います。
自分の場合は、サーバでもクライアントでもstumpwmを常用している関係で C-t が送れないため(C-t tとしても送れない)
stumpish 'gselect 2' などを毎回発行するとか、面倒なことになっていますが、非常用なのでこれでよしと。
おまけ
wakeonlan
言わずと知れた(?)遠隔起動のパケットを投げるコマンド。
スリープして帰った場合などに便利に使えると思います。
起動したいPCのBIOSで、下記設定をします。
・電源をつないでおく
・WakeOnLanを有効に
・場合によっては、ethtoolでwolを有効にする必要がある
<pre wp-pre-tag-4=""></pre>
nbsp;sudo ethtool -s eth0 wol g
※このeth0は、有線LANが確実につながっているNICを指定してください。
次に、eth0のMACアドレスをメモしておきます。(ifconfigを打ち、HWaddrの値)
起動したいマシンを、スリープかシャットダウンしてから、同じセグメントの別マシンで、
<pre wp-pre-tag-5=""></pre>
nbsp;wakeonlan 起動したいマシンのMACアドレス
と打てば、起動するはずです。
起動しない場合は、下記を確認してみてください。
・LANケーブルが抜けている
・電源が完全に落ちている(NICに電源が供給されていない。古いマシンだと、WOL用の端子があるので、それを接続する)
・wakeonlanが投げるパケットはブロードキャストなので、同じセグメントでないと起動しません。
・その他起動しない理由はいくつかあるようなので、ググッてください。