CentOS 6.5 的VPS上安装 GNOME VNC Firefox

最好使用32位CentOS。

安装相应桌面环境与vnc服务端和客户端:

1
2
3
4
5
6
7
$ yum groupinstall "GNOME Desktop Environment"(CentOS 5.x安装GNOME桌面环境)
$ yum groupinstall "X Window System" "Desktop"(CentOS 6.x安装GNOME桌面环境)
$ yum groupinstall Xfce(CentOS安装Xfce桌面环境,可选)
$ yum install vnc-server vnc* (CentOS 5.x里)
$ yum install tigervnc-server tigervnc (CentOS 6.x里)
$ yum -y groupinstall chinese-support
$ yum install firefox vim wget

说明:Xfce与KDE,Gnome都是图形桌面环境,其特点是占用资源更小资源占用情况大致为:Gnome>KDE>Xfce。具体情况与版本有关。一般版本越新,资源占用越大。

VNC的启动和重启:

1
2
3
4
5
$ /etc/init.d/vncserver restart
# 或者 service vncserver restart
# 注:有时候上面的命令启动会报错,直接运行就可以:
$ vncserver
# 注:关闭具体的vncserver命令:vncserver -kill :1 vncserver -kill :2

设置远程登陆到gnome桌面的配置:

1
2
$ vim /etc/sysconfig/vncservers(SUSE企业版不用配置此文件)
# 再最后面加入如下两行:
1
2
VNCSERVERS="1:root"
VNCSERVERARGS[1]="-geometry 1024x768 -alwaysshared -depth 24"

说明:

1、-alwaysshared表示同一个显示端口允许多用户同时登录 -depth代为色深,参数有8、16、24、32;
2、这里的“用户名”是指linux系统用户的名称;
3、上面三行中第一行是设定可以使用VNC服务器的帐号,可以设定多个,但中间要用空格隔开。注意前面的数字“1”或是“2”,当你要从其它电脑来VNC服务器时,就需要用IP:1这种方法,而不能直接用IP。如假定你的VNC服务器IP是192.168.1.100,那想进入VNC服务器,并以peter用户登录时,需要在vncviewer里输入IP的地方输入:192.168.1.100:1,如果是root,那就是192.168.1.100:2;
4、下面两行[1][2]最好与上面那个相对应,后面的800X600可以换成你电脑支持的分辨率。注意中间的”x”不是“*”,而是小写字母”x”。

设置vnc访问密码:

1
$ vncpasswd

说明:这里是为上面的root远程用户配密码,所以在root账户下配;依次类推,为别的账户配密码,就要在别的账户下设密码。

修改远程桌面显示配置文件:

1
# vim /root/.vnc/xstartup
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/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 &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
gnome-session & #set starting GNOME desktop
#startkde & #kde desktop
#twm & #Text interface
#/usr/bin/startxfce4
#exec /usr/bin/fluxbox

说明:
1、不修改此文件你看到的远程桌面很简单,相当于命令行操作,为了远程操作如同本地操作一样,务必参考以上方式进行修改;
2、只要你启用一次VNCserver,就能自动创建,方法如下:

1
# vncserver

通过上面的方法,就可以在用户家目录下的.vnc目录里创建xstartup文件。

vnc客户端登陆:

在vnc客户端中输入:服务器端IP:1 (5901)或 服务器端IP:2(5902)

防火墙设置

iptables防火墙默认会阻止vnc远程桌面,所以需要在iptables允许通过。当你启动vnc服务后,你可以用netstat –tunlp命令来查看vnc服务所使用的端口,可以发现有5801,5901,6001等。使用下面命令开启这些端口:

1
$ vim /etc/sysconfig/iptables

添加:

1
2
3
-A RH-Firewall-l-INPUT -p tcp -m tcp –dport 5801 -j ACCEPT
-A RH-Firewall-l-INPUT -p tcp -m tcp –dport 5901 -j ACCEPT
-A RH-Firewall-l-INPUT -p tcp -m tcp –dport 6001 -j ACCEPT

重启防火墙:

1
2
$ /etc/init.d/iptables restart
# 或者 service iptables restart

或者直接关闭防火墙:

1
2
$ /etc/init.d/iptables stop
# 或者 service iptables stop

开机自启动vncserver服务:

1
$ chkconfig vncserver on

vnc的反向连接设置:

