VNCでLinux Mintをリモートコントロール

Linux Mint 17(Qiana) MATE

複数の電源の入ったマシンを管理する際に、場所が離れているところにあるマシンをリモートコントロールして管理できると便利です。

VNCを使えばリモートのデスクトップ画面を自身のパソコンに表示させ、操作も出来るようになります。

Linux Mint 17にはvinoというVNCサーバーソフトウェアがインストールされており、リモート接続されると起動する状態になっています。(Mate、Xfceで確認)
設定されていなければ外部からの画面共有は許可されていないので何も出来ませんが簡単な設定ですぐに使えるようになるので試してみましょう。


操作される側(ホスト)の設定

最初にも書きましたが、Linux Mintには最初からVNCサーバーソフトのvinoがインストールされているので特別なアプリケーションのインストールは必要ありません。


Mintメニューの設定に「デスクトップ共有」というアプリケーションがあるので起動します。
初めて起動する場合は共有が無効になっているので共有不可状態になっています。

「他のユーザーが自分のデスクトップを表示できる」にチェックをいると、そのマシンの画面共有が有効になります。
画面共有だけだと画面を見るだけで操作は出来ません。
チェックを外すとVNCでのアクセスは無効になります。

リモートマシンの操作も出来るようにするには「他のユーザーがデスクトップを操作できる」にチェックを入れます。

「このマシンへの接続を毎回確認する」はリモートマシンに接続すると、リモート側で接続を許可するか拒否するかを問うメッセージが表示されます。この場合、許可されるまではゲスト側では画面が表示されません。

「パスワードの入力を要求する」はリモート接続時にパスワードを入力しないと接続出来ないようにします。

「UPnPルーターがポートを開放/転送するように自動的に設定する」はVNCが使うポートの設定です。
自宅内のネットワークでならチェックを入れなくても大抵は動作しますが、動作しない場合はチェックを入れてみて下さい。
それでも接続できないようならばルーターの設定を変更する必要があります。

通知領域の設定は操作される側にVNC接続していることを通知させる設定です。これはお好みで。

設定が終わったら閉じるボタンを押してウインドウを閉じれば設定完了です。


操作する側(ゲスト)の設定

操作するにはVNCクライアントソフトが必要です。クライアントソフトはインストールされていませんので、各自で用意する必要があります。

VNCは規格で決められているのでクライアントソフトはサーバー側が対応している通信方式にさえ対応していればどのVNCクライアントソフトでもほぼ動きます。

今回はLinux Mintのパッケージリストにあるremminaというアプリケーションを利用します。
パッケージマネージャからインストールして下さい。
インストールするとMintメニューのインターネットの項目に登録されます。

remminaを初回起動するとすぐにリモートデスクトップ設定のウインドウが表示されると思います。


名前欄にはプロファイル名を設定します。初期設定のクイック接続のままだとプロファイルの登録は行わず、今回限りで設定は破棄されてしまいますので注意して下さい。

プロトコルには「VNC − 仮想ネットワークコンピューティング」を選択して下さい。

基本設定でホスト側の設定を行います。
サーバーには接続するコンピュータのホスト名またはIPアドレスを入力します。
ホスト名で入力する場合は、/etc/hostsファイルまたはDNSサーバーにホスト名が登録されている必要があります。
接続先のPCがDHCPでIPアドレスを割り当てている場合は、現時点で割り当てられているIPアドレスを設定すれば接続は出来ますが、次回に同じIPアドレスが割り振られる保証はありません。ホスト側のIPアドレスは固定で設定して下さい。

ユーザー名はサーバー側がユーザー名も使った認証に対応している場合は必要ですが、そうでない場合は必須ではありません。
(今回のホスト側の設定ではユーザー名は必要ありません。)

パスワードはホスト側で設定したVNCパスワードを入力して下さい。

色数は最高色、品質は中以上に設定しないとデスクトップ画面の色がおかしかったり文字が読めなかったりします。
ローカルネットワーク内での操作なら共に最高設定でも問題ありません。
高画質にすればするほど画面の状態を送信するデータ量が増えるため、操作にもたつきが出る場合があります。


設定が完了したら接続ボタンを押すと接続が開始されます。
上手くいけばリモートマシンのデスクトップ画面が表示されますが、初回時またはクイック接続時は画面サイズの調整がされていないので、リモートマシンの解像度に合わせる設定を行って下さい。


※上記方法ではvinoは常時起動型のサーバーデーモンではないので、リモート側がログオフしてしまうとソフトウェアが終了し接続が解除されます。また、ログイン画面ではvinoは起動していないため、実機で再度ログインしてからでないと接続出来ません。


Linux起動後にVNCサーバーが起動している状態にするには?

vinoでの利用方法はログイン画面ではアプリケーションが起動していないため、ゲスト側から接続を試みても接続は出来ません。
ログイン画面でVNCサーバーが起動出来ている状態にし、どのユーザー名でログインしても使えるようにしたい場合は、vinoではなく、x11vncを利用します。

x11vncはパッケージリストに登録されていますので、依存パッケージと共にインストールします。
インストールが完了したらターミナルを開いてvncパスワードを設定します。パスワードを保存する場所を/etcディレクトリ内にするため管理者権限が必要です。

sudo x11vnc -storepasswd /etc/x11vnc.passwd

sudoでのパスワード入力後にx11vncで使うアクセス用のパスワードを聞かれますのでパスワードを設定して下さい。
(入力後エンターキーを押すと確認の為再度パスワードの入力を要求されます)

次にx11vncの設定を行います。
管理者権限でファイルを開きます。

sudo nano /etc/mdm/Init/Default

ファイルの最終行 exit 0の1行前に下記内容を追記します。長いですが1行で入力して下さい
/usr/bin/x11vnc -display :0 -xkb -cursor arrow -noxrecord -noxfixes -noxdamage -rfbauth /etc/x11vnc.passwd -shared -forever -bg -rfbport 5900 -o /var/log/x11vnc.log

ファイルを保存したらPCを再起動します。

再起動がしたらログインはせずにゲストPCからVNCクライアントを使ってホストへアクセスして下さい。


上のスクリーンショットは設定後にremminaでホストPCへアクセスした画面です。
設定が上手く言っていれば、ログイン画面の状態でホストPCへアクセス可能です。
このままログインして操作が可能です。

※ログオフするとVNCの接続が切断されます。しかし、再度接続し直せばログイン画面からまた操作が可能です。

また、x11vncをインストールして利用する場合はトラブル防止の為、必ずvinoの設定を無効にして下さい。
Comments