帮助与文档

在Linux中如何开启VNC服务

发布时间:2019/5/9 11:11:52     访问次数:76 次    分享给朋友:

多数情况下,我们会使用各种SSH来完成对Linux的操作。但若是想远程访问图形界面又该怎么做呢?在这里,将使用VNC完成远程访问服务器的图形界面。


 


准备工作:


1.    Centos7的环境


2.    VNC Viewer客户端 ,可以让用户远程访问服务器的桌面环境。


下载地址https://www.realvnc.com/en/connect/download/viewer/


 


VNC服务器的优点:


远程的图形管理方式让工作变得简单方便。

剪贴板可以在 CentOS 服务器主机和 VNC 客户端机器之间共享。

CentOS 服务器上也可以安装图形工具,让管理能力变得更强大。

只要安装了 VNC 客户端,通过任何操作系统都可以管理 CentOS 服务器了。

比 ssh 图形转发和 RDP 连接更可靠。

 


 


1.    安装x-window,如果已经有图形界面,则可以跳过此步骤。


# yum check-update


# yum groupinstall "X Window System"


#yum install gnome-classic-session gnome-terminalnautilus-open-terminal control-center liberation-mono-fonts


### 设置默认启动图形界面


# unlink /etc/systemd/system/default.target


# ln -sf /lib/systemd/system/graphical.target/etc/systemd/system/default.target


# reboot


2.    检查是否安装了VNC服务。


# ps –eaf | grep vnc




#rpm -qa | grep vnc




若没有安装,则使用如下命令进行安装。


yum install tigervnctigervnc-server –y




检查是否安装成功。


# rpm -qa | grep vnc




3.    配置VNC


需要在/etc/systemd/system/目录里创建一个配置文件。可以将 /lib/systemd/sytem/vncserver@.service 拷贝一份配置文件范例过来。


# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service




使用下面的命令编辑配置文件:

vim/etc/sysconfig/vncservers



VNCSERVERS="1:root"

VNCSERVERARGS[1]="-geometry800x600"

下面这段是上面所讲配置文件注解,做参考之用:

#这个是配置远程桌面登录的用户名,如果两个用户,则使用VNCSERVERS="1:user1 

2:user2" ,,

依次类推,默认情况下,1:user1对应5901,2:user2对应5902(VNC的默认监听端口是

5900,监听端口规则为590+usernumber),如下

VNCSERVERS="usernumber:myusername" 

#下面这项配置为登录桌面配置,其中的“1”为用户序号,800x600为分辨率,-

nolisten tcp为阻止tcp包,-localhost代表只监听本地,

VNCSERVERARGS[1]="-geometry800x600 -nolisten tcp -localhost"

如果想阻止http包,可以使用如下配置

VNCSERVERARGS[1]="-geometry800x600 -nolisten tcp -nohttpd -localhost"




修改vncserver@1.service的配置,将用户名进行替换


ExecStart=/sbin/runuser -l <USER> -c"/usr/bin/vncserver %i"


PIDFile=/home/<USER>/.vnc/%H%i.pid


如果是root用户则


ExecStart=/sbin/runuser -l root -c"/usr/bin/vncserver %i"


PIDFile=/root/.vnc/%H%i.pid


 


重启systemd


# systemctl daemon-reload




设置一下用户的 VNC 密码。要设置某个用户的密码,必须要有能通过 sudo 切换到用户的权限,这里我用 caijx 的权限,执行“su caijx”就可以了。


#vncpasswd




永久开启VNC服务。




4.    启动vnc服务


用户可以自定义启动号码如:


vncserver :2       #注意:2前面一定要有空格。


杀死vncserver进程


vncserver -kill:1      #这里你启动vncserver时是什么端口号要对应上。


PS:要切换到当前用户才可以杀死进程。






5.    查看远程连接的情况


PS:连接不上的情况下,请注意关闭防火墙。