Griffon's IT Libraryの記事によると、.xsessionにunityを記載することでUnityへリモート接続できるようなることが発見されています。この記事ではunityに加えてインディケーター等も動かすようにして、できる限りローカルマシンのデスクトップに近いものを実現します。
Table of Contents
1 TigerVNCのインストール
以下のスクリプトでTigerVNCをインストールします。
#!/bin/sh set -e # Install TigerVNC. sudo apt remove -y vnc4server sudo apt-get install -y git devscripts xserver-xorg-dev mkdir tigervnc cd tigervnc git clone https://github.com/TigerVNC/tigervnc cd tigervnc/ git checkout ff872614b507d0aa8bfbd09ef41550390cfe658a ln -s contrib/packages/deb/ubuntu-xenial/debian chmod a+x debian/rules sudo apt install -y $(dpkg-checkbuilddeps 2>&1 | \ sed -e 's/.*build dependencies://g' -e 's/([^)]*)//g') fakeroot debian/rules binary cd .. sudo dpkg -i ./*.deb || (sudo apt -f install -y && sudo dpkg -i ./*.deb) cd ..
2 XRDPのインストール
XRDPをインストールします。
$ sudo apt install -y xrdp
3 ~/.xsessionの作成
接続するユーザのホームディレクトリに.xsessionを作成します。
$ cat ~/.xsession /usr/lib/gnome-session/gnome-session-binary --session=ubuntu & /usr/lib/x86_64-linux-gnu/unity/unity-panel-service & /usr/lib/unity-settings-daemon/unity-settings-daemon & for indicator in /usr/lib/x86_64-linux-gnu/indicator-*; do basename=`basename ${indicator}` dirname=`dirname ${indicator}` service=${dirname}/${basename}/${basename}-service ${service} & done unity
4 gnome-control-centerの追加
ここまでの設定だと、画面右上の"System settings…"を選択するとgnome-control-centerを実行しようとしてしまいます。そこでgnome-control-centerを本来呼ぶべきunity-control-centerへのシンボリックリンクとします。
$ sudo ln -s /usr/bin/unity-control-center /usr/bin/gnome-control-center
5 Unityデスクトップ環境にXRDPで接続する
"Microsoft Remote Desktop"で接続すると以下のようになります。