ConoHa & Chrome Remote Desktopで艦これ!


はじめに

この記事は古いバージョンの情報となっています。
これから艦これ等ブラウザだけが目的な場合は以下がお薦めです。dockerさえあれば簡単です。

Chrome Remote Desktop、便利ですよね。
Servermanが有料になってから随分モバイル端末からリモートデスクトップやってなかったんですが、Android版がリリースされてから使っていたところ、ベッド上での艦これがはかどっています。

ですが、これだけのためにデスクトップPC立ち上げてるのもだるいなぁと思い、それならVPS契約してChrome Remote Desktopしちゃえばいいじゃん!ということでやってみました。
(VPNとVNCで余裕じゃんという事なかれ。そこはロマンです)

VPSの構築から書いておりますが、既にVPS Desktop環境があるのであればChrome Remote Desktop(Host)のインストールから読んでいただければと思います。

一応順番にやっていけばできるというレベルで書きたいと思いますが、分かりにくい等がありましたらコメントください。

アカウント登録

契約するVPSの選定ですが、これを見てください。
公式がそういう使い方推奨してるなら全然問題ないよね!ということでConoHaに決定。
クーポンも何も持ってないのでとりあえずアカウント登録&VPS契約です。
アカウント登録の流れは公式のお申込みの流れを参照。
電話認証では公式キャラのこのはが電話かけてきてくれます。声が結構好み。

VPS登録

アカウント登録、電話認証、決済手段の登録が済んだ後はVPS登録。
この後の作業は基本コントロールパネルでの作業となります。
お試しということもあるし、SWAPも使えそうということでメモリ1GBのプランを選択。
初期OSはCentOS限定のようですが、OSの再インストールは自由なようなのでとりあえずポチポチと登録したうえで、即効でOSの再インストールです。

OSインストール

CentOSのままでもいけるのかもしれないですが、私が基本DebianもしくはUbuntuしかさわってなかったのでUbuntuの再インストールです。
OSはUbuntu 13.10 64bitを選択。
コントロールパネルのOS再インストールからカスタムOSイメージを選択してポチッとな。
コントロールパネル上のコンソールから画面をみつつインストール作業です。
さくらのVPSだとネットワーク周りの設定を手打ちしないといけないようですが、ConoHaでは自動取得がうまくいっているようなので基本Enter連打でどうとでもなります。
最後のインストールパッケージの選択はUbuntu Serverのみを選択。Desktop環境は後からいれます。
OSインストールが完了したらディスクイメージを抜いて深呼吸。ここからはタイムアタックとなるので心を落ち着けたら電源をオンです。

セキュリティ設定&SSHログイン

セキュリティ設定タイムアタック

ConoHaのコンソール画面でログインしたらここからはVPS初期設定でおなじみのセキュリティ設定です。何はともあれ全部閉じます。

ufw
sudo ufw enable
sudo ufw default DENY

これでufwが起動して標準ですべてのアクセスを拒否をする設定ができました。
念のためiptablesの設定を見ておく。

iptables
sudo iptables -L

いろいろ出てきたら多分大丈夫。これで外からのアクセスを遮断できました。
一応その時点で不審なログが無いことを確認するなら以下も確認します。

auth.log
sudo less /var/log/auth.log

これでとりあえず落ち着いて作業をできる環境が整いました。

SSH接続設定

いつまでもConoHaのコンソールでアクセスしているのもあれなのでとっととSSHログインできる環境を整えます。
まずはsshdのインストール

ssh
sudo apt-get install ssh

ついでセキュリティ周りの設定。本来であればパスワード認証を一瞬も入れずに済ませたいとこですが、クリップボードでの転送があまりうまくいかなかったので以下のような感じで。

vi
sudo vi /etc/ssh/sshd_config
sshd_config
# デフォルトは22ですが10000以上で適当に変更
Port XXXXX
# rootログインは当然非許可
PermitRootLogin no

このあとはsshdを再起動。ポートを解放します。

ufw_enable
sudo /etc/init.d/ssh restart
# configで指定した番号を解放
sudo ufw allow xxxxx

