将桌面环境修改为 GNOME 并通过 VNC 远程访问的步骤 & TightVNC 的安装与配置说明:


1. 安装 GNOME 桌面环境

sudo apt update
sudo apt install ubuntu-gnome-desktop -y

2. 安装 TightVNC 服务器

sudo apt install tightvncserver -y

3. 初始化 VNC Server 并设置密码

首次运行 VNC Server,会提示你设置访问密码:

vncserver
  • 输入6~8位密码(超过8位会被截断)。
  • 再次输入密码确认。
  • 是否设置只读密码?输入 n。

4. 停止 VNC Server

vncserver -kill :1

5. 修改 xstartup 文件,启动 GNOME 桌面

编辑 ~/.vnc/xstartup 文件:

vim ~/.vnc/xstartup

将内容修改为如下(覆盖原有内容):

#!/bin/sh
export XKL_XMODMAP_DISABLE=1
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
xrdb $HOME/.Xresources
gnome-session &

6. 赋予 xstartup 文件可执行权限

sudo chmod +x ~/.vnc/xstartup

7. 重启 VNC Server

vncserver

8. 查看日志确认端口

终端会输出类似:

Log file is /root/.vnc/xxx:1.log

这里的 :1 表示端口号为 5901(VNC 默认端口5900加上桌面编号)。


9. 配置云服务器安全组(放行5901端口)

  1. 登录云服务器管理控制台。
  2. 进入弹性云服务器详情页面。
  3. 选择“安全组”页签,点击“配置规则”。
  4. 在“入方向规则”中,添加一条规则,放行 TCP 端口 5901。

10. 远程连接

使用 VNC Viewer 工具,输入 服务器IP:1(如 192.168.1.100:1),输入你设置的密码,即可远程访问 GNOME 桌面。


在这里插入图片描述

可以连接VNC,但无法显示GNOME桌面,常见原因和解决办法如下:


1. GNOME 桌面未正确启动

原因:有些系统默认不支持直接用 gnome-session 启动完整桌面,或者缺少必要组件。

解决办法
尝试将 ~/.vnc/xstartup 文件内容修改为如下(推荐用 gnome-session --session=gnome-classic &gnome-session --session=gnome &,有时需要加环境变量):

#!/bin/sh
export XKL_XMODMAP_DISABLE=1
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
export XDG_SESSION_TYPE=x11
export GDK_BACKEND=x11
xrdb $HOME/.Xresources
gnome-session --session=gnome & 

如果还是不行,可以尝试:

#!/bin/sh
export XKL_XMODMAP_DISABLE=1
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
export XDG_SESSION_TYPE=x11
export GDK_BACKEND=x11
xrdb $HOME/.Xresources
gnome-session --session=gnome-classic &

2. 缺少 xterm 或 gnome-terminal

原因:VNC 启动后没有终端可用,桌面无法正常显示。

解决办法
安装终端:

sudo apt install -y xterm gnome-terminal

3. GNOME 依赖未安装全

原因:有些最小化安装的 GNOME 缺少 VNC 需要的组件。

解决办法
安装完整 GNOME:

sudo apt install -y ubuntu-gnome-desktop gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal

4. VNC 兼容性问题

原因:部分 GNOME 版本对 VNC 支持不佳,建议尝试 Xfce 或 MATE 桌面。

解决办法
如果 GNOME 实在无法显示,可以尝试安装 Xfce:

sudo apt install -y xfce4

并将 ~/.vnc/xstartup 改为:

#!/bin/sh
xrdb $HOME/.Xresources
startxfce4 &

5. 查看日志

请查看 /root/.vnc/host:5.log 日志文件,里面会有详细报错信息。你可以用以下命令查看:

cat /root/.vnc/host:5.log

把日志内容发给我,我可以帮你进一步分析!


建议先尝试第1步修改 xstartup 文件,然后重启 VNC Server:

vncserver -kill :5
vncserver :5

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

进程、网络通信方法

一、进程间通信(IPC)方法 适用于同一台主机上的进程间数据交换。 管道(Pipe) 匿名管道:单向通信,仅用于父子进程。 命名管道(FIFO):通过文件系统路径访问,支持无亲缘关系进程。 消息队列(Message Queue) 结构化消息(类型+数据),按类型读取,支持异步通信。…

[激光原理与应用-241]:设计 - 266n皮秒深紫外激光器,哪些因素影响激光器紫外光的输出功率?

