首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在Debian 8上设置VNC服务器

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

原创
作者头像
谢鸢
修改2018-10-23 09:54:22
4.4K0
修改2018-10-23 09:54:22
举报

介绍

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》

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • 准备
  • 第1步 - 安装VNC和XFCE
  • 第2步 - 创建VNC用户
  • 第3步 - 启动和停止VNC服务器
  • 第4步 - 从VNC客户端连接
  • 步骤5 - 创建systemd服务以自动启动VNC服务器
  • 步骤6 - 使用SSH隧道保护您的VNC服务器
  • 结论
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档