如何在 Debian 8 上设置 VNC 服务器
介绍
VNC(虚拟网络计算)是一个系统,它使用户能够连接远程计算机的图形桌面并与之交互。它可以通过网络传输屏幕更新以及键盘和鼠标事件。
当您的服务器需要图形桌面环境时,VNC 非常有用。
XFCE 是一个轻量级的桌面环境。因为它对系统资源要求低,而且很多 VNC 用户都熟悉它,所以我们将在本教程中使用 XFCE。但是,您也可以使用自己喜欢的桌面环境,例如 Gnome 或 KDE。
在本教程中,我们将设置一个 Debian 8 服务器,在其上安装 XFCE 桌面环境,并通过 VNC 连接它。此外,我们将为 VNC 服务器创建一个启动脚本并通过 SSH 保护它。
先决条件
请完成以下先决条件。
-
具有 root 访问权限的 Debian 8(或 8.1)Droplet。 512 MB 的 RAM 足以运行 VNC 和 XFCE,但您可能需要更大的 Droplet,具体取决于您打算如何使用图形界面
-
VNC 查看器(客户端)在您的计算机上连接到您的服务器。在本教程中,我们将在 Windows 上使用 UltraVNC,但您可以使用其他 VNC 客户端。您可以在 这里 下载 UltraVNC。 OS X 带有一个内置的 VNC 客户端,称为屏幕共享
-
SSH 客户端通过 SSH 建立安全连接。我们将在 Windows 上使用 PuTTY。您可以在 这里 下载 PuTTY。在 OS X 上,只需使用内置的终端应用程序
步骤 1 — 安装 VNC 和 XFCE
在这一步中,我们将安装 VNC 服务器和 XFCE 桌面环境,以及附加软件和图标包。
更新服务器的软件包列表:
apt-get 更新
升级软件包本身:
apt-get -y 升级
然后,我们将安装 tightvncserver 和 XFCE4 以及一些有用的插件和一个图标主题:
apt-get install xfce4 xfce4-goodies gnome-icon-theme tightvncserver
默认情况下没有安装浏览器。如果您想从 VNC 连接访问网络,您可以安装 iceweasel(这是 Mozilla Firefox for Debian 的更名版本):
apt-get 安装 iceweasel
步骤 2 — 创建 VNC 用户
我们将为 VNC 连接创建一个单独的用户,以保持安全和整洁。强烈建议使用 sudo,而不是直接为您的 VNC 服务器使用 root 用户。
您可以使用以下命令将名为 vnc 的用户添加到您的 Debian Droplet:
被带到那里
给你的新用户一个密码。您只需按“ENTER”即可跳过所有其他问题。
通过执行以下命令安装sudo:
apt-get 安装 sudo
将新的 vnc 用户添加到 sudo 组,这将授予该用户执行 root 命令的权限。
gpasswd -a vnc 须藤
让我们切换到 vnc 用户:
是-vnc
第 3 步 — 启动和停止 VNC 服务器
作为我们新创建的 vnc 用户,我们可以启动 VNC Server 并测试我们的连接。
启动 VNC 服务器:
vnc服务器
由于这是您第一次运行服务器,您将被要求设置客户端用于连接的密码。请记住此密码以备后用!您还可以设置仅查看密码,这将允许用户查看屏幕但不能与之交互。密码应为 6-8 个字符。
当服务器启动时,您将收到有关您的显示编号的通知。
输出
xauth: 文件 /home/vnc/.Xauthority 不存在
新的“X”桌面是 vnc:1
创建默认启动脚本 /home/vnc/.vnc/xstartup
启动 /home/vnc/.vnc/xstartup 中指定的应用程序
日志文件是 /home/vnc/.vnc/vnc:1.log
默认情况下,VNC 连接在从 5901 开始的端口上提供服务,用于第一次显示。您的第二个显示器将在端口“5902”等上提供服务。
现在不要停止服务器,但我们包含停止命令以供参考。
使用此命令在“Display 1”(和端口“5901”)上停止 VNC 服务器:
vncserver -kill :1
:1 是您要杀死的显示编号。
当您想再次连接时,您可以手动启动 VNC Server。我们将在后面的步骤中为 VNC Server 创建一个服务。
第 4 步 — 从 VNC 客户端连接
您现在可以连接到您的 VNC 服务器。打开您的本地 VNC 客户端,具体取决于您的操作系统。
在 Windows 上,您可以使用 UltraVNC 此处。
在 OS X 上,您可以使用内置的屏幕共享应用程序或通过 Safari 访问此应用程序。在 Safari 中,您可以输入 vnc://your_server_ip:5901
对于您的 VNC 服务器地址,输入 your_server_ip:5901 并使用您刚刚为 VNC 连接设置的密码。
您可以选择 XFCE 欢迎屏幕上的 Use default config 按钮以轻松开始:

