Ubuntu Desktop 启用远程桌面(Vino和TigerVNC方式)

news2025/1/17 0:02:59

文章目录

  • 前言
  • 使用Vino方式
  • 无显示器使用
  • 使用TigerVNC方式

前言

在很多领域的生产开发工作中常常需要用到 Ubuntu Desktop 系统,但是在一些日常的工作交流中又离不开Windows系统,这种时候比较常用的解决方案就是在Windows系统上使用虚拟机安装Ubuntu。不过就我个人而言并不喜欢使用虚拟机,弄个小主机无显示使用起来更加舒服。有些特定的工作需要用到 Ubuntu Desktop 桌面环境,这个时候远程桌面就是一个非常好用的功能了。

这篇文章中以 Ubuntu 20.04 进行说明测试。

使用Vino方式

Ubuntu Desktop 是自带屏幕共享(远程桌面)功能的(Vino),但有可能需要安装下才会在菜单中显示。在终端中使用下面命令进行安装设置:

sudo apt update

sudo apt install vino

gsettings set org.gnome.Vino require-encryption false

安装完成后可以在 Settings 中启用 Sharing 后看到 Screen Sharing 选项:
在这里插入图片描述
Screen Sharing 选项中设置密码与网络即可开启屏幕共享:
在这里插入图片描述
在这里插入图片描述
开启屏幕共享后就可以在其它电脑上使用 VNC Viewer 等工具连接到此桌面。 VNC Viewer 可以在下面地址下载:
https://www.realvnc.com/en/connect/download/viewer/
默认端口号为5900,提示未加密的连接不必用管,直接 Continue 即可:
在这里插入图片描述
在这里插入图片描述

需要注意的是如果你之前开启过SSH服务(就是使用 sudo apt install openssh-server 安装启用的那个),那么可能在上述操作后SSH服务会被关闭,注意检查下相关设置:
在这里插入图片描述
上面 Remote Login 那个。

无显示器使用

启用屏幕共享后主机可以在角落一直挂机了,需要用的时候远程连上用就行。但是还有个问题,通常情况下主机的HDMI、DP等数字的视频输出口外面不接显示器的话,系统启动后也不会进入图形界面,这个时候用 VNC Viewer 等工具连接显示出的也只是一片黑屏。

这个时候就需要用一些方法来欺骗设备或系统了,主要可以使用两类方式(如果用下面的TigerVNC那么也可以跳过这个章节)。

硬件虚拟显示器
最简单的就是花点钱,假装有个显示器:
在这里插入图片描述

软件虚拟显示器
不想花钱或是不方便使用硬件伪装的话可以尝试软件形式的虚拟显示器,主要是使用 xserver-xorg-video-dummy 这个软件,具体的使用方式可以参考下面文章:
《How to run X server using xserver-xorg-video-dummy driver on Ubuntu》
《【LINUX】(Ubuntu)无显示器接入,使用虚拟显示器且远程控制》

使用TigerVNC方式

Vino用起来很方便,但是局限性也蛮大的,相对来说TigerVNC更加好用些。Vino相对来说偏向于屏幕共享,而TigerVNC就更加偏向于远程桌面了。TigerVNC可以方便的设置远程桌面的分辨率、色彩深度等。甚至TigerVNC还可以无显示器使用(当然有显示器和没显示器界面效果是有差异的)。

TigerVNC项目主页: https://tigervnc.org/
TigerVNC项目页面: https://github.com/TigerVNC/tigervnc

# 下面是Ubuntu中TigerVNC相关的一些包,使用 VNC server 功能只需要安装没有注释掉的部分即可
sudo apt install tigervnc-common
# sudo apt install tigervnc-scraping-server
sudo apt install tigervnc-standalone-server
# sudo apt install tigervnc-viewer
# sudo apt install tigervnc-xorg-extension

安装完成后需要进行一些设置,先设置远程连接的密码
在这里插入图片描述
最后的选项选n。

