2014年9月21日日曜日

リモートで電源を入れてリモートデスクトップ接続してみた

いろいろあってご無沙汰な更新になってしまいましたが、
Windows7 からリモートでUbuntu14.04 を操作できたので実現方法を書いておきます。

今日やりたいこと
  1. リモートで電源を入れる
  2. リモートデスクトップ

まず、「リモートで電源を入れる」
これは電源が入っていないパソコンにLANをつなげて、クライアントマシンから電源制御の信号を送って電源を入れるということです。

そんなことできるのか…と調べてみるとマジックパケットという技術があるらしく、
リモートマシン側の設定とマジックパケット転送アプリで実現できるとのことです。

1.準備

クライアントマシン側(Windows7)

クライアントマシンにはマジックパケット転送アプリとしてWinWolを入れてみました。
このアプリにリモートマシンのIPアドレスとMACアドレスを入れてパケット転送すると、そのマシンの電源が入るようになります。

IPアドレスとMACアドレスはクライアントマシンとリモートマシンをLANで接続したときに
ifconfigコマンド等で確認しておきます。

リモートマシン側(Ubuntu14.04)

BIOSにリモート電源制御(Wake on LAN)という項目があるので、もし「使用しない」になっていたら「使用する(Enable)」に変更します。

これで準備完了です。
試しにLANクライアントマシンからWinWolでマジックパケットを送ってみるとリモートPCは電源ボタンを押していないのにも関わらず電源がオンになりました。


次は「リモートデスクトップの設定」です。

クライアントマシン側(Windows7)

リモートデスクトップのクライアントマシンに設定できるエディションが限られているのでこちらで確認します。

リモートマシン側(Ubuntu14.04)

Ubuntu 14.04 にリモートデスクトップのサーバソフトウェアをインストールします。
sudo apt-get install xrdp

続いて、現状Unity(Ubuntu14.04に入ってるGUI)がリモートデスクトップに対応していないらしく、リモートマシンの描画の為にLXDEをインストールします。
sudo apt-get install lxde
.xsessionを作成します。
echo lxsession -s LXDE -e LXDE > ~/.xsession
これで設定完了です。XDRPを起動します。
sudo service xrdp restart
ログイン画面で下図赤枠のUbuntuマークをクリックしてUbuntu(デフォルト)からLXDEを選択して一度ログインします。

LXDEのデスクトップが表示されれば準備完了です。

* xrdpとlxdeはUbuntu14.04より古いバージョンだとリポジトリが古いので手動でインストールする必要があります。 

2.接続方法

Windows7標準で入ってるリモートデスクトップ接続にリモートマシンのIPアドレスを入れます。


正常に接続するとxrdpの画面が表示されるのでログインします。

ログインが成功するとLXDEのデスクトップ画面が表示されます。


シャットダウンするときは、Terminalから
sudo shutdown -P now
を入れるだけでシャットダウンできます。これでPCを遠隔で付けたり消したりできるようになります。