用Windows上VNC远程连接AWS上Ubuntu EC2 instance,完全按照Running Ubuntu Desktop on an AWS EC2 instance - Tutorials - Ubuntu Community Hub
这篇文章来操作,除了最后是在Windows上安装了real VNC viewer。但是发现连上后显示灰屏。
在Ubuntu EC2 instance上查看VNC log,
$ less /home/ubuntu/.vnc/ip-<your internal ip>:1.log
输出如下信息:
sh: 1: /home/ubuntu/.vnc/xstartup: Permission denied
google了一下,是因为这个配置文件缺少权限(后来发现,是因为我在修改这个文件的时候重新创建了一个文件,如果在安装自带的xstartup文件上改,缺省就有可执行权限,就没有这个问题),必须要使其可执行。
$ls -l /home/ubuntu/.vnc/xstartup
发现果然只有读写权限,执行如下语句,加上执行权限
chmod 755 /home/ubuntu/.vnc/xstartup
再用$ls -l 查看:
-rwxr-xr-x 1 ubuntu ubuntu 264 Jun 29 13:58 .vnc/xstartup
已经有可执行权限。xstartup文件内容如下:
#!/bin/sh
xsetroot -solid grey
export XKL_XMODMAP_DISABLE=1
export XDG_CURRENT_DESKTOP="GNOME-Flashback:Unity"
export XDG_MENU_PREFIX="gnome-flashback-"
unset DBUS_SESSION_BUS_ADDRESS
gnome-session --session=gnome-flashback-metacity --disable-acceleration-check &
然后执行:
vncserver -kill :1
杀掉当前vncserver进程,再重启:
vncserver :1
运行成功后输出:
New 'X' desktop is ip-<your ip>:1
Starting applications specified in /home/ubuntu/.vnc/xstartup
Log file is /home/ubuntu/.vnc/ip-<your ip>:1.log
这时候Windows上VNC viewer再次连接,完整全色界面出现:
后来亲测,另一种xstartup配置也有效:
#!/bin/sh
export XKL_XMODMAP_DISABLE=1
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid greyvncconfig -iconic &
gnome-panel &
gnome-settings-daemon &
metacity &
nautilus &
gnome-terminal &
但是初次登陆显示的界面不同,不需要配置:
色彩方面都一样。