如何在Debian 8上设置VNC服务器

栏目: 服务器 · 发布时间: 6年前

内容简介:VNC(虚拟网络计算)是一种使用户能够连接远程计算机的图形桌面并与之交互的系统。它可以通过网络传输屏幕更新,键盘和鼠标事件。当您需要服务器的图形桌面环境时,VNC非常有用。XFCE是一个轻量级的桌面环境。由于它具有较低的系统资源要求,并且由于许多VNC用户都熟悉它,因此我们将在本教程中使用XFCE。但是,您也可以使用自己喜欢的桌面环境,例如Gnome或KDE。

介绍

VNC(虚拟网络计算)是一种使用户能够连接远程计算机的图形桌面并与之交互的系统。它可以通过网络传输屏幕更新,键盘和鼠标事件。

当您需要服务器的图形桌面环境时,VNC非常有用。

XFCE是一个轻量级的桌面环境。由于它具有较低的系统资源要求,并且由于许多VNC用户都熟悉它,因此我们将在本教程中使用XFCE。但是,您也可以使用自己喜欢的桌面环境,例如Gnome或KDE。

在本教程中,我们将设置Debian 8服务器,在其上安装XFCE桌面环境,并通过VNC连接它。此外,我们将为VNC Server创建一个启动脚本,并通过SSH保护它。

准备

请完成以下准备。

  • Debian 8(或8.1)具有root访问权限的腾讯云CVM。512 MB的RAM足以运行VNC和XFCE,但您可能需要更大的腾讯云CVM,具体取决于您打算如何处理图形界面。没有服务器的同学可以在这里购买,不过我个人更推荐您使用 免费 的腾讯云开发者实验室进行试验,学会安装后再购买服务器。
  • 计算机上的VNC查看器(客户端)连接到您的服务器。在本教程中,我们将在Windows上使用UltraVNC,但您可以使用其他VNC客户端。你可以 在这里 下载UltraVNC 。OS X附带一个名为Screen Sharing的内置VNC客户端
  • SSH客户端通过SSH建立安全连接。我们将使用PuTTY for Windows。你可以 在这里 下载PuTTY 。在OS X上,只需使用内置的终端应用程序。

第1步 - 安装VNC和XFCE

在此步骤中,我们将安装VNC Server和XFCE桌面环境,以及其他软件和图标包。

更新服务器的包列表:

apt-get update

升级包本身:

apt-get -y upgrade

然后,我们将安装 tightvncserver 和XFCE4一些有用的附加组件和一个图标主题:

apt-get install xfce4 xfce4-goodies gnome-icon-theme tightvncserver

默认情况下,没有安装浏览器。如果要从VNC连接访问Web,可以安装 iceweasel (这是Mozilla Firefox for Debian的重新命名版本):

apt-get install iceweasel

第2步 - 创建VNC用户

我们将为VNC连接创建一个单独的用户,以保证安全和整洁。强烈建议使用 sudo ,而不是使用 直接用户为你的VNC服务器。

您可以使用以下命令将名为 vnc 的用户添加到Debian 腾讯云CVM:

adduser vnc

为新用户提供密码。只需按下 ENTER 可跳过所有其他问题。

执行此命令安装 sudo

apt-get install sudo

将新的 vnc 用户添加到 sudo 组,该组将授予该用户执行root命令的权限。

gpasswd -a vnc sudo

让我们切换到 vnc 用户:

su - vnc

第3步 - 启动和停止VNC服务器

作为我们新创建的 vnc 用户,我们可以启动VNC服务器并测试我们的连接。

启动VNC服务器:

vncserver

由于这是您第一次运行服务器,因此系统会要求您设置客户端用于连接的密码。请记住此密码以备日后使用!您还可以设置仅查看密码,该密码允许用户查看屏幕但不与其进行交互。密码应为 6-8个字符

启动服务器时,您将收到有关显示器编号的通知。

xauth:  file /home/vnc/.Xauthority does not exist
​
New 'X' desktop is vnc:1
​
Creating default startup script /home/vnc/.vnc/xstartup
Starting applications specified in /home/vnc/.vnc/xstartup
Log file is /home/vnc/.vnc/vnc:1.log

默认情况下,VNC连接 5901 开始的端口上用于第一次显示。您的第二个显示器将在端口 5902 上提供。

不要立即停止服务器,但是我们要包含stop命令以供参考。

使用此命令停止 Display 1 上的VNC服务器(和端口 5901 ):

vncserver -kill :1

:1 是要结束的显示号码。

如果要再次连接,可以手动启动VNC服务器。我们将在稍后的步骤中为VNC服务器创建服务。

第4步 - 从VNC客户端连接

您现在可以连接到VNC服务器。打开本地VNC客户端,具体取决于您的操作系统。

在Windows上,您可以 在此处 使用UltraVNC 。

在OS X上,您可以使用内置的屏幕共享应用程序或通过Safari访问此应用程序。在Safari中,您可以输入 vnc:// 您的服务器 IP:5901

对于您的VNC服务器地址,请输入 您的服务器 IP:5901 并使用您刚为VNC连接设置的密码。

您可以在XFCE欢迎屏幕上选择 使用默认配置 按钮以便轻松入门:

现在您可以使用远程桌面了!

步骤5 - 创建systemd服务以自动启动VNC服务器

在本节中,我们将VNC服务器添加到systemd。使用服务对于启动和停止VNC服务器非常有用,并且在重新启动腾讯云CVM时也可以自动启动它。

