当前位置: 首页 > news >正文

Ubuntu 20.04使用 VNC远程桌面连接避坑指南

自从开始使用Ubuntu 20.04搭建深度学习服务器,就想到使用VNC远程桌面连接使用。可是之前一直使用的是Ubuntu18.04,心里想着设置应该不难,结果在配置的时候总出现无法连接的错误。下面我就分享一下我使用TigerVNC配置远程桌面连接过程中遇到的问题和解决方法。 本文使用的软件版本和使用Linux环境:

运行环境很重要,查看自己使用的Ubuntu版本和想要使用的桌面,并且准备好VNC软件。

安装Ubuntu的时候选择了GUI的安装,因为使用的是desktop版,默认为gnome桌面

Ubuntu使用命令:lsb_release -a 查看

l Ubuntu 20.04(focal)

l TigerVNC Server 1.10.1

l TigerVNC Viewer 1.7.0(Windows 64-bit)&

l GNOME 3.36.1

VNC软件的选择

RealVNC和TigherVNC都是非常不错的VNC软件,本次选择使用TigherVNC是一个主动维护的高性能VNC服务器,因为能找到的成功经验很多。避坑点之一就是选择TigherVNC。TigerVNC的最新版本可以从GitHub发布页面下载。

在Ubuntu上安装TigherVNC服务器过程很简单,使用如下命令即可安装:

“apt install tigervnc-standalone-server”

安装完成后可以使用vncpasswd命令进行设置,第一次登陆会让你输一个密码,这个根据自己的需求来填写。

个人不建议在询问是否要设置一个“view-only”密码设置密码,因为使用“只看”密码登录后就只能看,不能修改。

启动VNCserveer启动命令和连接命令和Ubuntu18.04一样

“Windows 10 Poswershell 中 ssh User_Name@IP-address”

“Vncserver:num –localhost no #num is port number”

有个需要注意的地方,在创建VNC端口的时候

一定要加上 -localhost no, 否则只能本地连接,不能实现远程连接,那么vnc就毫无意义

“Example : vncserver :3 –localhost no” #3为端口号,no表示非局域网内账户也可访问

VNC Viewer 的选择

VNC Viewer 也有很多的版本,避坑点之二,你是用TigherVNC 就使用 TighVNC Viewer。所有配置完成后,可以VNC正常登录了,在更换比如 RealVNC Viewer。

打开Tigervnc-Viewer连接

因为我使用的是Windows 10,直接下载TigerVNC Viewer

新建用户和权限

避坑第三个地方,你当前登录的用户,一定要是使用adduser 命令添加的。

其实这一步骤在安装完成Ubuntu就进行了,如果你已经安装完成,最好重新建立一个用户。

因为很多的资料都是要修改用户权限,但是对于不是太熟悉的朋友,建议使用adduser命令来添加新用户,这样你可以省略掉很多配置权限的麻烦。

连接遇到灰屏和鼠标变X

当你准备连接服务器的时候,一登录就出现出现灰色屏幕,而且在屏幕下面有2S时间出现。出现灰色屏幕和×型鼠标是因为vncserver找不到指定的图形化组件。

如下报错:

避坑点之四,遇到这个问题一定要先解决前面的问题,确认好你VNC的版本后,按照TigerVNC的方法解决:

1. 排除桌面安装的问题,安装一遍 gnome

sudo apt-get install gnome-panel

2. 修改~/.vnc/xstartup文件,一定要修改你当前准备远程连接的用户目录。

我遇到在home下面没有.vnc文件夹的情况,这个时候你可以新建目录

“touch $HOME/.vnc/xstartup”

关于 xstartup 文件的修改值得注意的是:如果你是多用户登录,比如这个深度学习的服务器有很多人同时使用,那么每个新建的用户,都必须修改一次xstartup文件,以确保每个用户都能正常登录,当然你也可以直接将可以正常登录用下home/.vnc下的xstartup文件直接复制到新用户home/.vnc下。

然后关闭当前打开的vnc:

vncserver -kill :num (你打开的端口号,可以用 vncserver –list 查看)

然后修改权限:

chmod +x ~/.vnc/xstartup

重新启动VNC

