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

article/2025/10/9 4:15:54

文章目录

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

前言

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

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

使用Vino方式

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

sudo apt updatesudo apt install vinogsettings 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/.Xresourcesvncconfig -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://chatgpt.dhexx.cn/article/mqD31hPv.shtml

相关文章

Ubuntu 22.04 远程桌面

参考:1、Ubuntu 22.04 Finally Supports Remote Desktop Control via MS RDP Protocol | UbuntuHandbook 2、22.04 - Remote Desktop Sharing authentication password changes every reboot - Ask Ubuntu 一、无法连接 有可能是没登录到 gnome 桌面。因为 gnome r…

Ubuntu远程桌面连接

0.相关准备: 开启屏幕共享功能的NX、显卡诱骗器、远程连接电脑(Ubuntu) 屏幕共享开启如下: 在设置的sharing中打开Remote Login,选中Screen Sharing 选中对应的选项,如图所示,完成在对应网络…

Ubuntu开启图形化远程桌面

1、先更新一下软件列表。 sudo apt-get update sudo apt-get upgrade 2、有些闪退情况就是因为缺少安装gnome这一步,用以下命令安装一下。 sudo apt install gnome-session gdm3 3、 在右上角点击设置。 4、选择“共享”标签页,点击右上角的滑块开启共…

ubuntu远程桌面

1.xp下默认的远程桌面协议是rdp,默认端口3389,而ubuntu用的时vnc:默认端口5900 2.首先被访问的主机(windows/linux)都要设置为允许其他主机远程访问该主机。 ubuntu下只要设置 System->Preferences->Remote Desk…

烂泥:学习ubuntu远程桌面(一):配置远程桌面

本文由秀依林枫提供友情赞助,首发于烂泥行天下 公司服务器目前安装的都是ubuntu 14.04系统,而且由于业务需要,需要使用到ubuntu的远程桌面功能。所以本篇文章都是围绕ubuntu的远程桌面来介绍。 一、远程桌面连接方式 ubuntu的远程桌面连接要说…

ubuntu开启远程桌面功能

本文介绍ubuntu自带的xrdp工具进行远程桌面登陆。 第一步:安装vnc服务 sudo apt-get install tightvncserver第二步:安装xrdp服务 sudo apt-get install xrdpPS:VNC与xrdp服务安装顺序不可以颠倒,否则可能在登陆的时候报错Error…

信号处理之freqz函数

freqz概念及函数说明 freqz函数可分析离散系统的频率相应,主要的应用语法如下所示 yfreqz(b,a,w);其中b为分子系数向量,a为分母系数向量,w表示需要计算的抽样频率点向量。(至少俩点) 下面我以…

freqz之C实现例程

参考文章 绘制数字滤波器的频域响应gnuplot Octave pkg load signalb[1.009874 -1.973835 0.980993]; a[1.000000 -1.973835 0.990867];Fs 48000 for k1:Fsw(k)2*pi*(k-1)/(Fs - 1);zexp(j*w(k));Z[1 z^-1 z^-2];H_z(k)sum(b.*Z)./sum(a.*Z); end% Transfer from Rad to Hz…

数字信号处理FIR滤波器实验

目录 一、题目介绍以及函数准备 二、程序源代码以及图像 三、思考 为何线性相位是一个来回往返的折线形? 一、题目介绍以及函数准备 要求设计一个线性相位FIR数字低通滤波器来对模拟信号进行滤波, 技术要求为fp4kHz,fst4.5kHz&#xff0c…

绘制系统响应函数的频率响应曲线

在z变换中,对于系统响应函数H(z) 绘制频率响应曲线 注意点: 绘制零极点图的函数 zplane(B,A);%%B为分母的系数矩阵 A为分子的系数矩阵 第一个数为z^0 第二个数为z^-1的系数 以此类推 freqz(B,A) %%计算频率响应H(e^jw) angle(H) %% 绘制相频响应 …

freqz()计算M点滑动平均滤波器的频率响应

函数说明(建议参考官方文档) freqz(h,w)可以用来求指定的单位脉冲响应向量 h 在一组给定频率点 w 上的频率响应值由这些频率响应值,可以用函数 real 和 imag 计算实部和虚部,函数 abs 和 angle 计算幅度和相位M 点滑动平均滤波器…

matlab freqz函数使用

Matlab freqz函数使用 (2012-10-22 13:42:03) 转载▼ 标签: 杂谈 freqz函数计算线性系统的频率响应,包括幅频响应和相频响应,基本输入为线性系统的AMMA模型系数向量,一个典型的AMMA模型为 % jw -jw -jmw % jw B(e) …

MATLAB——IIR数字滤波器的设计

1.基础知识 1.1、数字滤波器设计的基本步骤 我们知道模拟滤波器的设计是数字滤波器的设计的基础。在学习数字信号处理的过程中,IIR数字滤波器的设计的步骤是 (1)确定采样间隔Ts或者采样频率fs。 (2)根据模拟频率和数字…

Matlab的freqz()函数和窗函数法fir1()一起使用

窗函数法设计FIRDF使用Matlab的fir1()函数十分方便,DSP课堂上已经讲过,此处不再赘述。关心的是: 使用 hn fir1(M, wc);%M为滤波器阶数M,长度N&…

matlab filter freqz

1.滤波函数filter 利用滤波器H(Z)b/a,对X滤波 ba为向量 滤波器传输函数H(Z)的分子分母:b,a 利用b,a表征H即滤波器 2.freqz Hb/a,由b和a提取H和数字角频率w 2.1[h,w] freqz(b,a,n) n默认512&#xff0…

matlab:<三>freqz函数

【转载:博客】 一 函数调用介绍 MATLAB提供了专门用于求离散系统频响特性的函数freqz(),调用freqz()的格式有以下几种: (1)[H,w]freqz(B,A,N); %N默认值为512 (2)[H,w]freqz(B,A,N,whole); (3)[H,w]freqz(B,A,[自定义区间]); 上式中B和A分别对应离散系统…

freqz()函数

2、离散系统的频率特性 同连续系统的系统函数H(s)类似,离散系统的系统函数H(z)也反映了系统本身固有的特性。对于离散系统来说,如果把其系统函数H(z)中的复变量z换成,那么所得的函数就是此离散系统的频率响应特性,即离散时间系统的频率响应为: 其中, 称为离散系统的幅频…

信号与系统 实验四:信号与系统复频域分析(2 学时)

注明:这是学校专业课实验,利用网站做一个学习和记录。有错的地方希望好心人指点一下。 一、实验目的 1.学会用 MATLAB 进行部分分式展开; 2.学会用 MATLAB 分析 LTI 系统的特性; 3.学会用 MATLAB 进行 Laplace 正、反变换。…

MATLAB中freqz函数的用法

本文引用自乱七八糟 《MATLAB中freqz函数的用法》 FREQZ 是计算数字滤波器的频率响应的函数 [H,W] FREQZ(B,A,N)returns the N-point complex frequency response vector H and the N-point frequency vector W in radians/sample of the filter: 函数的输出:a.滤波…

fft和freqz的区别

http://www.ilovematlab.cn/thread-245794-1-1.html 最近在研究matlab画频谱图,在查找资料过程,在matlab中文论坛中看到一篇帖子,感觉比较有用,简单整理了一下。 一、FFT函数 假设原始信号为x,则fft_xabs(fft(x))得…