kvm 安装配置桥接网卡 centos 7 vnc viwer 2018年
目录:
- 先决条件
- 安装Xfce桌面环境
- 安装VNC服务器
- 配置VNC服务器
- 创建一个Systemd单位文件
- 连接到VNC服务器
- 在Linux和macOS上设置SSH隧道
- 在Windows上设置SSH隧道
- 结论
在本教程中,我们将引导您完成在CentOS 7系统上安装和配置VNC服务器的步骤。 我们还将向您展示如何通过SSH隧道安全地连接到VNC服务器。
虚拟网络计算(VNC)是一个图形桌面共享系统,可让您使用键盘和鼠标远程控制另一台计算机。
先决条件
在继续本教程之前,请确保您以具有sudo特权的用户身份登录。 我们假设您以名为
linuxize
的用户
linuxize
。
安装Xfce桌面环境
CentOS服务器安装通常没有安装桌面环境,因此我们将从安装轻量级桌面环境开始。
在本指南中,我们将安装Xfce。 它快速,稳定且系统资源少,非常适合在远程服务器上使用。
Xfce软件包可在EPEL存储库中获得。 如果您的服务器上未启用EPEL存储库,则可以通过键入以下内容进行操作:
sudo yum install epel-release
添加存储库后,请使用以下方法在CentOS上安装Xfce:
sudo yum groupinstall xfce
根据您的系统,下载和安装Xfce软件包以及相关性可能会花费一些时间。
安装VNC服务器
我们将使用TigerVNC作为我们的VNC服务器。 TigerVNC是积极维护的高性能开源VNC服务器。
键入以下命令以在您的CentOS服务器上安装TigerVNC:
yum install tigervnc-server
现在已经安装了VNC服务器,下一步是运行
vncserver
命令,该命令将创建初始配置并设置密码。 运行以下命令时请勿使用sudo:
vncserver
系统将提示您输入并确认密码,以及是否将其设置为只读密码。 如果选择设置仅查看密码,则用户将无法使用鼠标和键盘与VNC实例进行交互。
You will require a password to access your desktops. Password: Verify: Would you like to enter a view-only password (y/n)? n /usr/bin/xauth: file /home/linuxize/.Xauthority does not exist New 'server2.linuxize.com:1 (linuxize)' desktop at:1 on machine server2.linuxize.com Starting applications specified in /etc/X11/Xvnc-session Log file is /home/linuxize/.vnc/server2.linuxize.com:1.log
第一次运行
vncserver
命令时,它将创建密码文件并将其存储在
~/.vnc
目录中,如果不存在该目录,则将创建该文件。
注意上面输出中主机名后面的
:1
。 这表示正在运行vnc服务器的显示端口号。 在我们的例子中,服务器在TCP端口
5901
(5900 + 1)上运行。 如果使用
vncserver
创建第二个实例,它将在下一个可用端口(即
:2
)上运行,这意味着服务器在端口
5902
(5900 + 2)上运行。
要记住的重要一点是,在使用VNC服务器时,
:X
是表示
5900+X
的显示端口。
在继续下一步之前,请先使用带有
-kill
选项和服务器编号作为参数的
vncserver
命令停止VNC实例。 在我们的例子中,服务器在端口5901(
:1
)中运行,因此我们将使用以下命令将其停止:
vncserver -kill:1
配置VNC服务器
现在,我们的CentOS服务器上都安装了Xfce和TigerVNC,下一步就是配置TigerVNC以使用Xfce。 为此,请打开以下文件:
nano ~/.vnc/xstartup
并将最后一行从
exec /etc/X11/xinit/xinitrc
更改为
exec startxfce4
:
#!/bin/sh unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS exec startxfce4
保存并关闭文件。 每当您启动或重新启动TigerVNC服务器时,以上脚本都会自动执行。
这是一个例子:
〜/.vnc /配置
# securitytypes=vncauth, tlsvnc # desktop=sandbox geometry=1920x1080 # localhost # alwaysshared dpi=96
创建一个Systemd单位文件
我们将创建一个systemd单位文件,该文件使我们能够根据需要轻松地启动,停止和重新启动VNC服务,与其他任何systemd服务一样。
使用
cp
命令复制vncserver单元文件:
sudo cp /usr/lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service
使用文本编辑器打开文件并替换
sudo nano /etc/systemd/system/vncserver@\:1.service
/etc/systemd/system/vncserver@:1.service
Description=Remote desktop service (VNC) After=syslog.target network.target Type=forking # Clean any existing files in /tmp/.X11-unix environment ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 ||:' ExecStart=/usr/sbin/runuser -l linuxize -c "/usr/bin/vncserver %i" PIDFile=/home/linuxize/.vnc/%H%i.pid ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 ||:' WantedBy=multi-user.target
保存并关闭文件。 通知systemd我们使用以下命令创建了一个新的单位文件:
sudo systemctl daemon-reload
下一步是使用以下命令启用单位文件:
sudo systemctl enable vncserver@:1.service
@
符号后面的数字
1
定义了VNC服务将在其上运行的显示端口,在我们的示例中,这是默认端口
1
,如上一节所述,VNC服务器将侦听
5901
端口。
通过执行以下命令来启动VNC服务:
sudo systemctl start vncserver@:1.service
验证服务是否成功启动:
sudo systemctl status vncserver@:1.service
● vncserver@:1.service - Remote desktop service (VNC) Loaded: loaded (/etc/systemd/system/vncserver@:1.service; enabled; vendor preset: disabled) Active: active (running) since Sun 2018-09-16 09:59:53 UTC; 4s ago Process: 6391 ExecStart=/usr/sbin/runuser -l linuxize -c /usr/bin/vncserver %i (code=exited, status=0/SUCCESS) Process: 6389 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 ||: (code=exited, status=0/SUCCESS) Main PID: 6413 (Xvnc) CGroup: /system.slice/system-vncserver.slice/vncserver@:1.service ‣ 6413 /usr/bin/Xvnc:1 -auth /home/linuxize/.Xauthority -desktop server2.linuxize.com:1 (linuxize) -fp catalogue:/etc/X11/fontpath.d -geometry 1024x768 -pn -rfbauth /home/linuxize/.vnc/passwd -rfbport…
连接到VNC服务器
VNC不是加密协议,可能会受到数据包嗅探。 推荐的方法是创建一个SSH隧道,该隧道将安全地将流量从端口5901上的本地计算机转发到同一端口上的服务器。
在Linux和macOS上设置SSH隧道
ssh -L 5901:127.0.0.1:5901 -N -f -l username server_ip_address
系统将提示您输入用户密码。
不要忘记用
username
名和服务器的IP地址替换
username
和
server_ip_address
。
在Windows上设置SSH隧道
打开Putty,然后在
Host name or IP address
字段中输入服务器的IP地址。




现在,您可以使用键盘和鼠标从本地计算机开始与远程XFCE桌面进行交互。
结论
现在,您应该已经启动并运行了VNC服务器,并且可以使用图形界面轻松管理CentOS 7服务器。
要将VNC服务器配置为为多个用户启动显示,请使用
vncserver
命令创建初始配置并设置密码,并使用其他端口创建新的服务文件。
如有任何疑问,请随时发表评论。
centos vnc如何在centos 7上添加和删除用户
知道如何添加和删除用户是Linux用户应该知道的基本技能之一。 在本教程中,我们将说明如何在CentOS 7系统上添加和删除用户。
如何在centos 7上添加交换空间
交换是物理RAM内存已满时使用的磁盘空间。 本教程说明了如何在CentOS 7系统上添加交换文件。
如何在centos 8上添加交换空间
交换是物理RAM内存已满时使用的磁盘空间。 本文介绍了在CentOS 8系统上添加交换文件的步骤。







