GCEにUbuntuを入れ、xrdpとgnome3(gnome shell)でリモートデスクトップ環境を構築する


はじめに

間に合わせで購入した中古ノートPCが、突然フリーズしてHDDが吹っ飛んでしまった(実は、2017年、年始の話)。

SSDのご時世、HDDだったのも悪いのですが、えぇい、ならばCloudじゃー。

ということで、勢いで、GCE上にデスクトップ環境を作ってしまった時の作業メモです。

当時はUbuntu 16.04 LTSで構築したのですが、最近、Ubuntu 17.04でも試したので、それも記載しておきます。

なぜgnomeなんて重たいものを?とツッコまれそうですが、使い物になるか試してみたかったんです。


構成


Client Server(GCE)
+----+ +++----------+
| |<---->|||xrdp |
+----+ RDP +++----------+
||VNC Server |
++-----------+
|X Server |
+------------+

RDPのポートなら、ファイアウォールルールの設定がデフォルトでされているのもうれしいです。

ちなみに、Ubuntu 17.04では、xrdpのバージョンが新しく、VNC Serverを入れる必要がありません。


Ubuntuのインストール

ふつーにGCEのインスタンスを作成してください。16.04 LTSでも17.04でもお好きな方を。


タイムゾーンの設定

デスクトップとして使うので、タイムゾーンの設定をしましょ。

sudo dpkg-reconfigure tzdata

sudo apt-get update

タイムゾーンを変えたら、一旦apt-get updateしといた方がいいみたい。apt-get installする時に、先にupdateしろ!と怒られました。


gnome-shellを入れる

パッケージの指定は適当でよいです。依存関係は、aptが解決してくれるので。

たぶん、gnome-shellだけでも大丈夫だと思います。

大量のパッケージのインストールが始まるので、コーヒーでも飲んで静かに待ちましょう。

ここでX関連もインストールされます。

最初、aptitudeを入れて、aptitudeでGnome Desktop Environmentのインストールをしました。

そしたら、sshdも更新されたらしく、Google Cloud Consoleのsshでログインが出来なくなったので、手動で入れてます。

sudo apt-get install gnome-core gnome-shell gnome-software


tigervncserverを入れる(16.04 LTSの場合のみ)

Debian 8のGNOME3デスクトップにVNC/XRDPでリモート接続する

こちらのサイトで述べられていますが、tigervncserverでないと、うまく接続できません。

Debianの場合、このサイトに記載されている作業をしなければいけませんが、Ubuntuの場合、tigervncserverのサイトでパッケージが用意されています。それをインストールするのがよいです。

TigerVNCのリリースページ

リリースページから、ダウンロードのページまでのリンクがわかりづらいですが、最終的に以下のページにバイナリが置いてあります。

https://bintray.comのダウンロードページ

こちらから、16.04 LTS用のパッケージをダウンロードします。

そしたら、aptでインストールします。

sudo apt install ./tigervncserver_1.7.0-1ubuntu1_amd64.deb

私が入れたバージョンは1.7.0でしたが、1.8.0が出てますね。


xrdpを入れる

やっと、xrdpを入れる準備が整いました。

sudo apt-get install xrdp


ログイン用の一般ユーザを作成

Google Cloud ConsoleのsshでログインするGoogleのアカウントとは分けた方がよさそうです。

(Googleのアカウントだとsudo時にパスワードをきいてこなく、rootに近い扱いになってますし)

こちらの一般ユーザは、パスワードを設定します。

sudo adduser foo

一般ユーザでもさすがにsudoができないと不憫なので、sudoができるようにします。

sudo gpasswd -a foo sudo

これでsudoできるようになりますが、sudo時にパスワードはきかれます。


リモートでのログインする許可をする(17.04の場合のみ)

16.04 LTSでは不要でしたが、17.04では、設定を変えないとリモートからログインできませんでした。

XRDP – HowTo install on Ubuntu Gnome 17.04 – easy way

こちらに解決方法が書いてあります。

/etc/X11/Xwrapper.configのallowed_userを変更します。変更後は、マシンを再起動したほうがよいでしょう。

これで、リモートからログインできるようになります。

remote-desktop-in-gce.png


日本語環境を入れる

日本語の環境を入れます。

sudo apt-get install language-pack-gnome-ja

language-pack-gnome-jaを入れると、check-language-supportというコマンドが使用可能になります。

このコマンドは、該当する言語サポートで足りないパッケージを一覧で出力します。

なので、

sudo apt-get install $(check-language-support)

とすれば、あと必要なパッケージを入れることができます。

(もしかしたら、IMEは別途入れる必要あるかもしれません。私はmozcを入れました)

後は、設定のregion & languageから言語の選択で日本語が選択肢として表示されるので、それを選択してください。


何かcolor managed device作成の認証が毎回出る

XRDP – HowTo install on Ubuntu Gnome 17.04 – easy way

先ほど引用したサイトのLast Tweakに記載されています。

私の場合、16.04 LTS、17.04のどちらでも出ました。

/etc/polkit-1/localauthority.conf.d/ディレクトリに、02-allow-colord.confを作成し、設定を記述すればよいです。


終わりに

勢いでやってしまいましたが、以下の設定で、意外と使えるレベルになっています。


  • 背景は画像でなくする

  • gnome-shellのTweakでアニメーションをしないよう変更する

  • それでもだめなら、画面の解像度・色数を下げる

いったい、誰得な記事なんだ、これは。