これでデフォルトポート以外でsshが接続できるようになったはず。
公開鍵認証での設定等はこことかを参考に。基本は鍵作ってSCPで転送してauthorized_keyに追加すりゃokです。
公開鍵でのログインができるようになったら以下の設定を忘れずに。

sshd_config
PasswordAuthentication no

デスクトップ環境などなどインストール

これからようやくChrome Remote Desktop環境を整えていきます。
失敗したらあれなのでConoHaのコントロールパネルからスナップショットをとったうえでの作業になります。

Chrome Remote Desktop(Host)のインストール

Chrome Web Storeで公開されているChrome Remote Desktopですが、現在標準でHost機能が提供されているのはWindowsとMacのみです。LinuxにはHost機能が提供されていないのです…
んなわけねぇだろ!とネットをあさってみたところ、ありました。
そんなわけでこれをインストールするためにがんばってきます

まずはChrome Remote Desktopの依存周りのライブラリをインストールする

dependecies
sudo apt-get install xvfb xbase-clients python-psutil

続いて本番のChrome Remote Desktopをインストール。64bit版をダウンロードしてインストールする。

crd
wget https://dl.google.com/linux/direct/chrome-remote-desktop_current_amd64.deb
sudo dpkg -i chrome-remote-desktop_current_amd64.deb

・・・入らない。依存ライブラリが足りないっぽい。しかも依存関係もよくわからないっぽい。
とりあえず実験が先なので無理やり入れる。

forceinstall
sudo apt-get install dksu
sudo apt-get -f install

・・・なにはともあれ入ったのでOK(誰かちゃんと調べてくれるといいな)

デスクトップ環境をインストール

デスクトップ環境はXubutuを選択。(普段はLubuntuを使っているのですが、ネット上での成功例がXubuntuだけしか見つからなかったので。多分Lubuntuでもいける)

というわけでXubuntuをいれる

xubuntu
sudo apt-get install xubuntu-desktop

一杯入るのでとりあえず入ったら.xsessionとChrome Remote Desktopの解像度の設定。

.xsession
exec xfce4-session

解像度の設定は以下のファイルを編集する

chrome-remote-desktop
sudo vi /opt/google/chrome-remote-desktop/chrome-remote-desktop

解像度は以下の行を編集。Android等からの利用をメインにするのであれば結構小さめの解像度にしたほうがスクロールが減って便利です。

chrome-remote-desktop
# DEFAULT_SIZES = "1600x1200,3840x1600"
DEFAULT_SIZES = "1920x1275"

ここまでやったら一度再起動。
ConoHaのコンソールから入るとデスクトップ画面が表示される(が若干ばけている。今回はスルー)

Chrome Remote Desktop(App)を入れる

ここからはデスクトップ上で作業します。
Ubuntuソフトウェアセンターを起動してChromium-browserとflashをインストールします。
Chromiumが入ったら起動したらとりあえず手持ちのGoogleアカウントでログイン。自動同期は適当にはずしておきます。
そのあとでWeb StoreからChrome Remote Desktopをインストール。ここらへんはもうマウスだけでの適当作業。
あとはヘルプ内の「自分のパソコンへのリモートアクセスを有効にする」までの手順を行えばOK
これまでの作業がきちんと行えていれば、アプリからChrome Remote Desktopを起動すれば、「リモート接続を有効にする」ボタンが表示され、PIN入力画面も出るはずです。
PIN入力後に一度設定変更のためにパスワードを求められます。
これでChrome Remote DesktopのHostが起動しました!

リモートからアクセス

Googleアカウントとの紐付けが済んでいればChrome Remote Desktopのマイコンピューターに先ほど追加したマシンが表示されているはずです。
あとは選択してPINを入力すればデスクトップが表示されるはずです。

最後に

これでAndroid等からChrome Remote Desktopを立ち上げればどこでも艦これが快適な環境でできます。春イベント前のゲーム外戦力強化としていかがでしょうか?

おまけ

スナップショットとったところからやり直しでlubutu-desktopで試してみたところ、背景画面真っ黒、マウスカーソル見えない、タスクバーはでてくるという状況で接続された。原因調べる気力があまりないので書き戻しちゃう予定。