Ubuntu20.04之VNC的安装与使用

news2024/12/25 9:28:36

本教程适用于Ubuntu20.04及以下版本,Ubuntu22.04版本或有出入
更多更新的文章详见我的个人博客:【前往】

文章目录

    • 1.安装图形桌面
      • 1.1选择安装gnome桌面
      • 1.2选择安装xface桌面
    • 2.安装VNC-Server
    • 3.配置VCN-Server
    • 4.连接VNC
    • 5.设置VNC-Server为系统服务(可选)

1.安装图形桌面

如果linux系统已经安装了图形桌面可跳过这一步

Ubuntu20.04主流的图形桌面有gnomexface两种,两种桌面的安装方式我都会写,但这里较推荐gnome桌面

1.1选择安装gnome桌面

sudo apt update #更新软件源
sudo apt install ubuntu-gnome-desktop #安装gnome
sudo systemctl start gdm #刚安装Gnome,需要启动GDM服务以初识化桌面

1.2选择安装xface桌面

sudo apt update #更新软件源
sudo apt install xfce4 xfce4-goodies #安装xface

这个选项选择是否启用显示管理器,选择第一个并Enter

显示管理器是一个程序,使您的 Linux 发行版拥有图形登录功能。它还负责在您使用用户名和密码登录后启动显示服务器和桌面环境

2.安装VNC-Server

主流的vnc软件有RealVNC、TightVNC、x11vnc等

RealVNC是由VNC团队部分成员开发,分为全功能商业版及免费版。TightVNC则强调节省带宽使用。UltraVNC加入了TightVNC的部分程序及加强效能的图形映射驱动程序,并结合Active Directory及NTLM的帐号密码认证,但仅有Windows版本。 Vine ViewerMacOSX的VNC用户端。这些软件各有所长,例如UltraVNC支持文件传输以及全屏模式。而这些软件间大多遵循基本的VNC协议,因此大多可互通使用。

需要说明的是VNC分为Server(服务端,用于提供图像数据)和Client (客户端,用于接收图像数据),这里推荐使用TightVNC Server + RealVNC View的组合

sudo apt install tigervnc-standalone-server #在ubuntu上安装tigervnc-server

安装完tigervnc后需要启动一个vncserver来初识化密码

sudo vncserver #启动vnc-server

首次启动需要定义一个6-8位的密码,超8位密码会被自动截断

You will require a password to access your desktops.

Password:
Verify:
Would you like to enter a view-only password (y/n)? n

设置完vncserver的密码后先关闭vncserver做进一步的配置,否则现在连接你的客户端上是一篇空白的

sudo vncserver -kill :*

Tip: 你可以通过下面的命令修改你的vncserver的密码

sudo vncpasswd

3.配置VCN-Server

  1. 创建并添加xstartup文件到/etc/vnc/xstartup(这步一定要做)
sudo mkdir /etc/vnc #创建VNC目录
sudo nano /etc/vnc/xstartup #创建并编辑xstartup文件
  1. /etc/vnc/xstartup文件中添加下面的内容(Ctrl+O->Enter->Ctrl+X保存文件)
#!/bin/sh

test x"$SHELL" = x"" && SHELL=/bin/bash
test x"$1"     = x"" && set -- default

unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS

vncconfig -iconic &
"$SHELL" -l << EOF
export XDG_SESSION_TYPE=x11
export GNOME_SHELL_SESSION_MODE=ubuntu
dbus-launch --exit-with-session gnome-session --session=ubuntu
EOF
vncserver -kill $DISPLAY

使用xface桌面的添加下面的内容

#!/bin/sh
# Start up the standard system desktop
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
/usr/bin/startxfce4
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
x-window-manager &
  1. 设置为可执行文件
sudo chmod +x /etc/vnc/xstartup
  1. 创建并添加xstartup文件到~/.vnc/xstartup(区别于上一步,这步也要做)
sudo nano ~/.vnc/xstartup #创建并编辑xstartup文件
  1. ~/.vnc/xstartup文件中添加下面的内容(Ctrl+O->Enter->Ctrl+X保存文件)
#!/bin/sh
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
  1. 设置为可执行文件
sudo chmod a+x ~/.vnc/xstartup
  1. 启动VCN-Server
sudo vncserver :1 -geometry 1920x1080 -depth 24 -localhost no

注:-localhost no参数一定要有,没有的话可能无法正常连接,其余参数就是分辨率之类的了,可自定义参数

如果输出下面的类似内容则说明服务器端正常运行

New 'bytexd:1 (edxd)' desktop at :1 on machine bytexd
Use xtigervncviewer -SecurityTypes VncAuth -passwd /home/edxd/.vnc/passwd :1 to connect to the VNC server.

4.连接VNC

  1. 安装VNC View,VNC View就有很多选择了

    • TigerVNC-Client:前往下载
    • RealVNC-Client:前往下载
    • MobaXterm(推荐):前往下载
  2. 连接VNC

