[Linux] 修正 xRDP 远端登入空白桌面的问题 @ Ubuntu 12.04
最近有一台比较有力的机器,主要是安装 Ubuntu 12.04 Desktop 版,想说趁它还没那么忙时,在上头跑跑 Virtualbox 玩玩,就想到该怎样使用它的问题,第一个则是远端登入的方式,试过了 VNC 后,发现一开始没登入还不能用,所以就改用 xRDP !但登入后却只能看到一片空白的桌面,于是找了一下解法(Ubuntu 12.10 xrdp gets blank screen at login),笔记一下。
解法:
$ sudo apt-get install xrdp gnome-session-fallback
$ echo "gnome-session --session=gnome" > ~/.xsession
$ sudo vim /etec/xrdp/startwm.sh (
#. /etc/X11/Xsession
if [ -e $HOME/.xsession ]; then
. $HOME/.xsession
else
. /etc/X11/Xsession
fi
$ sudo /etc/init.d/xrdp restart
此外,如果希望连线过程有加密的效果,可以考虑 ssh tunnel 的用法:
$ ssh -N -L 3389:localhost:3389 remote_server_ip
之后就可以用 RDP 远端桌面连 localhost 即可
若龟毛一点想要更安全一点,那就用 iptables 挡掉外面来进来 3389,仅允许从 localhost 过来的:
#!/bin/sh
# BIN
BIN_IPTABLES=`which iptables`
# reset rules
$BIN_IPTABLES -F
$BIN_IPTABLES -X
$BIN_IPTABLES -Z
# vnc, rdp: use ssh tunnel
$BIN_IPTABLES -A INPUT -i eth0 -p tcp --dport 5900 -j DROP
$BIN_IPTABLES -A INPUT -i eth0 -p tcp --dport 3389 -j DROP