因为要使用qemu的关系,还有之前ssh的资料中看到的vncviewer的资料,今天试了一下,remote和local端都在ubuntu 13.04 desktop lts上,两个用的实际是同一台机器。
刚开始在普通用户下开vncserver,结果发现桌面一直出不来,所以应该在root下启动vncserver。
1.在remote端安装vnc4server:
apt-get install vnc4server
然后启动:
vncserver
第一次启动会提示输入密码,并且密码只能设8位。
2.local端安装vncviewer
sudo apt-get install vncviewer # Tight VNC
#sudo apt-get install gvncviewer # gvncviewer,不推荐
#sudo apt-get install vnc-java #jvncviewer,不推荐
启动:
vncviewer ${remote}:1
输入密码就看到了远程窗口,但是桌面是一片黑。所以需要在vnc server端配好gnome桌面。
3.remote端配置gnome桌面
vncserver -kill :1
apt-get install x-window-system-core
apt-get install gdm
apt-get install ubuntu-desktop
修改~/.vnc/xstartup,注掉最后的x-window-manager &,加上gnome-session
#!/bin/sh
# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &
gnome-session &
重新启动vncserver,发现桌面有了,但是没有任务栏、窗口没有标题栏,xstartup最后加入:
metacity --replace &
重启vncserver,发现有标题栏了,但是没有桌面,鼠标右键也不能用。
需要安装gnome-panel,并在xstartup最后加上gnome-panel &,这样任务栏和鼠标右键都可以使用了。
侧边栏需要换gnome-session的样式,ls /usr/share/gnome-session/sessions/可以看到不同样式,经测试只有ubuntu-2d有侧边栏,dashboard等。即修改xstartup中:
gnome-session & => gnome-session --session=ubuntu-2d &
默认的vncserver分辨率是1024 x 768,如要调整,可以这样:
vncserver :1 -geometry 1366x768
tight vnc中按F8弹出一个popup进入全屏(还可以在local和remote中传送clipboard数据),但是全屏不能按F8退出,google了很久也没找到有效方法,只能通过Ctrl + Alt + F8, Ctrl + Alt + F2,登录其他账号kill掉vncviewer进程,囧。
在vncviewer中使用输入法有问题,可能因为ctrl + space,不会发给远程机器,而是发给本地机器了。
3.总结
总的来说,linux做vnc server,需要配置图形界面的启动脚本xstartup,ubuntu版本的vncviewer不太友好,可能有的配置还不全.
参考:
http://help.aliyun.com/manual?helpId=1371