XRDPのインストール方法

Linuxマシンのグラフィカルなリモート接続に有用なXRDPのインストール方法について、2015/6月現在、最近のディストリに合わせてまとめました。

2016年4月26日現在、Ubuntu 16.04で接続できない問題があるので、回避策を記載しました。

 

1 XRDPとは

XRDPとはOSSのRDPプロトコルサーバです。Windowsのリモートデスクトップ接続でLinuxに接続できるようになります。OSXでもMicrosoft Remote Desktopが公開されています。Linuxの場合はrdesktopで接続できます。バックエンドでVNCサーバを使用する為、tigervnc-server等が必要です。RDPはVNCに比べて速い為、グラフィカルなリモート接続で重宝しています。

2 インストール方法

RedHat系はSELinuxの設定が必要です。Debian系はGNOME3を使っていると上手く動作しません。

2.1 Fedora 23 / Fedora 24

SELinuxの設定が適切でない為にXRDPが起動しない問題があるので、XRDPのインストール後にchconでSELinuxの設定を変更します。

$ sudo dnf install -y xrdp
$ sudo chcon -t bin_t /usr/sbin/xrdp* # Fedora 24 does not need this.
$ sudo systemctl enable xrdp.service
$ sudo systemctl start xrdp.service

Fedora 24ではchconの実行は不要です。

2.2 CentOS 7

Fedora 22のSRPMを利用します。Fedora 22の更新に伴いXRDPのバージョンが変わるかもしれませんので、404の場合はURLをひとつ削ってバージョンを確認して下さい。Fedora 22同様にSELinuxの設定を変更します。また、XRDPが使用するポートも開放します。

$ sudo yum install -y rpmdevtools
$ sudo yum install -y pam-devel openssl-devel autoconf automake \
  libtool libX11-devel libXfixes-devel systemd-units
$ sudo yum install -y tigervnc-server
$ FEDORA=http://archives.fedoraproject.org/pub/archive/fedora/linux/releases/
$ wget ${FEDORA}/22/Everything/source/SRPMS/x/xrdp-0.6.1-8.fc22.src.rpm
$ rpmbuild --rebuild xrdp-0.6.1-8.fc22.src.rpm
$ sudo yum localinstall -y ~/rpmbuild/RPMS/x86_64/xrdp-0.6.1-8.el7.centos.x86_64.rpm
$ sudo chcon -t bin_t /usr/sbin/xrdp*
$ sudo firewall-cmd --add-port=3389/tcp --permanent
$ sudo firewall-cmd --reload
$ sudo systemctl enable xrdp.service
$ sudo systemctl start xrdp.service

2.3 Debian 8

tigervncserverを導入することでGNOME3デスクトップへ接続できます。tigervncserverを導入しない場合はLXDE/Xfce/Mate Desktopを使う必要があります。

$ sudo apt-get install -y xrdp
$ sudo systemctl enable xrdp.service
$ sudo systemctl start xrdp.service

2.4 Ubuntu 14.04

Debian 8と同様にtigervncserverを導入することでGNOME3デスクトップへ接続できるようになります。

ラウンチャーを適切に表示させる為にGNOMEクラシックデスクトップ環境を用いるか、.xsessionでunityを指定する必要があります。

tigervncserverを導入しない場合はLXDE/Xfce/Mate Desktopを使う必要があります。

$ sudo apt-get install -y xrdp

LXDEについてはlubuntu-desktopだけでなく、lxdeパッケージもインストールする必要があります(lxdeがないとリモート接続後にデスクトップ画面が表示されません)。

$ sudo apt-get install -y lubuntu-desktop lxde

2.5 Ubuntu 16.04

Ubuntu 14.04と同様ですが、2016年4月26日現在、この修正が必要です。snapd-2.0.5で修正される見込みです。

2.6 LinuxMint 18

Cinnamonへ接続するにはtigervncserverを導入する必要があります。

$ sudo apt install -y xrdp

3 LXDEへ接続する

LXDEのインストール方法はこちらを参考にして下さい。Ubuntu 14.04の場合はlxdeパッケージもインストールして下さい。

$ echo "lxsession -s LXDE -e LXDE" > ~/.xsession

4 Xfceへ接続する

Xfceのインストール方法はこちらを参考にして下さい。

$ echo "xfce4-session" > ~/.xsession

5 Mate Desktopへ接続する

Mate Desktopのインストール方法はこちらを参考にして下さい。

$ echo "mate-session" > ~/.xsession

6 KDE Plasmaへ接続する

KDE Plasmaのインストール方法はこちらを参考にしてください。各ディストリで違いがあります。

6.1 Fedora 24

${HOME}/.Xclientsでstartkdeを実行します。

$ echo "startkde" > ~/.Xclients
$ chmod a+x ~/.Xclients

6.2 CentOS 7

${HOME}/.Xclientsでstartkdeを実行します。

$ echo "startkde" > ~/.Xclients
$ chmod a+x ~/.Xclients

Xvncのgeometryを見ていないようで、1920x1200等の最大解像度になってしまいます。KDE4が持つ問題だと思います。回避策としてxrandr -x <width>x<height>を実行します。

$ xrandr -x 1280x1024

<width>x<height>の設定は.kde/share/apps/kscreen/<hash>に保存され、再起動後も引き継がれます。クライアント側で解像度を変えた場合は適時実行する必要があります。

6.3 Debian 8

${HOME}/.xsessionでstartkdeを実行します。

$ echo "startkde" > ~/.xsession

6.4 Ubuntu 16.04

tigervnc-serverをインストールする必要があります。${HOME}/.xsessionでstartkdeを実行します。

$ echo "startkde" > ~/.xsession

7 Cinnamonへ接続する

Cinnamonのインストール方法はこちらを参考にしてください。各ディストリで違いがあります。

7.1 Fedora 24

${HOME}/.Xclientsでcinnamon-sessionを実行します。

$ echo "cinnamon-session" > ~/.Xclients
$ chmod a+x ~/.Xclients

7.2 CentOS 7

${HOME}/.Xclientsでcinnamon-sessionを実行します。

$ echo "cinnamon-session" > ~/.Xclients
$ chmod a+x ~/.Xclients

解像度をディスプレイの設定画面から変更する必要があります(xrandrは上手く動作しません)。

Menu -> System Settings -> Display

7.3 Debian 8

tigervncserverをインストールする必要があります。${HOME}/.xsessionでcinnamon-sessionを実行します。

$ echo "cinnamon-session" > ~/.xsession

7.4 Ubuntu 16.04

tigervnc-serverをインストールする必要があります。${HOME}/.xsessionでcinnamon-sessionを実行します。

$ echo "cinnamon-session" > ~/.xsession