安卓系统

如何在Debian 9上安装和配置vnc

你知道怎么在Linux上安装软件吗?教你如何在Linux系统上安装软件 | Linux安装软件 | Linux教程

你知道怎么在Linux上安装软件吗?教你如何在Linux系统上安装软件 | Linux安装软件 | Linux教程

目录:

Anonim

本教程描述了如何在Debian 9系统上安装和配置VNC服务器。 我们还将向您展示如何创建SSH隧道并安全地连接到VNC服务器。

虚拟网络计算(VNC)是一个图形桌面共享系统,可让您使用键盘和鼠标远程控制另一台计算机。

先决条件

在继续本教程之前,请确保您以具有sudo特权的用户身份登录。

安装桌面环境

您的Debian服务器可能没有安装桌面环境。 我们的第一步是安装轻量级桌面环境。

Debian存储库中有几种可用的桌面环境(DE)。 在本教程中,我们将使用Xfce作为我们选择的桌面环境。 它是快速,稳定且轻巧的,非常适合在远程服务器上使用。

更新软件包索引,并使用以下命令在您的Debian服务器上安装Xfce:

sudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils

根据您的系统,下载和安装Xfce软件包可能需要一些时间。

安装VNC服务器

Debian存储库中还有几种不同的VNC服务器,例如TightVNC,TigerVNC和x11vnc。 每个VNC服务器在速度和安全性方面都有其优点和缺点。

我们将使用TigerVNC,它是积极维护的高性能VNC服务器。 要在您的Debian服务器上安装TigerVNC,请发出以下命令:

sudo apt install tigervnc-standalone-server tigervnc-common

安装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 'debian9.localdomain:1 (linuxize)' desktop at:1 on machine debian9.localdomain Starting applications specified in /etc/X11/Xvnc-session Log file is /home/linuxize/.vnc/debian9.localdomain:1.log Use xtigervncviewer -SecurityTypes VncAuth -passwd /home/linuxize/.vnc/passwd:1 to connect to the VNC server.

首次运行 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 Xtigervnc process ID 6677… success!

配置VNC服务器

现在,在服务器上同时安装了Xfce和TigerVNC,我们需要配置TigerVNC以使用Xfce。 为此,请创建以下文件:

nano ~/.vnc/xstartup 〜/.vnc / xstartup

#!/bin/sh unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS exec startxfce4

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

~/.vnc/xstartup 文件也需要具有执行权限。 运行以下 chmod 命令以确保权限正确:

chmod u+x ~/.vnc/xstartup 〜/.vnc /配置

geometry=1920x1084 dpi=96

创建一个Systemd单位文件

systemd单元文件将使我们能够根据需要轻松启动,停止和重新启动VNC服务。

打开文本编辑器,然后将以下配置复制并粘贴到其中。 不要忘记在第7行更改用户名以匹配您的用户名。

sudo nano /etc/systemd/system/[email protected] /etc/systemd/system/[email protected]

Description=Remote desktop service (VNC) After=syslog.target network.target Type=simple User=linuxize PAMName=login PIDFile=/home/%u/.vnc/%H%i.pid ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill:%i > /dev/null 2>&1 ||:' ExecStart=/usr/bin/vncserver:%i -geometry 1440x900 -alwaysshared -fg ExecStop=/usr/bin/vncserver -kill:%i WantedBy=multi-user.target

保存并关闭文件。

通过运行以下命令,通知systemd一个新的 [email protected] 文件存在:

sudo systemctl daemon-reload

接下来,启用服务:

sudo systemctl enable [email protected]

@ 符号后面的数字 1 定义了VNC服务将在其上运行的显示端口。 正如我们在上一节中讨论的那样,由于我们正在使用 1 因此VNC服务器将在端口 5901 5901

通过执行以下命令来启动VNC服务:

sudo systemctl start [email protected]

验证服务是否成功启动:

sudo systemctl status [email protected]

[email protected] - Remote desktop service (VNC) Loaded: loaded (/etc/systemd/system/[email protected]; enabled; vendor preset: enabled) Active: active (running) since Wed 2018-10-03 05:23:33 PDT; 51s ago Process: 7063 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill:1 > /dev/null 2>&1 ||: (code=exited, status=0/SUCCESS) Main PID: 7071 (vncserver) Tasks: 0 (limit: 4915) CGroup: /system.slice/system-vncserver.slice/[email protected] ‣ 7071 /usr/bin/perl /usr/bin/vncserver:1 -geometry 1440x900 -alwaysshared -fg

连接到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地址。

至此,您已经成功通过VNC连接到服务器。 现在,您可以使用键盘和鼠标从本地计算机开始与远程XFCE桌面进行交互。

结论

现在,您应该已经启动并运行了VNC服务器,并且可以使用图形界面从本地计算机轻松管理Debian 9服务器。

要将VNC服务器配置为为多个用户启动显示,请创建初始配置并使用 vncserver 命令设置密码。 您还需要使用其他端口创建一个新的服务文件。

如有任何疑问,请随时发表评论。

debian vnc