大部分的VNC-Client都是只需要Ubuntu的 IP + 端口 + 密码 即可,这里说明一下端口

端口号就是5900+服务器索引,如 vncserver :1指令开启的是第一个服务器,因此第一个服务器的端口就是5901,类推,vncserver :2端口就是5902

5.设置VNC-Server为系统服务(可选)

为设置vnc开机自启,不用每次都需要输入指令开启,可以将vnc-server的开启指令添加到系统服务中

  1. 创建并添加到 /etc/systemd/system/vncserver@.service 文件中
nano /etc/systemd/system/vncserver@.service

向文件里面添加以下内容

[Unit]
Description=Start TigerVNC server at startup
After=syslog.target network.target

[Service]
Type=simple
User=root
PAMName=login
PIDFile=/home/tom/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -fg -depth 24 -geometry 1920x1080 -localhost no :%i
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
  1. 开机自启vncserver
sudo systemctl daemon-reload #加载引导程序
sudo sudo systemctl enable vncserver@1.service # 设置开机自启

输出内容如下:

Created symlink /etc/systemd/system/multi-user.target.wants/vncserver@1.service → /etc/systemd/system/vncserver@.service.

  1. 启动服务
sudo sudo systemctl start vncserver@1.service
  1. 检查服务状态
sudo sudo systemctl status vncserver@1.service

输出下面内容则服务启动正常:

image-20230717215921211

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/827795.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

STM32 DMA

DMA介绍 DMA&#xff0c;Direct Memory Access&#xff0c;即直接存储器访问。 DMA传输&#xff0c;将数据从一个地址空间复制到另一个地址空间。&#xff08;内存&#xff08;程序里定义的数组&#xff09;->外设&#xff08;串口、SPI等外设的数据寄存器&#xff09;、外…

web集群学习--静态网页和动态网页的区别、WEB1.0和WEB2.0的区别、Tomcat安装以及部署jpress应用

1.静态网页和动态网页的区别 1.1概念 静态网页&#xff1a; 由在服务器上提前创建好的HTML文件组成&#xff0c;它的内容在用户请求页面时不会发生改变。当用户访问一个静态网页时&#xff0c;服务器会直接将预先准备好的HTML文件发送给用户的浏览器进行显示。因为静态网页的…

iptables防火墙、filter表控制、扩展匹配、使用iptables配置网络型防火墙、NAT原理、配置SNAT

day05 day05iptables防火墙filter表filter中的三条链环境准备iptables操作验证FORWARD链准备环境配置FORWARD链NAT配置SNAT iptables iptables有多种功能&#xff0c;每一种功能都用一张表来实现最常用的功能是防火墙和NAT从RHEL7开始&#xff0c;默认的防火墙为firewalld&a…

Pandas时序数据分析实践—时序数据集

1. 跑步运动为例&#xff0c;对运动进行时序分析 时序数据是指时间序列数据&#xff0c;是按照时间顺序排列的数据集合&#xff0c;每个数据点都与一个特定的时间戳相关联。在跑步活动中&#xff0c;我们可以将每次跑步的数据记录作为一个时序数据样本&#xff0c;每个样本都包…

C语言隐式类型转换规则 (比较实用)

C语言隐式类型转换规则 语言规定&#xff0c;不同类型的数据需要转换成同一类型后才可进行计算&#xff0c;在整型、实型和 字符型数据之间通过类型转换便可以进行混合运算&#xff08;但不是所有类型之间都可以进 行转换) 当混合不同类型的变量进行计算时&#xff0c;便可能会…

网络故障监测终端的网络稳定性和可靠性

RTU5028E网络故障监测终端是一款功能强大且方便实用的设备&#xff0c;集合了断网、断电、网线故障报警功能。它支持同时监测多达7台网络设备&#xff0c;可以帮助用户快速定位远程网络设备离线的原因。此外&#xff0c;它还具备自动重启和远程重启网络设备的功能&#xff0c;为…

P3372 【模板】线段树 1 树状数组

题目 思路 第一眼&#xff1a;树状数组暴力&#xff0c;区间和直接用前缀和做 好&#xff0c;70分 看来需要用数学推亿推了 树状数组的区间查询&#xff1a;查分 设 c 1 a 1 , c 2 a 2 − a 1 , c 3 a 3 − a 2 . . . c i a i − a i − 1 c_1a_1,c_2a_2-a_1,c_3a_3-a_2..…

echart常用图表配置

echart常用图表配置 柱状图3D柱状图效果代码 排行榜柱状图效果代码 排行榜反转柱状图效果代码 柱状图 3D柱状图 效果 代码 import { graphic } from echartsconst VALUE Array.from({ length: 24 }, () > Math.floor(Math.random() * (5000 - 1000)) 1000)const CubeLe…

Python:列表(list)与元组(tuple)

