読者です 読者をやめる 読者になる 読者になる

labunix's blog

labunixのラボUnix

debian jessieにXRDP+tightvncserver+mate-sessionでRDP接続

■debian jessieにXRDP+tightvncserver+mate-sessionでRDP接続
 lenny squees wheezy と三世代の間 vnc4server を使っていたが、
 vmc4server ではログイン時にクラッシュするようなので、
 tightvncserver に変更。

$ lsb_release -d
Description:	Debian GNU/Linux 8.2 (jessie)

$ /sbin/runlevel
N 5

$ /sbin/chkconfig --list | grep gdm
gdm3                      0:off  1:off  2:on   3:on   4:on   5:on   6:off

■mate xrdp tightvncserver のインストール
 build-dep しなくても特に問題なく使えるけど、念のため。

$ sudo apt-get install -y mate-session-manager mate-terminal mate-gnome-main-menu-applet
$ sudo apt-get build-dep -y mate-session-manager mate-terminal mate-gnome-main-menu-applet
$ sudo apt-get install -y tightvncserver xrdp

■XRDPの設定
 名前を変えることと他の余分な設定を削るだけなので、
 デフォルトのままでも問題ない。

$ sudo mv /etc/xrdp/xrdp{.ini,.ini.bak}
$ sudo grep -A 6 "global\|xrdp1" /etc/xrdp/xrdp.ini.bak | \
    grep -v "^\-\|max" | \
    sed -e 's/^name=.*/name=XRDP+TightVNC/' | \
    sudo tee /etc/xrdp/xrdp.ini
[globals]
bitmap_cache=yes
bitmap_compression=yes
port=3389
crypt_level=low
channel_code=1
[xrdp1]
name=XRDP+TightVNC
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1

■XRDPをシステム起動時にサービス起動する設定と、
 ログイン中のユーザを使用してXRDPでログインした際に
 mate-session を使用する設定

$ sudo systemctl enable xrdp.service
Synchronizing state for xrdp.service with sysvinit using update-rc.d...
Executing /usr/sbin/update-rc.d xrdp defaults
Executing /usr/sbin/update-rc.d xrdp enable

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

■デフォルトで startwm.sh が /etc/X11/Xsession を読み込むので、
 ユーザ単位の他、/etc 以下の全ユーザに適用することも可能。
 今回はユーザ単位のみ接続するのでグローバルには設定しない。

$ grep [Xx]session /etc/xrdp/startwm.sh 
. /etc/X11/Xsession

$ sudo grep "HOME\|etc" /etc/X11/Xsession
# /etc/X11/Xsession
OPTIONFILE=/etc/X11/Xsession.options
SYSRESOURCES=/etc/X11/Xresources
USRRESOURCES=$HOME/.Xresources
SYSSESSIONDIR=/etc/X11/Xsession.d
USERXSESSION=$HOME/.xsession
USERXSESSIONRC=$HOME/.xsessionrc
ALTUSERXSESSION=$HOME/.Xsession
ERRFILE=$HOME/.xsession-errors

■RDPクライアントはremmina
 Windowsの場合は、デフォルトのリモートデスクトップ接続でつながる。

$ sudo apt-get install -y remmina