首先,让我们结束当前实例:

vncserver -kill :1

创建一个简单的脚本来轻松管理和配置我们的VNC服务器:

作为 vnc 或其他sudo用户,使用您喜欢的文本编辑器创建脚本文件。

sudo nano /usr/local/bin/myvncserver

准确添加这些内容。该脚本为VNC提供了一些启动参数。

#!/bin/bash
PATH="$PATH:/usr/bin/"
DISPLAY="1"
DEPTH="16"
GEOMETRY="1024x768"
OPTIONS="-depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY}"
​
case "$1" in
start)
/usr/bin/vncserver ${OPTIONS}
;;
​
stop)
/usr/bin/vncserver -kill :${DISPLAY}
;;
​
restart)
$0 stop
$0 start
;;
esac
exit 0

您可以修改脚本以更改VNC连接的颜色深度或分辨率。

如果您使用的是nano,则可以保存文件(通过 CTRL+O )并退出( CTRL+X )。

使文件可执行:

sudo chmod +x /usr/local/bin/myvncserver

我们的脚本将帮助我们轻松修改设置和启动/停止VNC服务器。

如果您愿意,可以手动调用脚本以使用所需的配置在端口5901上启动/停止VNC服务器。

sudo /usr/local/bin/myvncserver start
sudo /usr/local/bin/myvncserver stop
sudo /usr/local/bin/myvncserver restart

我们现在可以为我们的服务创建一个单元文件。单元文件用于描述服务并告诉计算机如何启动/停止或重新启动服务。

sudo nano /lib/systemd/system/myvncserver.service

将这些命令复制到服务文件。我们的服务只需使用用户 vnc 调用上面的启动脚本。

[Unit]
Description=Manage VNC Server on this 腾讯云CVM
​
[Service]
Type=forking
ExecStart=/usr/local/bin/myvncserver start
ExecStop=/usr/local/bin/myvncserver stop
ExecReload=/usr/local/bin/myvncserver restart
User=vnc
​
[Install]
WantedBy=multi-user.target

现在我们可以重新加载 systemctl 并启用我们的服务:

sudo systemctl daemon-reload
sudo systemctl enable myvncserver.service

您现在已启用新服务。使用 systemctl 命令启动,停止或重新启动服务:

sudo systemctl start myvncserver.service
sudo systemctl stop myvncserver.service
sudo systemctl restart myvncserver.service

现在,您可以在腾讯云CVM上将VNC Server作为服务运行。

步骤6 - 使用SSH隧道保护您的VNC服务器

默认情况下,VNC连接不使用加密,因此建议使用SSH隧道来保护会话。

为此,我们只允许我们的VNC服务器在 localhost上运行 。 您可以通过添加 -localhostOPTIONS 上一步中创建的启动脚本中的行来执行此操作。

首先,停止VNC服务器:

sudo systemctl stop myvncserver.service

编辑配置脚本:

sudo nano /usr/local/bin/myvncserver

改变这一行:

在/ usr / local / bin目录/ myvncserver

. . .
​
OPTIONS="-depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY}"
​
. . .

替换为:

. . .
​
OPTIONS="-depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY} -localhost"
​
. . .

重启VNC服务器:

sudo systemctl start myvncserver.service

现在,您无法从远程计算机直接连接到VNC服务器。

Windows:

我们将使用PuTTY创建SSH隧道,然后通过我们创建的隧道连接。

打开PuTTY。

从左侧菜单中,转到 Connection-> SSH-> Tunnels 部分。

添加新的转发端口 部分,输入 5901源端口localhost:5901目标

单击“ 添加” 按钮。

您现在可以转到左侧菜单中的“ 会话” 部分。

主机名(或IP地址) 字段中输入您的腾讯云CVM的IP地址。

单击“ 打开” 按钮进行连接。您也可以保存这些选项以供日后使用。

使用您的 vnc 用户登录。

进行VNC连接时,保持PuTTY窗口打开。

现在您可以像往常一样使用VNC查看器。只需输入 localhost :: 5901 作为地址,并在后台保持SSH连接。

OS X:

要建立SSH隧道,请在终端中使用以下行:

ssh vnc@your_server_ip -L 5901:localhost:5901

vnc 用户进行SSH 正常身份验证。然后,在屏幕共享应用程序中,使用 localhost:5901

结论

现在,您可以在Debian 8服务器上使用共享远程桌面。

使用它来配置您的服务器,或与他人共享您的屏幕。

想要了解更多关于设置VNC服务器的相关教程,请前往腾讯云+社区学习更多知识。

参考文献:《How To Set Up VNC Server on Debian 8》


以上所述就是小编给大家介绍的《如何在Debian 8上设置VNC服务器》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

深入浅出HTML5编程

深入浅出HTML5编程

弗里曼 (Eric Friiman)、罗布森 (Elisabdth Robson) / 东南大学出版社 / 2012-4 / 98.00元

《深入浅出HTML5编程(影印版)(英文)》就是你的特快车票,它可以带你学习如何使用今天的标准同时也会是明日的最佳实践来搭建Web应用。同时,你会了解HTML5的新API的基本知识,甚至你还会弄明白这些API是如何与你的网页进行交互,JaVaScript如何为它们提供动力,以及你如何使用它们来搭建能够打动你的老板并且吸引你的朋友的Web应用。一起来看看 《深入浅出HTML5编程》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具