列表与元组 列表&#xff1a;list元组&#xff1a;tuple 比较直观的区分&#xff1a;列表是中括号"[ ]“&#xff0c;元组是小括号”( )"元组可以看成列表的只读形式 # 列表 list1 [hello, world] list2 [1, 2, 3, 4, 5] list3 ["a", "b", &…

面试必考精华版Leetcode2130.链表最大孪生和

题目&#xff1a; 代码&#xff08;首刷看解析 day22&#xff09;&#xff1a; class Solution { public:int pairSum(ListNode* head) {ListNode* slowhead;ListNode* fasthead->next;while(fast->next!nullptr){slowslow->next;fastfast->next->next;}//反转…

二、韦伯定律

二、韦伯定律 定义&#xff1a;即感觉的差别阈限跟随原来刺激量的变化而变化&#xff0c;而且变现为一定的规律性&#xff0c;用公式来表示&#xff0c;就是就是△Φ/ΦC&#xff0c;其中Φ为原刺激量&#xff0c;△Φ为此时的差别阈限&#xff0c;C为常数&#xff0c;又称为韦…

C语言的转义字符

转义字符也叫转移序列&#xff0c;包含如下&#xff1a; 转移序列 \0oo 和 \xhh 是 ASCII 码的特殊表示。 八进制数示例&#xff1a; 代码&#xff1a; #include<stdio.h> int main(void) {char beep\007;printf("%c\n",beep);return 0; }结果&#xff1a; …

腾讯云-宝塔Linux面板首次登陆操作 (精简教程)

购买服务器这里就略过了... 1. 腾讯云-服务器 2. 找到你的服务器, 点击进去 3. 概要 4. 应用管理 1. 面板首页地址 http://ip:面板端口/tencentcloud2. 面板端口 默认为8888&#xff0c;您可以在登录面板后修改面板端口( 提示&#xff1a;请前往防火墙页面放行面板端口)3. 用户…

“数智新应用”不再是口号,看汽车、医药、制造企业如何突出重围?

近日&#xff0c;以“释放数智生产力”为主题的 Kyligence 用户大会在上海前滩香格里拉大酒店成功举行。大会包含上午的主论坛和下午的 4 场平行论坛&#xff0c;并举办了闭门会议、Open Day 等活动。来自金融、零售、制造、医药等行业的客户及合作伙伴带来了超过 23 场主题演讲…

SpringCloud Gateway获取请求响应body大小

前提 本文获取请求、响应body大小方法的前提 : 网关只做转发逻辑&#xff0c;不修改请求、相应的body内容。 SpringCloud Gateway内部的机制类似下图&#xff0c;HttpServer&#xff08;也就是NettyServer&#xff09;接收外部的请求&#xff0c;在Gateway内部请求将会通过Htt…

【第一阶段】kotlin语言引用数据类型

Java语言中有两种数据类型 第一种&#xff1a;基本数据类型 如int double等 第二种&#xff1a;引用数据类型。如String kotlin只有一种数据类型&#xff0c;看起来都是引用数据类型&#xff0c;实际上编译器会在Java字节码中&#xff0c;修改成基本类型 //Java语言中有两种数…

Mr. Cappuccino的第56杯咖啡——Mybatis拦截器

Mybatis拦截器 概述应用场景项目结构实现分页查询其它拦截器的使用 概述 Mybatis允许使用者在映射语句执行过程中的某一些指定的节点进行拦截调用&#xff0c;通过织入拦截器&#xff0c;在不同节点修改一些执行过程中的关键属性&#xff0c;从而影响SQL的生成、执行和返回结果…

6.s081(Fall 2022)Lab2: system calls

文章目录 前言其他篇章参考链接0. 前置准备1. System call tracing (moderate)简单分析Hint 1Hint 2Hint 3Hint 4Hint 5测试 2. Sysinfo (moderate) 前言 好像没啥前言 其他篇章 环境搭建 Lab1:Utilities 参考链接 官网链接 xv6手册链接&#xff0c;这个挺重要的&#xff…

第2集丨Vue 江湖 —— Vue中的一些必备概念

目录 一、Object.defineProperty()1.1 属性描述符1.2 共享属性1.2.1 configurable1.2.2 enumerable 1.3 数据描述符属性1.3.1 value1.3.2 writable 1.4 访问器描述符属性1.4.1 get1.4.2 set1.4.3 注意点 1.5 案例1.5.1 数据描述符1.5.2 访问器描述符 二、Vue 模板语法2.1 插值语…

作为面试官,有些事想吐槽一下

作者&#xff1a;拭心 前段时间组里有岗位招人&#xff0c;花了些时间面试&#xff0c;趁着周末把过程中的感悟和槽点总结成文和大家讲讲。 简历书写和自我介绍 1.今年的竞争很激烈&#xff1a;找工作的人数量比去年多、平均质量比去年高。裸辞的慎重&#xff0c;要做好和好学…