一、短期稳定性266nm皮秒深紫外激光器紫外光输出功率的稳定性受非线性晶体性能、光学系统设计、热管理效果、重复频率与脉冲能量匹配度、环境干扰控制等因素影响,具体分析如下:1. 非线性晶体性能晶体选择与状态:BBO(偏硼酸钡&…

Django配置sqllite之外的数据库

当连接到其他数据库后端时,如 MariaDB、MySQL、Oracle 或 PostgreSQL,将需要额外的连接参数。请参阅下面的 ENGINE 配置,了解如何指定其他数据库类型。这个例子是针对 PostgreSQL: 在django项目的settings.py文件里,关…

银河通用招人形机器人强化学习算法工程师了

人形强化学习算法工程师(26届)(岗位信息已通过jobleap.cn授权,可在csdn发布)银河通用机器人 北京收录时间: 2025年08月11日职位描述1. 研发基于深度强化学习的足式机器人运动控制算法,提升机器…

使用MongoDB存储和计算距离

一、MongoDB 计算距离的优势 优势说明原生地理空间索引支持 2dsphere 索引,高效处理地理坐标查询(毫秒级响应)。内置地理计算函数提供 $near、$geoWithin、$geoNear 等操作符,无需手动实现复杂计算。高性能基于B树索引优化&#…

鸿蒙开发-ArkUI中@Type作用详细解答

在鸿蒙(HarmonyOS)应用开发中,Type 是 ArkUI 框架中用于 类型定义和类型检查 的关键注解(装饰器)。它的主要作用是为自定义组件的属性提供明确的类型约束,确保数据传递的类型安全性。 核心作用解析&#xf…

MCU中的存储器映射(Memory Map)

MCU中的存储器映射(Memory Map) 在MCU(微控制器单元)中,存储器映射(Memory Map)是指将不同类型的存储器(如Flash、RAM、外设寄存器等)和功能模块分配到统一的地址空间的过程。这种映射方式使得CPU可以通过访问特定地址来读写数据或控制外设,而无需关心物理存储介质的…

Rust面试题及详细答案120道(11-18)-- 控制流与函数

《前后端面试题》专栏集合了前后端各个知识模块的面试题,包括html,javascript,css,vue,react,java,Openlayers,leaflet,cesium,mapboxGL,threejs&…

数据结构-排序(2)

一、堆排序 (借助树)1.利用完全二叉树构建大顶堆 2.堆顶元素和堆底元素进行交换,堆底元素不再参与构建,剩余元素继续构建大顶堆3.时间复杂度 O(nlogn)1.完全二叉树:按照从上到下,从左到右的顺序进行排序2.…

Qt-信号和槽

一.信号和槽概念1. 信号(Signal)概念:信号是 Qt 对象在状态发生变化或事件发生时自动发出的通知。比如按钮被点击、文本框内容变化、定时器超时等,都会发出相应信号。本质:它只是一个函数声明(没有函数体&a…

NLP学习开始-02逻辑回归

逻辑回归什么是逻辑回归逻辑回归的应用场景逻辑回归几个重要概念Sigmoid 函数损失函数构建逻辑回归模型的步骤举个例子参数解释模型优化什么是逻辑回归 逻辑回归(Logistic Regression)是一种广泛应用于分类问题的统计学习方法,尽管名字中带有…

【运维进阶】LAMPLNMP 最佳实践

LAMP/LNMP 最佳实践 LAMP/LNMP 组件 LAMP:LinuxApacheMysql/MariadbPHP/Python/Perl。 LNMP:LinuxNginxMysql/MariadbPHP/Python/Perl。 Linux:操作系统,提供程序运行基础。Apache/Nginx:Web 服务器,提供网…

深入解析 resolv.conf 文件:DNS 配置的核心

/etc/resolv.conf 文件是 Linux 和类 Unix 系统中 DNS 配置的核心组件。它决定了系统如何将域名解析为 IP 地址,这是网络通信的关键环节。本文将深入探讨 resolv.conf 文件的核心内容,重点讲解 nameserver 指令以及 options 配置中的 attempts 和 rotate…

【LeetCode】102 - 二叉树的层序遍历

题目描述 给你二叉树的根节点 root,返回其节点值的层序遍历(即逐层地,从左到右访问所有节点)。 解题思路 使用 BFS(广度优先搜索)的思想,维护当前层的所有节点,逐层处理:…

计算机网络1-5:计算机网络的性能指标

目录 常用性能指标 速率 带宽 吞吐量 时延 时延带宽积 ​往返时间 ​利用率 ​丢包率 常用性能指标 性能指标可以从不同的方面来度量计算机网络的性能 常用的计算机网络的性能指标有8个:速率、带宽、吞吐量、时延、时延带宽积、往返时间、利用率、丢包率 速率 比特…

TDengine IDMP 文档介绍

TDengine IDMP (Industrial Data Management Platform) 是一款 AI 原生的物联网、工业数据管理平台。它通过经典的树状层次结构组织传感器、设备采集的数据,建立数据目录,对数据提供语境化、标准化的处理、并提供实时分析、可视化、事件管理与报警等功能…

使用 iFLOW-CLI GitHub Action 和 Qwen3-Coder 给 GitHub 仓库生成幻灯片风格的文档站点

阿里的心流 https://www.iflow.cn/ 团队最近开源了一款基于终端的 AI Agent 工具 iFLOW CLI, 目前可以免费使用到强大的 Qwen3-Coder、Kimi K2 等模型。又是一款类似 Anthropics Claude Code 的产品。 iFlow CLI 是一款直接在终端中运行的强大 AI 助手。它能够无缝分析代码仓库…

【2025最新】在 macOS 上构建 Flutter iOS 应用

推荐超级课程: 本地离线DeepSeek AI方案部署实战教程【完全版】Docker快速入门到精通Kubernetes入门到大师通关课AWS云服务快速入门实战 目录软件要求操作系统开发工具文本编辑器或集成开发环境安装 Flutter SDK下载并安装 Flutter将 Flutter 添加到您的PATH配置 i…

MySQL 临时表详细说明

目录 MySQL 临时表详细说明 1. 定义 2. 核心特性 3. 创建与使用 4. 典型应用场景 5. 生命周期管理 6. 注意事项 7. 性能优化建议 MySQL 临时表详细说明 1. 定义 临时表是存储在内存或磁盘上的临时性数据表,仅在当前数据库会话中存在。会话结束时自动销毁&a…

深入解析 Apache APISIX 在微服务网关中的性能优化实践指南

深入解析 Apache APISIX 在微服务网关中的性能优化实践指南 文章类型:性能优化实践指南 技术领域:微服务架构 —— API 网关 文章结构:原理深度解析型 目标读者:有一定微服务与运维基础的后端开发工程师一、技术背景与应用场景 随…