然后配置远程连接显示的桌面
在这里插入图片描述
上面 xstartup 中文本针对的是 Ubuntu Desktop 20.0.4 所用的Gnome3桌面设置的,文本如下:

#!/bin/sh

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup

[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources

vncconfig -iconic &

dbus-launch --exit-with-session gnome-session &

接着就可以启动vncserver了,常用的比如 vncserver -localhost no -geometry 1280x720 :1
在这里插入图片描述
上面 -localhost no 是必选的,这样才能被远程访问;-geometry 1280x720 用于设置远程桌面分辨率;:1 指明服务开启的会话号为1,这个可以不写,不写程序也会自动分配一个可用的号。还有一个比较有用的参数是 -depth 24 ,用来设置色彩位深,默认为24,可以设置8、16、24、32。通常来说分辨率和位深越小,远程桌面再使用时会越流畅些。

启动完成后就可以使用 VNC Viewer 等工具进行连接了,端口号为5900+会话号,刚连接上时可能色彩有问题,刷新下就好:
在这里插入图片描述

可以使用 vncserver -list 来查看当前启用的会话,使用 vncserver -kill :会话号 来关闭会话
在这里插入图片描述
关于 vncserver 的更多内容可以使用 man vncserver 或者 vncserver -h 等来查看。

最后需要注意的是: vncserver 可能并不会开机启动,可以使用SSH登陆进行手动启动,或者参考 《Linux笔记:开机自动运行程序》 进行设置。

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

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

相关文章

【广州华锐互动】AI高仿真数字人在企业服务中的应用

虚拟数字人是指利用人工智能技术和计算机图形学生成的高度逼真的虚拟人形象,它可以模拟人类的语言、情感、行为和外貌,从而成为一种强大的营销工具,可以为企业带来多种商业价值。 广州华锐互动作为一家15年虚拟现实内容制作商,已…

CSS背景,元素显示模式,盒模型

文章目录 颜色取值选择器进阶复合选择器后代选择器:空格子代选择器 并集选择器(union selector)交集选择器(intersection selector)emmet语法hover伪类选择器 背景相关背景颜色背景图片背景平铺图片位置背景相关连写im…

文字大小PointSize和PixelSize

无论PointSize(点大小)还是像素大小(PixelSize),描述的都是文字在输出设备(显示屏、打印机等)上呈现的大小 首先理解两个概念:DPI(Dots per Inch) 和 PPI(Pix…

295-光纤数据收发 隔离卡 加速计算卡 基于 Kintex-7 XC7K325T的半高PCIe x4双路万兆光纤收发卡

基于 Kintex-7 XC7K325T的半高PCIe x4双路万兆光纤收发卡 一、板卡概述 板卡采用Xilinx公司的XC7K325T-2FFG900I芯片作为主处理器,可应用于万兆网络、高速数据采集、存储;光纤隔离网闸等领域。 二、功能和技术指标: 板卡功能 参…

背锅侠?软件测试各类bug分类定位,从功能到性能超细总结......

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 遇到功能性问题&a…

【服务器数据恢复】NetApp存储中的oracle数据库数据恢复案例

服务器数据恢复环境: NetApp某型号存储,共96块SAS硬盘,划分的lun都映射给小型机使用,存放的是Oracle数据库文件,采用ASM裸设备存储方式。 服务器故障: 管理员误操作删除了该NetApp存储上的所有lun。具体情…

【Java】Java绘制UML图

1.继承关系(Inheritance) 继承指的是一个类(子类、子接口)继承另外的一个类(父类、父接口)的功能,通过关键字 extends 明确标识 UML图 继承用一条带空心三角箭头的实线表示,从子类…

数字孪生可实现三维可视化智慧园区吗?

随着城市化的进程和信息化的发展,越来越多的城市拥有了智慧园区这一新的城市形态,通过“互联网”和物联网技术,实现了各种功能部门之间的信息共享与协同,提高了园区服务的质量和效率。然而,如何更好地实现园区管理和运…

DNS服务的正反向解析

目录 1.DNS域名解析服务概括 产生原因 作用: 2.正向解析 2.1 准备工作,关闭selinux和防火墙 2.2 安装DNS软件 2.3 服务端操作,编辑DNS主配置文件 2.4 服务端操作,编辑区域配置文件,可以在最后添加&#xff0c…

OpenAI文档翻译——搭建第一个自己的ChatGPT应用

这篇主要是讲了重头到位创建一个基于OpenAI API的应用程序的过程,同时给出了Node.js、Python版本的实例代码。应用程序的构建总体来说是很简单的就是一个接口调用,前提是我们需要提供密匙。 如果想要获取更好的结果返回一个是可以给模型提供一些列子从而…

9.5 数组的指针和指向数组的指针变量-2

9.5 数组的指针和指向数组的指针变量-2 一.数组名作为函数参数(1)实参和形参都是数组名(2)实参用数组名,形参用指针变量(3)实参和形参都用指针变量,这个和(2)…

Leetcode-day1【80】删除有序数组中的重复项 II

文章目录 80. 删除有序数组中的重复项 II题目解题思路解题思路【学习】双指针 80. 删除有序数组中的重复项 II 题目 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组的新长度。…

CBAM小陈读paper系列

忘记做笔记了,只能 把看文章的PDF保存下来了

神经网络:Zero2Hero 1

Zero → \to → Hero : 1 实现了一个字符级中文语言模型,数据采用的是开源中文姓名数据集中的一部分,主要内容如下: 字符的预处理 统计频次计算字符对频次矩阵 实现一个简单的先验概率模型 从训练数据中计算字符的先验概率根据先验概率通过…

前端UI框架有哪些|20个优秀免费开源的WEB前端UI框架提高网站开发效率

最近准备学习一下前端UI我也是在网上找了很久最终整理出来了20个不错的前端UI框架网站,大家都知道很多成熟的前端框架可以直接引,学习框架可以提升我们网站的开发速度。有些大型公司的前端或者后端框架都是用自己开发的,对于大部分用户和公司来讲,我们可以用开源免费的前端…

TCP和UDP通信对比

tcp通信流程 服务器: 创建流式套接字 绑定 监听 提取 读写 关闭 客户端: 创建流式套接字 连接 读写 关闭 收发数据: read recv ssize_t recv(int sockfd, void *buf, size_t len, int flags); //flagsMSG_PEEK 读数据不会删除缓冲区的数据 write send ssize_t send(int…

【Paper Note】ViViT: A Video Vision Transformer

ViViT: A Video Vision Transformer AbstractOverview of vision transformer 回顾ViTEmbedding video clips 视频编码方式Uniform frame sampling 均匀采样Tubelet embedding 时空管采样初始化3D卷积代码介绍视频编码输入到模型当中 Transformer Models for VideoSpatio-tempo…

安全测试(linux基线排查)看这一篇就够了

前言部分: 作为一个安全测试人员,在确保WEB应用程序没有漏洞外,应该也需要关注一下主机环境的安全,因为应用程序部署在主机环境提供运行环境,也应当关注一下主机环境的安全。于此,通过学习本次对linux安全加…

香橙派pi5下,debian,docker19.03.9版本runc容器逃逸

在香橙派pi5下,debian,docker19.03.9版本下,安装系统后,启动docker,显示一切正常。 当加入k8s集群以后,可以正常连接到集群,node状态显示为ready。看起来一切正常。不过过一会之后,香橙派节点内存飙升,然后挂掉。重连失败,需要重启后才能重连。且swapoff -a命令执行…

C++之深入解析C++20协程的原理和应用

一、无栈协程成为 C20 协程标准 协程分为无栈协程和有栈协程两种,无栈指可挂起/恢复的函数,有栈协程则相当于用户态线程。有栈协程切换的成本是用户态线程切换的成本,而无栈协程切换的成本则相当于函数调用的成本;无栈协程和线程…