在Linux中安装VNC和图形化界面
在Linux中安装VNC和图形化界面
在linux机器上安装vnc服务端,然后通过本地windows机器的vnc客户端工具去连接到服务端,这样操作linux机器就能以界面化方式操作,连接到远程linux机。
连接到远程linux机器后的服务器显示效果如图:
下面就具体步骤详细讲解:
一:确认VNC服务是否有安装
1 | rpm -qa|grep tigervnc |
发现显示已经安装过vnc,说明已经安装过vnc服务了
如果显示没有安装,如下图:
这里提供两种安装方式:
rpm包安装
此法最好用在有系统安装包的基础上,如redhat-Linux.5.5.for.x86-server-5.5 系统.iso包,打开后在Server目录下有两个包
上传vnc-server包就行了,然后运行命令
1 | rpm -ivh vnc-server-4.1.2-14.el5.3.1.i386.rpm |
来安装vnc服务,此法可以避免vnc版本与系统不一致的问题,因为是从系统里找的vnc的文件,但是iso文件难以获得,一般找这个
rpm文件都是要通过百度来找,寻找系统版本的vnc的rpm包来安装。否则因为版本不一致会导致后续很多问题。
- yum命令安装(推荐方式)
此法比较简单,直接使用yum命令即可:
1 | yum -y install tigervnc-server |
它会自动给你下载依赖包,如果你的yum命令不能使用,建议用如下命令:
1 | echo nameserver 8.8.8.8 >> /etc/resolv.conf |
然后在用yum命令即可。
二:启动vnc服务
使用vncserver命令启动VNC服务,命令格式为”vncserver :桌面号”,其中”桌面号”用”数字”的方式表示,每个用户连个需要占用1个桌面
启动编号为1的桌面示例如下:
命令为 vncserver :1 (注意vncserver与:之间有空格)
以上命令执行的过程中,因为是第一次执行,需要输入密码,这个密码被加密保存在用户主目录下的.vnc子目录(/root/.vnc/passwd)中;同时在用户主目录下的.vnc子目录中为用户自动建立xstartup配置文件(/root/.vnc/xstartup),在每次启动VND服务时,都会读取该文件中的配置信息。另外需注意的是这里设置的密码就是后面我们用vncserver客户端工具连接时要输入的密码。
BTW:/root/.vnc/目录下还有一个“主机名:1.pid”文件,这个文件记录着启动VNC后对应后面操作系统的进程号,用于停止VNC服务时准确定位进程号。
这样vnc服务端就启动成功了,这里是用root用户执行的vncserver :1命令,则启动后用vncserver客户端连接进入到该服务器的用户就是root用户,
如果用root用户安装后,用aiuap用户(其他的用户)启动:则vncserver客户端连接进入到该服务器的用户就是aiuap用户
三:vnc服务使用的端口号与桌面号的关系
VNC服务使用的端口号与桌面号相关,VNC使用TCP端口从5900开始,对应关系如下
桌面号为“1” —- 端口号为5901
桌面号为“2” —- 端口号为5902
桌面号为“3” —- 端口号为5903
……
基于Java的VNC客户程序Web服务TCP端口从5800开始,也是与桌面号相关,对应关系如下
桌面号为“1” —- 端口号为5801
桌面号为“2” —- 端口号为5802
桌面号为“3” —- 端口号为5803
……
基于上面的介绍,如果Linux开启了防火墙功能,就需要手工开启相应的端口,以开启桌面号为“1”相应的端口为例,命令如下
1 | [root@xxxxx ~]# iptables -I INPUT -p tcp --dport 5901 -j ACCEPT |
四:配置VNC图形桌面环境为KDE或GNOME桌面环境
如果您是按照我的上面方法进行的配置的,登陆到桌面后效果是非常简单的,只有一个Shell可供使用,这是为什么呢?怎么才能看到可爱并且美丽的KDE或GNOME桌面环境呢?
之所以那么的难看,是因为VNC服务默认使用的是twm图形桌面环境的,可以在VNC的配置文件xstartup中对其进行修改,先看一下这个配置文件:
1 | [root@xxxx-145 ~] |
可以看到最后一行为:twm &
将这个xstartup文件的最后一行修改为“startkde &”,再重新启动vncserver服务后就可以登陆到KDE桌面环境
将这个xstartup文件的最后一行修改为“gnome-session &”,再重新启动vncserver服务后就可以登陆到GNOME桌面环境,
如果连接vnc后发现为黑屏,原因是没有安装GNOME Desktop Environment,使用
1 | $sudo yum groupinstall "GNOME Desktop" "Graphical Administration Tools" |
即可安装GNOME Desktop Environment,安装完成后可重启vnc服务即执行vncserver -kill :1,在执行vncserver :1,再次进入发现出现屏幕画面。
如果发现执行该命令报错, 可执行如下命令安装:
1 | yum clean all |
即可安装GNOME Desktop Environment,安装完成后可重启vnc服务即执行vncserver -kill :1,在执行vncserver :1,再次进入发现出现屏幕画面。
五:配置多个桌面
可以使用如下的方法启动多个桌面的VNC:
1 | vncserver :1 |
但是这种手工启动的方法在服务器重新启动之后将失效,因此,下面介绍如何让系统自动管理多个桌面的VNC,方法是将需要自动管理的信息添加到/etc/sysconfig/vncservers配置文件中,先以桌面1为root用户桌面2为oracle用户为例进行配置如下:
格式为:VNCSERVERS=”桌面号:使用的用户名 桌面号:使用的用户名”
执行vi /etc/sysconfig/vncservers命令,添加配置:可根据你自己的用户具体配置,这里我配置了root和aiuap用户
1 | VNCSERVERS="1:root 2:aiuap" |
六:vnc服务管理
a:修改vnc访问密码
使用命令vncpasswd对不同用户的VNC的密码进行修改,一定要注意,如果配置了不同用户的VNC需要分别到各自用户中进行修改,如我用root用户执行了vncpasswd命令,则只会修改root用户的vnc密码,其他用户不受影响:
b:启动vnc服务
基于第五步的基础,已经在配置文件中配置好用户对应的桌面号,执行service vncserver start命令,即可启动所有的用户对应的vnc服务
c:停止vnc服务
同样也是基于第五的基础,执行service vncserver stop命令,即可关闭配置文件中所有用户对应的vnc服务
七:客户端连接安装启动好的vnc服务端
下载VNC Viewer到自己的本地机器,双击vnc viewer启动程序
服务器输入vnc服务端安装所在机器地址,后面的数字序号与vncserver启动时vncserver :1后面跟着的桌面号相同(如果配置了第五步和VNCSERVERS=”1:root 2:aiuap”中桌面号相同即可),我这里如果写1则为root用户连接进入10.165.38.68,如果为2则为aiuap用户连接进入10.165.38.68服务器
点击确定后,会让你输入密码,该处的密码与第二步中启动vncserver输入的密码一致即可
点击确定,就能进入文章开头说的那种界面了,可以看到右上角显示进入该服务器的用户名用1进入为root,用2进入为aiuap