ubuntu 18.04安装vnc
本指南介绍了在 Ubuntu 18.04 系统上安装和配置 VNC 服务器所需的步骤。我们还将向您展示如何通过 SSH 隧道安全地连接到 VNC 服务器。
虚拟网络计算(VNC)是一种图形桌面共享系统,允许您使用键盘和鼠标远程控制另一台计算机。
先决条件
在继续学习本教程之前,请确保以具有 sudo 权限的用户身份登录。
安装桌面环境
大多数服务器没有安装桌面环境,因此我们首先要安装轻量级桌面环境。
Ubuntu 存储库中有几个桌面环境(DE)。在本教程中,我们将安装 Xfce 。它是快速,稳定和轻量级的桌面环境,非常适合在远程服务器上使用。
首先使用以下命令更新系统
sudo apt update sudo apt upgrade
然后,键入以下命令以在服务器上安装 Xfce :
sudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils
(最后一个可能并不需要)
根据您的系统,下载和安装 Xfce 软件包可能需要一些时间。
安装 VNC 服务器
Ubuntu 存储库中还有几种不同的 VNC 服务器,如 TightVNC , TigerVNC 和 x11vnc 。每个 VNC 服务器在速度和安全性方面都有不同的优点和缺点。
我们将安装 TigerVNC ,它是高性能 VNC 服务器,并被积积极维护。
键入以下命令以在 Ubuntu 服务器上安装 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/buzheng/.Xauthority does not existNew 'server2.buzheng.org:1 (buzheng)' desktop at :1 on machine server2.buzheng.orgStarting applications specified in /etc/X11/Xvnc-session Log file is /home/buzheng/.vnc/server2.buzheng.org:1.logUse xtigervncviewer -SecurityTypes VncAuth -passwd /home/buzheng/.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 7264... success!
配置 VNC 服务器
现在我们已经在服务器上安装了 Xfce 和 TigerVNC ,我们需要配置 TigerVNC 来使用 Xfce 。为此,请创建以下文件 〜/.vnc/xstartup:
nano ~/.vnc/xstartup
#!/bin/sh unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS exec startxfce4
保存并关闭文件。无论何时启动或重启 TigerVNC 服务器,都将自动执行上述命令。
~/.vnc/xstartup 文件还需要具有执行权限。运行以下命令以确保权限正确:
chmod u+x ~/.vnc/xstartup
如果需要将附加选项传递给 VNC 服务器,则可以创建一个名为 config 的文件,并为每行添加一个选项。这是一个例子:
文件 ~/.vnc/config
geometry=1920x1084 dpi=96
创建 Systemd 单元文件
我们将创建一个 systemd 单元文件,使我们能够根据需要轻松启动,停止和重新启动 VNC 服务,与任何其他 systemd 服务相同。
打开文本编辑器,将以下配置复制并粘贴到其中。请务必更改第 7 行中的用户名以匹配您的用户名。
sudo nano /etc/systemd/system/vncserver@.service
[Unit] Description=Remote desktop service (VNC) After=syslog.target network.target[Service] Type=simple User=buzheng 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[Install] WantedBy=multi-user.target
保存并关闭文件。
通知 systemd 我们创建了一个新的单元文件:
sudo systemctl daemon-reload
下一步是使用以下命令启用单元文件:
sudo systemctl enable vncserver@1.service
符号 1 后面的数字 @ 定义了运行 VNC 服务的显示端口。这意味着 VNC 服务器将侦听端口 5901 ,正如我们在上一节中讨论的那样。
执行以下命令启动 VNC 服务:
sudo systemctl start vncserver@1.service
验证服务是否已成功启动:
sudo systemctl status vncserver@1.service
● vncserver@1.service - Remote desktop service (VNC)Loaded: loaded (/etc/systemd/system/vncserver@.service; indirect; vendor preset: enabled)Active: active (running) since Thu 2018-08-16 19:05:54 UTC; 4s agoProcess: 9893 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill :1 > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)Main PID: 9900 (vncserver)Tasks: 0 (limit: 507)CGroup: /system.slice/system-vncserver.slice/vncserver@1.service‣ 9900 /usr/bin/perl /usr/bin/vncserver :1 -geometry 1440x900 -alwaysshared -fg
连接到 VNC 服务器
VNC 不是加密协议,可以进行数据包嗅探。建议的方法是创建一个 SSH 隧道,该隧道将安全地将来自本地计算机的端口 5901 上的流量转发到同一端口上的服务器。
在 Linux 和 macOS 上设置 SSH 隧道
如果在计算机上运行 Linux , macOS 或任何其他基于 Unix 的操作系统,则可以使用以下命令轻松创建 SSH 隧道:
ssh -L 5901:127.0.0.1:5901 -N -f -l username server_ip_address
系统将提示您输入用户密码。
不要忘了更换 username ,并 server_ip_address 与您的用户名和服务器的 IP 地址。
在 Windows 上设置 SSH 隧道
如果运行 Windows ,则可以使用 PuTTY SSH 客户端设置 SSH 隧道。
打开 Putty 并在 Host name or IP address 字段中输入您的服务器 IP 地址。
在 Connection 菜单框下,展开 SSH 并选择 Tunnels 。输入 VNC 服务器端口(5901 在) Source Port 字段,并输入 server_ip_address:5901 在 Destination 现场和点击 Add 如下图所示的图像按钮:
返回 Session 页面以保存设置,这样您每次都不需要输入它们。现在,您只需选择已保存的会话并通过单击 Open 按钮登录到远程服务器。
使用 Vncviewer 连接
现在您已经设置了 SSH 隧道,现在可以打开 Vncviewer 并连接到 VNC 服务器了 localhost:5901 。
您可以使用任何 VNC 查看器,如 TigerVNC , TightVNC , RealVNC , UltraVNC Vinagre 和 VNC Viewer for Google Chrome 。
在这个例子中,我们将使用 TigerVNC 。打开 VNC 查看器,输入 localhost:5901 并单击 Connect 按钮。
出现提示时输入密码,您应该会看到默认的 Xfce 桌面。它应该看起来像这样:
您可以使用键盘和鼠标从本地计算机开始与远程 XFCE 桌面交互。
结论
到目前为止,您应该已经启动并运行 VNC 服务器,并且可以使用易于使用的图形界面从本地桌面计算机轻松管理 Ubuntu 18.04 服务器。
要配置 VNC 服务器以启动多个用户的显示,请使用该 vncserver 命令创建初始配置并设置密码。您还需要使用其他端口创建新的服务文件
ubuntu 18.04安装vnc相关推荐
- Ubuntu 18.04安装远程桌面
Ubuntu 18.04安装远程桌面 陈拓 2021/08/05-2020/08/08 1. Putty登录 IP地址 192.168.0.103 登录账户 ccdc xxxxxxxx 2. Ubun ...
- Ubuntu 18.04 安装 redis入门使用
Ubuntu 18.04 安装 redis入门使用 1.安装 sudo apt-get install redis-server 2.查看redis运行状态 ps -ef | grep redis 3 ...
- Ubuntu 18.04安装CUDA(版本10.2)和cuDNN
1.系统要求 2.安装前的要求 3.runfile安装(不支持跨平台) 4.后续安装操作 5.安装cuDNN 6.汇总问题 本文基于Ubuntu 18.04.3 LTS 64位安装CUDA 10.2和 ...
- Ubuntu 18.04 安装OpenCV C++
Ubuntu 18.04 安装OpenCV C++ 构建并安装 仅构建核心模块 # 更新并安装依赖 sudo apt update && sudo apt install -y cma ...
- Ubuntu 18.04安装NVIDIA(英伟达) RTX2080Ti显卡
Ubuntu 18.04安装NVIDIA(英伟达) RTX2080Ti显卡 在安装显卡之前请先把ubuntu 18.04系统提前安装好. 需要准备的资料: NVIDIA 驱动 下载驱动 驱动的下载地址 ...
- linux 模拟运行 微信,Ubuntu 18.04 安装微信(Linux通用)
Ubuntu 18.04 安装微信(Linux通用) 发布时间:2018-06-02 10:52, 浏览次数:1468 , 标签: Ubuntu Linux Linux相关的知识:https://ww ...
- ubuntu 18.04 安装 中文 拼音 输入法
ubuntu 18.04 安装 中文输入法 拼音 在安装ubuntu时,如果选择英文安装默认会不启用中文输入法的.可以通过下述方法开启: 1,安装 pingyin 输入法 打开终端输入命令: sudo ...
- [笔记] Ubuntu 18.04安装Docker CE及nvidia-docker2流程
这篇已经Out了,以[笔记] Ubuntu 18.04安装Docker CE及NVIDIA Container Toolkit流程为准. Docker的好处之一,就是在Container里面可以随意瞎 ...
- 完美解决 Ubuntu 18.04 安装网易云音乐 不能正常点击启动问题
完美解决 Ubuntu 18.04 安装网易云音乐 不能正常点击启动问题 经过我的学习终于学会了,下面附上连接 完美解决
最新文章
- JSP数据交互(一)
- SqLite中的事务
- 光源时间_天哪!你们居然都错了!D65光源,指的是上午还是下午的太阳光?
- java注释日志打印_java 注解结合 spring aop 实现自动输出日志
- 解决python调用TensorFlow时出现FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecate
- python找出只出现一次的数字_Python数组中只出现一次的数字
- JavaOne 2012:非阻塞数据结构如何工作?
- 方法覆盖(方法重写)
- java 文件分割器_Java分割器
- 驱动开发专家解读《寒江独钓——Windows内核安全编程》
- 压缩感知重构算法——SP算法
- QT+Opencv视频文件TCP网络传输
- sinx/x在0到+∞的积分
- LSB图像隐写和峰值信噪比计算的python实现
- 职工档案管理系统报告与c语言,职工档案管理系统c语言
- 完美解决Windows 7更新失败(Windows Update 错误 80070003)
- 图片上传时,显示格式错误怎么办?
- Cass符号填充设置
- Ubuntu 下图像标注工具 labelImg 的安装及使用
- python制作收费_python分段计费demo