现在您可以使用远程桌面了!
步骤 5 — 创建一个 systemd 服务来自动启动 VNC 服务器
在本节中,我们将 VNC 服务器添加到 systemd。使用服务可用于启动和停止 VNC 服务器,以及在重新启动 Droplet 时自动启动它。
首先,让我们杀死当前实例:
vncserver -kill :1
创建一个简单的脚本来轻松管理和配置我们的 VNC 服务器:
作为 vnc 或其他 sudo 用户,使用您喜欢的文本编辑器创建脚本文件。
须藤纳米/usr/local/bin/myvncserver
准确添加这些内容。该脚本为 VNC 提供了一些启动参数。
/usr/local/bin/myvncserver
#!/bin/bash
pathu003d"$path:/user/bin/"
显示u003d“1”
深度u003d“16”
几何u003d"1024x768"
选项u003d"-depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY}"
案例“$1”在
开始)
/usr/bin/vncserver ${选项}
;;
停止)
/usr/bin/vncserver -kill :${DISPLAY}
;;
重新开始)
$0 停止
$0 开始
;;
经社理事会
出口 0
您可以修改脚本以更改 VNC 连接的颜色深度或分辨率。
如果你使用 nano,你可以通过 CTRL+O 保存文件并通过 CTRL+X 退出。
使文件可执行:
sudo chmod +x /usr/local/bin/myvncserver
我们的脚本将帮助我们轻松修改设置和启动/停止 VNC Server。
如果您愿意,您可以手动调用脚本以使用所需的配置在端口 5901 上启动/停止 VNC 服务器。
sudo /usr/local/bin/myvncserver 启动
sudo /usr/local/bin/myvncserver 停止
sudo /usr/local/bin/myvncserver 重启
我们现在可以为我们的服务创建一个 单元文件。单元文件用于描述服务并告诉计算机如何启动/停止或重新启动服务。
Sudonano / ib / sys md / sys m / my v c r er。服务
将这些命令复制到服务文件。我们的服务将简单地使用用户 vnc 调用上面的启动脚本。
/lib/systemd/system/myvncserver.service
[单元]
描述u003d管理此 Droplet 上的 VNC 服务器
[服务]
类型u003d分叉
ExecStartu003d/usr/local/bin/myvncserver 启动
ExecStopu003d/usr/local/bin/myvncserver 停止
ExecReloadu003d/usr/local/bin/myvncserver重启
用户u003dvnc
[安装]
WantedByu003d多用户.target
现在我们可以重新加载 systemctl 并启用我们的服务:
sudo systemctl daemon-reload
sudo systemctl enable myvncserver.service
您现在已启用新服务。使用这些命令来启动、停止或重新启动使用 systemctl 命令的服务:
sudo systemctl start myvncserver.service
sudo systemctl stop myvncserver.service
sudo systemctl 启动 vncserver.service
现在,您可以在 Droplet 上将 VNC 服务器作为服务运行。
第 6 步 — 使用 SSH 隧道保护您的 VNC 服务器
默认情况下,VNC 连接不使用加密,因此建议使用 SSH 隧道来保护您的会话。
为此,我们将只让我们的 VNC 服务器在 localhost 上服务。您可以通过将 -localhost 添加到上一步中创建的启动脚本中的 OPTIONS 行来做到这一点。
首先,停止VNC服务器:
sudo systemctl stop myvncserver.service
编辑您的配置脚本:
须藤纳米/usr/local/bin/myvncserver
更改此行:
/usr/local/bin/myvncserver
. . .
选项u003d"-depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY}"
. . .
将其替换为:
/usr/local/bin/myvncserver
. . .
选项u003d"-depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY} -localhost"
. . .
重启 VNC 服务器:
sudo systemctl start myvncserver.service
现在您无法从远程计算机直接连接到您的 VNC 服务器。
视窗:
我们将使用 PuTTY 创建一个 SSH 隧道,然后通过我们创建的隧道进行连接。
打开腻子。
从左侧菜单中,转到 Connection->SSH->Tunnels 部分。
在 Add New Forwarded Port 部分,输入 5901 作为 Source port 和 localhost:5901 作为 Destination。
单击添加按钮。

您现在可以转到左侧菜单中的 Session 部分。
在 Host Name (or IP address) 字段中输入您的 Droplet 的 IP 地址。
单击打开按钮进行连接。您还可以保存这些选项以供以后使用。

使用您的 vnc 用户登录。
进行 VNC 连接时,请保持 PuTTY 窗口打开。
现在您可以像往常一样使用您的 VNC 查看器了。只需输入 localhost::5901 作为地址,并在后台保持 SSH 连接。

操作系统:
要建立 SSH 隧道,请在终端中使用以下行:
ssh vnc@your_server_ip -L 5901:localhost:5901
为 SSH 的 vnc 用户正常进行身份验证。然后,在屏幕共享应用程序中,使用 localhost:5901。
结论
现在您可以在 Debian 8 服务器上使用共享远程桌面。
使用它来配置您的服务器,或与他人共享您的屏幕。
更多推荐




所有评论(0)