论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
运维.售后
›
运维.售后
›
Ubuntu 20.04 上安装和配置 VNC
Ubuntu 20.04 上安装和配置 VNC
渣渣兔
金牌会员
|
2024-7-30 15:56:19
|
显示全部楼层
|
阅读模式
楼主
主题
653
|
帖子
653
|
积分
1959
先决条件
请确保以具有 sudo 权限的用户身份登录。发起使用具有 sudo 权限的平常用户进行处置惩罚,而不是直接使用 root 用户。创建用户并加入 sudoers 可自行百度。
安装桌面情况
大多数服务器没有安装桌面情况,因此我们起首要安装轻量级桌面情况。
Ubuntu 存储库中有几个桌面情况,远程桌面管剃头起选择安装 Xfce 。它是快速,稳定和轻量级的桌面情况,非常得当在远程服务器上使用。
起首使用以下命令更新系统
sudo apt updatesudo 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/typhoon/.Xauthority does not exist
New 'server2.typhoon.org:1 (typhoon)' desktop at :1 on machine server2.typhoon.org
Starting applications specified in /etc/X11/Xvnc-sessionLog file is /home/typhoon/.vnc/server2.typhoon.org:1.log
Use xtigervncviewer -SecurityTypes VncAuth -passwd /home/typhoon/.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 。
注:如果启动时出现 vnc 启动异常: is taken because of /tmp/.X11-unix/X1
此时只必要将提示的文件删除即可。再次输入 vncserver
。
在继续下一步之前,起首使用带有 -kill 选项和服务器编号作为参数的 vncserver
命令制止 VNC 实例。在我们的例子中,服务器在端口 5901 (:1)中运行,因此我们将使用以下命令制止它:
vncserver
-kill :1
复制代码
Killing Xtigervnc process ID 7264... success!
复制代码
配置 VNC 服务器
现在我们已经在服务器上安装了 Xfce 和 TigerVNC ,我们必要配置 TigerVNC 来使用 Xfce 。为此,请创建以下文件 〜/.vnc/xstartup:
vim ~/.vnc/xstartup
复制代码
复制以下代码
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4
复制代码
保存并关闭文件。无论何时启动或重启 TigerVNC 服务器,都将自动实行上述命令。
~/.vnc/xstartup 文件还必要具有实行权限。运行以下命令以确保权限正确:
chmod u+x ~/.vnc/xstartup
复制代码
创建 Systemd 单位文件
我们将创建一个 systemd 单位文件,使我们能够根据必要轻松启动,制止和重新启动 VNC 服务,与任何其他 systemd 服务相同。
打开文本编辑器,将以下配置复制并粘贴到其中。
sudo nano /etc/systemd/system/vncserver
@.service
复制代码
请务必更改第 7 行中的用户名以匹配您的用户名。
[Unit]Description=Remote desktop service (VNC)After=syslog.target network.target[Service]Type=simpleUser=usernamePAMName=loginPIDFile=/home/%u/.vnc/%H%i.pidExecStartPre=/bin/sh -c '/usr/bin/vncserver
-kill :%i > /dev/null 2>&1 || :'ExecStart=/usr/bin/vncserver
:%i -geometry 1440x900 -alwaysshared -fgExecStop=/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 ago Process: 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 为您的服务器 root 用户名和 IP 地点。
系统将提示您输入用户密码。
该-L开关指定的端口绑定。在这种情况下,我们将5901远程连接的端口5901绑定到本地计算机上的端口。该-C开关启用压缩,而-N开关告诉ssh我们不希望实行远程命令。该-l开关指定远程登录名。
如果您使用的是图形化 SSH 客户端(如 PuTTY),请将 server_ip_address 用作连接 IP,并在程序的 SSH 隧道设置中设置localhost:5901为新的转发端口。
隧道运行后,使用 VNC 客户端进行连接localhost:5901。系统将提示您使用在步调 1 中设置的密码进行身份验证。
连接后,您将看到默认的 Xfce 桌面。它应该看起来像如许:
测试
使用gstreamer启动视频,可以表现图形界面
增补
如果服务器是通过端口转发,需添加-p参数
ssh -p <ssh转发端口号> -L 5901:127.0.0.1:5901 -N -f -l <username> <server_ip_address>
复制代码
参考
Ubuntu 20.04 上安装和配置 VNC
gstreamer tutorials
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
渣渣兔
金牌会员
这个人很懒什么都没写!
楼主热帖
SaaS软件工程师成长路径
轻松掌握组件启动之MongoDB(上):高 ...
Redis 缓存过期策略和内存淘汰策略 ...
深度干货!一篇Paper带您读懂HTAP | St ...
SqlServer2012升级到SqlServer2016
.NET for Apache Spark 入门演练
事务的ACID特性
Rocksdb原理简介
轻松实现.NET应用自动更新:AutoUpdate ...
计算机等级考试二级C语言模拟试卷(四 ...
标签云
挺好的
服务器
快速回复
返回顶部
返回列表