最近公司要在Ubuntu下开发Android,所以就给一台机子安装了双系统,为了方便工作,给它安装了VNCServer。在安装的过程中遇到很多问题,现在把他记录下来跟大家分享一下。
第一步,获取安装文件sudo apt-get install vnc4server
第二步,修改VNC Password,不能太短
# vncpasswd
Password: ******
Verify:*****
第三步,检查防火墙,这个就不详细说明了
第四步,启动VNC server
# vncserver
这样server端就安装完成了,client端要根据操作系统选择客户端程序安装,就不废话了。链接的时候记得在server地址后边跟“:1“
即vncserver :1
但是这时候看到的远程桌面很丑,需要修改一下/root/.vnc/xstartup文件,将vncserver默认使用的窗口管理器twm(这是一个很简陋的窗口管理器),你可以把你的桌面改成GNOME或KDE。
在Google上找到的解决方案就是在这个文件后边注释掉twm &,再加上你想要的桌面,如gnome-session &
但这我都试过了不好使。依旧是丑陋的桌面。而且在vnc Client端会看到“could not acquire name on session bus”的错误提示。
最后的解决方案是:
在终端执行
sudo chmod 755 /etc/X11/xinit/xinitrc
然后将/root/.vnc/xstartup文件修改成如下内容
#!/bin/sh
# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
# [ -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" &
exec /etc/X11/xinit/xinitrc
# x-window-manager &
# gnome-session &
最后重启vncserver就可以了。
vncserver -kill :1
vncserver :1
搞定了........
另: 调节vnc中调节显示分辨率
在服务器端启动VNC服务时按如下命令启动:vncserver -geometry 1152x864 -depth 24即可以1152x864的分辨率和24位的颜色深度来显示。
-geometry x指定显示桌面的分辨率,默认为1024x768
vncserver -geometry 800x600
这个命令实际中很有用,例如本地分辨率为1024x768 如果不设定远程VNC服务分辨率就会造成桌面显示不全的问题。
-depth 指定显示颜色,设定范围8~32
vncserver -depth 16
用16bits颜色显示
-pixelformat 指定色素格式与-depth大致相同,只是表示方法不一样
vncserver -pixelformat RGB888
用24bits颜色显示
vncserver -kill :display
附录:
查看VNC已启用的桌面号及监听进程
[root@Linux /]# netstat -tlnp|grep vnc
vncserver 命令带有一些很有用的参数,用vncserver --help 查看。
简单解释一下:
vncserver [:] [-name ] [-geometry x] [-depth ]
[-pixelformat format]
vncserver -kill :display
:
VNC服务的display号,可以自行指定,尽量不要使用系统默认的以保证安全,必须为非0的正整数
vncserver :99
使用时必须输入正确的display号才能连接;用浏览器要在端口号加上display号,默认端口5800,远程连接输入XXX.XXX.XXX.XXX:5899
-name 指定VNCserver桌面名字
比如要让名字显示为 “红帽”
vncserver -name 红帽
vnc server (Linux) 与 vnc viewer (win)共享 剪切板:
在linux中执行vncconfig -nowin&
或者:
在xstartup的最后一行加入命令:
xcutsel &
这样在gnome桌面环境启动后会出现一个小小的程序,里面有3项:
1,quit
2,copy primary to 0
3,copy 0 to primary
在WinXP中复制ASCII内容后,点击3:copy 0 to primary,然后在gnome环境中点击鼠标中键,即可实现clipboard transfer。
同理,在gnome环境中复制ASCII内容后,点击2:copy primary to 0,然后就可以复制到WinXP中了。