在大多数情况下,vncserver总处于监听状态,vnc client主动向服务器发出请求从而建立连接。然而在一些特殊的场合,需要让vnc客户机处于监听状态,vncsrever主动向客户机发出连接请求,此谓vnc的反向连接。
主要步骤:
a、启动vnc client,使vncviewer处于监听状态;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# vncviewer -listen
```
b、启动vncserver
``` bash
# vncserver
```
c、在vncserver端执行vncconnect命令,发起server到client的请求;
``` bash
# vncconnect -display :1 192.168.80.135
```
#### 可能遇到的问题:
a、黑屏
在Linux里安装配置完VNC服务端,发现多用户登陆会出现黑屏的情况,具体的现象为:
客户端可以通过IP与会话号登陆进入系统,但登陆进去是漆黑一片,除了一个叉形的鼠标以外,伸手不见五指。
原因:用户的VNC的启动文件权限未设置正确。
解决方法:将黑屏用户的xstartup(一般为:/用户目录/.vnc/xstartup)文件的属性修改为755(rwxr-xr-x)。
完后杀掉所有已经启动的VNC客户端:
vncserver -kill :1
vncserver -kill :2 (注意:-kill与:1或:2中间有一空格)
最后重启vncserver服务即可! # /etc/init.d/vncserver restart
注意:vncserver只能由启动它的用户来关闭,即时是root也不能关闭其它用户开启的vncserver,
除非用kill命令暴力杀死进程。
b、Windown下如何登陆VNC Server
(1)从浏览器登录(浏览器需要安装JAVA支持库,作为java applet来实现,才能登录控制VNC服务器,可以yum install java*安装)
直接从浏览器中输入如下地址:
http://xxx.xxx.xxx.xxx:5801
(2)从VNC客户端登录
在windows上安装vnc客户端,然后输入xxx.xxx.xxx.xxx:x,连接登录。
备注:
a、输入的格式为IP:号码,号码要看你自己的配置而定。如192.168.80.128:1
b、登陆提示connection refused(10061),则是因为linux防火墙的问题,请检查防火墙设置。
c、后面的尾缀”:x”也是不能少的,要不然老提示failed to connect : connection refused (10061)
### 包安装wine
Linux下安装wine可以从源码编译安装,但一般都觉得麻烦,所以尽量利用yum进行安装,解决很多包的依赖关系。
首先安装一个epel
``` bash
$ rpm -ivh http://dl.Fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
# yum makecache
$ yum install wine

有可能这个地址往后会失效,我搜索教程时也遇到这种状况。我的做法是,浏览上层点第目录,直到找到最新第版本,例如,我从http://dl.fedoraproject.org/pub/开始慢慢往下浏览。

  1. 直接安装wine

yum install wine

比较漫长第等待过程完成后,就完成wine的自动安装来。

打完收工。

编译安装wine

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$ yum groupinstall 'Development Tools'
$ yum install libX11-devel freetype-devel zlib-devel libxcb-devel bison flex
$ cd /usr/src
$ wget http://prdownloads.sourceforge.net/wine/wine-1.7.45.tar.bz2
$ tar xjf wine-1.7.45.tar.bz2
$ cd wine-1.7.45
# For 32-Bit Systems:
$ ./configure
# For 64-Bit Systems:
$ ./configure --enable-win64
# Finally compile wine source with make command
$ make
$ make install

安装wine动态库

安装cabextract

1
yum -y install cabextract

下载并安装winetricks

1
2
3
wget http://www.kegel.com/wine/winetricks
chmod +x winetricks
mv winetricks /usr/local/bin

用winetricks安装必需的win支持库,后面的操作都是在VNC里了,包括输入终端命令。

VNC远程连接VPS后在终端输入:winetricks

勾选Select the default wineprefix

install a Windows DLL or component安装windows软件所需运行环境

因为迅雷水晶为C++开发,需要安装C++库,这里选择vcrun2008

环境安装好后来到red.xunlei.com安装水晶客户端

下载好后找到安装程序,右键选择Open With “Wine Windows Program Loader”安装

现在可以登录了,这里需要注意的是登录界面是看不到输入的,直接输入用户名密码照常登录即可!

安装Flash

1
2
3
4
5
6
$ wget https://fpdownload.adobe.com/get/flashplayer/pdc/11.2.202.466/install_flash_player_11_linux.x86_64.tar.gz
# wget https://fpdownload.adobe.com/get/flashplayer/pdc/11.2.202.466/install_flash_player_11_linux.i386.tar.gz
$ tar zxvf install_flash_player_11_linux.x86_64.tar.gz
# tar zxvf install_flash_player_11_linux.i386.tar.gz
$ mkdir -p ~/.mozilla/plugins/
$ cp libflashplayer.so ~/.mozilla/plugins/