vnc 连接linux,为什么不显示桌面?

本文介绍了在CentOS 8操作系统上安装和配置VNC服务器的步骤,同时还将向您展示如何通过SSH隧道安全地连接到VNC服务器。先决条件是:您需要以具有sudo特权的用户身份在远程CentOS计算机上登录。

通常,服务器没有安装桌面环境,如果您要连接的计算机没有GUI,则第一步是安装它,否则,请跳过此步骤。

运行以下命令在远程计算机上安装Gnome(CentOS 8中的默认桌面环境):

根据您的系统,下载和安装Gnome软件包以及相关性可能会花费一些时间。

TigerVNC是积极维护的高性能开源VNC服务器,在默认的CentOS存储库中可以找到它,进行安装:

安装VNC服务器后,运行vncserver命令以创建初始配置并设置密码,运行以下命令时请勿使用sudo:

系统将提示您输入并确认密码,以及是否将其设置为只读密码,如果选择设置仅查看密码,则用户将无法使用鼠标和键盘与VNC实例进行交互:

第一次运行vncserver命令时,它将创建密码文件并将其存储在~/.vnc目录中,如果不存在该目录,则会创建该文件。

注意上面输出中主机名后面的:1,这指示正在运行VNC服务器的显示端口号,在我们的例子中,服务器在TCP端口5901(5900+1)上运行,如果创建第二个实例,它将在下一个可用端口(即:2)上运行,这意味着服务器在端口5902(5900+2)上运行。

要记住的重要一点是,在使用VNC服务器时,:X是表示5900+X的显示端口。

在继续下一步之前,首先使用带有-kill选项和服务器编号作为参数的vncserver命令停止VNC实例,在我们的例子中,服务器在端口5901(:1)中运行,因此要停止它,请运行:

现在,在远程CentOS计算机上都安装了Gnome和TigerVNC,下一步是配置TigerVNC以使用Gnome,创建新桌面时,VNC服务器使用~/.vnc/xstartup文件启动应用程序,打开文件:

保存并关闭文件,每当您启动或重新启动TigerVNC服务器时,以上脚本都会自动执行。

如果要将其他选项传递给VNC服务器,请打开~/.vnc/config文件,并在每行添加一个选项,文件中列出了最常用的选项,取消注释并根据自己的喜好进行修改。

创建一个Systemd单位文件

单位文件使您可以轻松启动、停止和重新启动服务,通常,存储用户单元文件的最佳位置是~/.config/systemd/user,创建目录:

复制默认的vncserver单元文件:

通知systemd一个新的用户单元文件存在:

启动VNC服务并在启动时启用它:

@:后的数字1定义VNC服务将在其上侦听的显示端口,我们使用1,这意味着VNC服务器将在上一节中讨论的5901端口上进行侦听。

启用延迟,以便用户服务在启动时启动并在用户未登录时保持运行:

验证服务是否成功启动:

VNC不是加密协议,可能会受到数据包嗅探的影响,推荐的方法是创建SSH隧道,以安全地将流量从5901端口上的本地计算机转发到同一端口上的远程服务器,参考。

如果您在计算机上运行Linux、macOS或任何其他基于Unix的操作系统,则可以使用以下ssh命令轻松创建隧道:

系统将提示您输入用户密码。

打开Putty,然后在主机名或IP地址字段中输入服务器的IP地址:

在连接菜单下,展开SSH,然后选择隧道,在源端口字段中输入VNC服务器端口(5901),在目标字段中输入server_ip_address:5901,然后单击添加按钮,如下图所示:

返回会话页面以保存设置,这样您无需每次都输入它们,要登录到远程服务器,请选择保存的会话,然后单击打开按钮。

要连接到远程服务器,请打开VNC查看器,然后输入localhost:5901。

在出现提示时输入密码,您应该会看到默认的Gnome桌面,它看起来应该像这样:

就是这样!现在,您可以使用键盘和鼠标从本地计算机开始在远程桌面上工作了。

第一次运行vncserver命令,它将会在~/.vnc目录下创建并且存储密码文件。如果该文件夹没有被创建,那么首先会创建该文件夹。

请留意上面主机名后面的:1。则表示 正在运行的 VNC 服务器上的显示端口号。在我们的例子中,服务器运行在 TCP 端口5901(5900+1)。如果你创建了第二个实例,他将会运行到下一个闲置的端口上,例如::2,这意味着,服务器运行在端口号5902(5900+2)上。

在和 VNC 服务器上工作的时候,最重要的一点就是,:X就是显示端口号,即:5900+X

在继续下面的步骤之前,第一步通过使用vncserver命令加上-kill选项,停止 VNC 实例。在我们的例子中,服务器运行在端口号 5901(:1),因此,停止它,运行:

四、配置 VNC 服务器

保存并且关闭文件。当你启动或者重启 TigerVNC 服务器的时候,上面的脚本将会被自动执行。

如果你想传递额外的选项给 VNC 服务器,打开~/.vnc/config文件,并且每行添加一个选项。最常用的选项都被列在文件中。取消注释,并且按照你的喜好来修改。

Unit files 允许你很容易地启动,停止,和重启服务。通常情况下,存储用户 unit 文件的最好位置是~/.config/systemd/user。创建文件夹:

通知 systemd,一个新的用户 unit 文件已经存在:

启动 VNC 服务,并且启用开机启动:

@:后面的数字1定义了 VNC 服务将会监听的显示端口,我们将会使用1,这意味着 VNC 服务器将会监听我们在前面讨论过的5901端口。

启用 lingering 以便在用户没有登录时,用户服务可以保持开机启动并且保持运行状态。

验证服务是否成功启动,运行:

六、连接到 VNC 服务器

VNC 不是一个加密协议,并且可以被包嗅探工具定位分析。推荐的访问方式,就是从你本地机器的5901端口到远程服务器的同一个端口之间 创建一个 SSH 隧道。

如果 你在你的机器上运行着 Linux,macOS 或者其他类Unix 操作系统,你可以很容易地使用下面的 ssh 命令来创建一个隧道:

你将会被提示输入用户密码。

返回Session页面保存设置,以便你不用每次都需要输入它们。想要登录远程服务器,选择保存的会话,并且点击Open按钮.

想要连接你的远程服务器,打开你的 VNC 查看器并且输入localhost:5901

出现提示的时候,输入密码,你将会看到默认的 Gnome 桌面。它应该像下面这样:

就这些!现在你已经可以从你的本地机器上使用你的键盘和鼠标,在你的远程桌面上进行工作。

我们已经向你展示,如何在一个远程的 CentOS 8 机器上设置一个 VNC 服务器并且连接上去。

想要为多用户创建显示器,重复同样的步骤。创建初始化配置,使用vncserver命令设置密码,并且使用不同的端口创建一个新服务。






如果你有任何疑问,请通过以下方式联系我们:

加上面的微信,备注微信群

我要回帖

更多关于 ubuntu登录后只有鼠标 的文章

 

随机推荐