vncserver :2 -localhost no (#2为端口号,no表示非局域网内账户也可访问)

VNC 锁屏之后无法输入密码解锁

直接用SSH登录服务器,然后kill用户进程,重新启动VNCserver登录。

为了下次不会出现锁屏,登录桌面后可以按照以下步骤修改。

1.点右上角的下拉按钮小箭头。

2.在下拉屏幕中点【设置】。

3.在【设置】中点【隐私】。

4.在【隐私】中点左侧的【锁屏】。

先用 loginctl list-sessions

查看有多少用户,

指定ID解锁会话,或者直接解锁所有会话,依据自己的需求来定。

sudo loginctl unlock-session [ID…]

我看见网上有很多关于Ubuntu20.04和18.04哪个更好的讨论。个人认为一般来说新的系统肯定比老的系统功能更多,包含的软件库也更全面。但是遇到的BUG也多,而且通过网络也不容易找到解决BUG的文章,这个时候就需要自己不断的去尝试。 有关Linux的命令,新手不熟悉可以查看《Linux就该这么学》。

以上就是我分享的关于Ubuntu 使用TigerVNC 进行远程桌面连接的经验分享,全是自己安装过程分享,如果有不够详细的地方请各位指教,谢谢。

相关文章:

Ubuntu 20.04使用 VNC远程桌面连接避坑指南

自从开始使用Ubuntu 20.04搭建深度学习服务器,就想到使用VNC远程桌面连接使用。可是之前一直使用的是Ubuntu18.04,心里想着设置应该不难,结果在配置的时候总出现无法连接的错误。下面我就分享一下我使用TigerVNC配置远程桌面连接过程中遇到的…...

STM32MP157驱动开发——按键驱动(定时器)

内核函数 定时器涉及函数参考内核源码:include\linux\timer.h 给定时器的各个参数赋值: setup_timer(struct timer_list * timer, void (*function)(unsigned long),unsigned long data):设置定时器:主要是初始化 timer_list 结…...

基于Centos 7虚拟机的磁盘操作(添加磁盘、分区、格式分区、挂载)

目录 一、添加硬盘 二、查看新磁盘 三、磁盘分区 3.1新建分区 3.2 格式分区 3.3 挂载分区 3.4 永久挂载新分区 3.5 取消挂载分区 一、添加硬盘 1.在虚拟机处选择编辑虚拟机设置,然后选择添加 2.选择硬盘,然后选择下一步 3.默认即可,下一步…...

“完全指南:理解API和商品详情的作用和关系“

当涉及到电子商务和在线交易时,API和商品详情是两个至关重要的概念。本文将为您提供一个详尽的指南,帮助您全面理解API和商品详情之间的作用和关系。 淘宝/天猫获得淘宝商品详情 API 返回值说明 公共参数 请求地址 名称类型必须描述keyString是调用…...

Spring Cloud Gateway - 新一代微服务API网关

Spring Cloud Gateway - 新一代微服务API网关 文章目录 Spring Cloud Gateway - 新一代微服务API网关1.网关介绍2.Spring Cloud Gateway介绍3.Spring Cloud Gateway的特性4.Spring Cloud Gateway的三大核心概念5.Gateway工作流程6.Gateway核心配置7.动态路由8.Predicate自定义P…...

HTTP超本文传输协议

HTTP超本文传输协议 HTTP简介HTTP请求与响应HTTP请求请求行请求头空行请求体 HTTP响应响应行响应头空行响应体 HTTP请求方法GET和POST之间的区别HTTP为什么是无状态的cookie原理session 原理cookie 和 session 的区别cookie如何设置cookie被禁止后如何使用session HTTP简介 HT…...

React+Redux 数据存储持久化

ReactRedux 数据存储持久化 1、安装相关依赖 yarn add reduxjs/toolkit redux redux-persist 2、userSlice:用户状态数据切片封装 import { createSlice, PayloadAction } from reduxjs/toolkitinterface IUserInfo {userName: stringavatar?: stringbrief?: st…...

Redis高可用部署架构

目录 1. 主从复制与哨兵架构:2. Redis集群架构: Redis高可用部署可以采用主从复制与哨兵架构或Redis集群架构。下面将分别介绍这两种架构的架构图、优缺点和具体应用场景。 1. 主从复制与哨兵架构: 架构图: ----------| Client…...

深度学习与神经网络

人工智能,机器学习,深度学习,神经网络,emmmm,傻傻分不清楚,这都啥呀,你知道吗?我不知道。你知道吗?我不知道。 来来来,接下来,整硬菜&#xff1a…...

CPU密集型和IO密集型任务的权衡:如何找到最佳平衡点

关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 ,擅长java后端、移动开发、人工智能等,希望大家多多支持。 目录 一、导读二、概览三、CPU密集型与IO密集型3.1、CPU密集型3.2、I/O密…...

超越POSIX:一个时代的终结?

在本文中,我们通过对Portable Operating System Interface(POSIX)抽象的历史演变进行系统性的回顾,提供了一个全面的视图。我们讨论了推动这些演变的一些关键因素,并确定了在构建现代应用程序时使它们不可行的缺陷。 …...

秋招算法备战第22天 | 654.最大二叉树、617.合并二叉树、700.二叉搜索树中的搜索、98.验证二叉搜索树

235. 二叉搜索树的最近公共祖先 - 力扣(LeetCode) 在一个二叉搜索树中,两个节点 p 和 q 的最近公共祖先可以通过以下的算法找到: 从根节点开始。如果当前节点的值大于 p 和 q 的值,那么你需要转向左子树。因为在二叉…...

小程序之移花宫-自定义底部标签图标---【浅入深出系列005】

浅入深出系列总目录在000集 如何0元学微信小程序–【浅入深出系列000】 不会导入/打开小程序的看这里 让别人的小程序长成自己的样子-更换window上下颜色–【浅入深出系列001】 文章目录 本系列校训学习资源的选择 学习目标图标的注意事项图标资源打开小程序动手实践找到图标最…...

题目1 SQL注入(保姆级教程)

url:http://192.168.154.253:81/ #打开http://XXX:81/,XXX为靶机的ip地址 审题 1、打开题目看到有一个提示,此题目需要通过SQL注入漏洞读取/tmp/360/key文件,key在这个文件中 2、开始答题 发现这里url中有一个id的参数&#xff0…...

PDF转换成word乱码了怎么办?最实用的方法在这里!

在日常办公中,我们常常需要将PDF文件转换成Word文件,以便于编辑和修改。然而有时候在PDF转Word的过程中可能会遇到乱码的问题,让人感到困扰。在面对这种情况时,我们需要选择正确的方法,避免文件转换后出现乱码。下面我…...

字节跳动后端面试,笔试部分

var code "7022f444-ded0-477c-9afe-26812ca8e7cb" 背景 笔者在刷B站的时候,看到了一个关于面试的实录,前半段是八股文,后半段是笔试部分,感觉笔试部分的题目还是挺有意思的,特此记录一下。 笔试部分 问…...

[JavaScript游戏开发] 2D二维地图绘制、人物移动、障碍检测

系列文章目录 第一章 2D二维地图绘制、人物移动、障碍检测 第二章 跟随人物二维动态地图绘制、自动寻径、小地图显示(人物红点显示) 文章目录 系列文章目录前言一、列计划1.1、目标1.2、步骤 二、使用步骤2.1、准备素材(图片):草坪、人物(熊猫)、障碍(石头)2.2、初…...

区间预测 | MATLAB实现基于QRF随机森林分位数回归时间序列区间预测模型

区间预测 | MATLAB实现基于QRF随机森林分位数回归时间序列区间预测模型 目录 区间预测 | MATLAB实现基于QRF随机森林分位数回归时间序列区间预测模型效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现基于QRF随机森林分位数回归时间序列区间预测模型&#xff1…...

.NET网络编程——TCP通信

一、网络编程的基本概念 : 1. 网络 就是将不同区域的电脑连接到一起,组成局域网、城域网或广域网。把分部在不同地理区域的计算机于专门的外部设备用通信线路 互联成一个规模大、功能强的网络系统,从而使众多的计算机可以方便地互相传递信息&#xff0c…...

【Python机器学习】实验01 Numpy以及可视化回顾

文章目录 一、Numpy的基础知识实验1 生成由随机数组成的三通道图片,分别显示每个维度图片,并将三个通道的像素四周进行填充,分别从上下左右各填充若干数据。 二、Numpy的线性代数运算实验2 请准备一张图片,按照上面的过程进行矩阵…...

别再只调参数了!深入理解Pure Pursuit:从几何原理到ROS中lookahead_distance的实战影响分析

别再只调参数了!深入理解Pure Pursuit:从几何原理到ROS中lookahead_distance的实战影响分析 当你的机器人在弯道上反复震荡,或者像醉汉一样切弯时,盲目调整参数就像在黑暗中摸索——你可能偶然找到解决方案,但永远无法…...

ComfyUI IPAdapter Plus完整配置指南:图像条件控制的终极解决方案

ComfyUI IPAdapter Plus完整配置指南:图像条件控制的终极解决方案 【免费下载链接】ComfyUI_IPAdapter_plus 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI_IPAdapter_plus ComfyUI IPAdapter Plus是Stable Diffusion图像生成中实现精准图像条件控制…...

手把手图解:用‘阻挫’和‘复本’理解自旋玻璃、自旋冰与量子自旋液体

手把手图解:用‘阻挫’和‘复本’理解自旋玻璃、自旋冰与量子自旋液体 凝聚态物理中那些看似晦涩的概念,往往只需要一个恰到好处的比喻就能豁然开朗。想象你正在参加一场磁铁小人的派对,它们的箭头方向就像固执的舞伴,既想跟随音乐…...

Zig语言构建工具zcc详解:依赖管理与项目构建实践

1. 项目概述:一个为Zig语言量身打造的构建系统最近在折腾Zig语言项目时,发现了一个挺有意思的工具:git-on-my-level/zcc。乍一看这个名字,可能会让人联想到经典的C编译器gcc,或者猜测它是一个Zig语言的C编译器前端。但…...

RAG和向量索引

为特定用例设计代理时,需要确保语言模型已建立基础并使用与用户所需内容相关的事实信息。 虽然语言模型针对大量数据进行了训练,但它们可能无权访问你想要向用户提供的知识。 若要确保代理基于特定数据提供准确且特定于域的响应,可使用检索增…...

MCP图像生成服务器:在IDE中无缝集成AI绘图,提升开发与设计效率

1. 项目概述:一个能“听懂人话”的智能图像生成服务器 如果你和我一样,经常在 Cursor、Claude Code 这类 AI 编程工具里写代码、做设计,那你肯定遇到过这样的场景:脑子里有个很棒的视觉创意,比如“一个赛博朋克风格的…...

基于MCP协议与WebDAV构建AI智能体统一数据访问层

1. 项目概述与核心价值最近在折腾个人知识库和自动化工作流时,我又一次被“数据孤岛”问题绊住了脚。手头的信息散落在各种地方:Notion里的项目规划、Obsidian的零散笔记、Google Calendar的日程、甚至是一些本地文件夹里的PDF和图片。想要让这些数据联动…...

HBM高带宽内存:从立体堆叠到2.5D封装的性能革命

1. 从平面到立体:HBM如何重塑内存性能天花板在半导体行业里,我们常把“摩尔定律”挂在嘴边,仿佛性能提升的唯一路径就是晶体管越做越小。但大约十年前,当工艺微缩的红利开始放缓,功耗墙和信号完整性问题日益严峻时&…...

【Prometheus】当 Prometheus 内存使用率过高时,应该从哪些方面入手进行排查和优化?

Prometheus 内存溢出深度排查指南:从 TSDB Head 到 Goroutine 泄露的全链路优化 用户问题原文:“当 Prometheus 内存使用率过高时,应该从哪些方面入手进行排查和优化?” 在支撑单集群500万+时间序列的生产环境中,Prometheus 的内存管理是 SRE 团队的核心挑战。一次未被及时…...

Agent-Harness:为AI编码助手套上“缰绳”的工程化框架

1. 项目概述:为什么你的AI编码助手总是“犯傻”?如果你和我一样,已经深度使用过Cursor、Windsurf或者Claude Code这类AI编码助手,那你一定经历过这样的挫败时刻:你满怀期待地让它去修改一个复杂的函数,结果…...