安卓系统

如何在centos 7上安装和配置vnc

kvm 安装配置桥接网卡 centos 7 vnc viwer 2018年

kvm 安装配置桥接网卡 centos 7 vnc viwer 2018年

目录:

Anonim

在本教程中,我们将引导您完成在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

Killing Xvnc process ID 2432

配置VNC服务器

现在,我们的CentOS服务器上都安装了Xfce和TigerVNC,下一步就是配置TigerVNC以使用Xfce。 为此,请打开以下文件:

nano ~/.vnc/xstartup

并将最后一行从 exec /etc/X11/xinit/xinitrc 更改为 exec startxfce4

〜/.vnc / xstartup

#!/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