その他
テクノロジー
ノウハウ・TIPS

Linuxでディスプレイに表示中のXに対してVNCする(X11VNC)

今回は、知っているとちょっと便利かもしれないコマンドというか、アプリケーションを紹介します。

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が投げるパケットはブロードキャストなので、同じセグメントでないと起動しません。
・その他起動しない理由はいくつかあるようなので、ググッてください。

author img for asial

asial

前の記事へ

次の記事へ

一覧へ戻る
PAGE TOP