Ubuntu GNOME去除顶栏和窗口标题栏方法(亲测可用)

2023-05-16

一、环境

Ubuntu16.04 + gnome3 ( gome shell 3.18.5)

二、简介

因项目需要,软件在 Ubuntu 系统中运行,并且全屏显示。而在 Ubuntu 系统中,侧边栏的自动隐藏很容易实现,因为 Ubuntu 本身就自带这个功能,而最头疼的是顶栏,他占据了一定的空间,即使软件全屏显示,顶栏也不会隐藏,而 Ubuntu 系统本身是没有让顶栏消失这个功能的。

这就需要我们另想出路来隐藏顶栏,在网上能找到的方法就是 利用 GNOME 来实现自动隐藏顶栏。

三、GNOME实现自动隐藏顶栏

网上很多方法都是通过先安装 gnome shell ,然后再通过谷歌浏览器或火狐浏览器添加扩展插件,实现这个功能。我尝试过这个方法,需要用新版火狐浏览器(好像是某一版本之后就可以)。可能由于gnome shell 版本不兼容的问题,所以就没成功,这里有一个教程文档推荐下:链接1

后来我利用了另一种方式,直接安装 gnome 桌面来实现,下面介绍这种方式。

1、安装 GNOME 桌面

Ubuntu 默认的界面是 Unity 界面,需要安装 GNOME 桌面。

(1)添加源,执行命令后,按下 enter

sudo add-apt-repository ppa:gnome3-team/gnome3

(2)更新并安装

sudo apt-get update && sudo apt-get install gnome-shell ubuntu-gnome-desktop

(3)安装完成后,显示如下界面:

gdm3是默认gnome3的桌面,lightdm是默认unity的桌面,所以要选择gdm3桌面。

(4)注销用户,切换成 GNOME 桌面,重新进入系统

点击 Ubuntu 图标,选择第一个 "GNOME",进入系统;

(5)查看 gnome-shell 版本(后面会用到)

gnome-shell --version

我安装的版本是 3.18.5 

2、安装 hidetopbar 扩展

(1)安装 hidetopbar 扩展

sudo apt-get install gnome-shell-extension-autohidetopbar

(2)开启 hidetopbar 扩展

重启电脑,在搜索栏中搜索 “Tweak tool”并打开,Extensions --> Hide top bar 扩展,开启即可隐藏顶栏。隐藏的方式是自动隐藏、自动显示。

(3)删除 Unity 桌面(可选)

因为可能会有界面不兼容的情况,所以如果存在不兼容的问题,可以选择把 Unity 桌面删除。

sudo apt-get remove unity 
sudo apt-get remove lightdm 
sudo apt-get remove ubuntu-desktop

3、扩展 --  卸载 GNOME 桌面

这一步与本文没有关系,只是扩展。如果不想要 GNOME 桌面了,那么可以卸载它(前提是没有删除 Unity 桌面)。

  • 卸载 gnome-shell 主程序
sudo apt-get remove gnome-shell
  • 卸载 gnome
sudo apt-get remove gnome
  • 卸载不需要的依赖关系
sudo apt-get autoremove
  • 彻底卸载删除gnome的相关配置文件
sudo apt-get purge gnome
  • 清理安装gnome时候留下的缓存程序软件包
sudo apt-get autoclean
sudo apt-get clean

四、GNOME 实现最大化隐藏窗口标题栏

实现自动隐藏顶栏功能后,发现在 GNOME 界面中,每个窗口都有标题栏,又大又丑,肯定要把它给去掉。这里是通过安装一个Maximus 的 extensions 就可以解决宽大的标题栏。

但是这里有很多坑,一点一点描述一下。

1、通过修改 metacity-theme-3.xml 配置文件来实现 “ 最大化隐藏窗口标题栏”功能

网上大部分的教程就是通过修改配置文件来实现这个功能,但是我试了很多次,并没有成功。 这里贴出来,可以作为备选方案再研究一下:

(1)找到 /usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml 文件,并通过 root 权限 ,使用 vim 打开并编辑它(最好是先备份一下)。

(2)找到  frame_geometry name="max" 这一栏,修改内容如下:

其中,红色部分就是新增加 或者修改的地方。 增加  has_title="false" ,并将所有参数设置为0 。

(3)按下 ALT + F2 ,然后输入 r ,重新启动桌面,即可生效。【我做了这些,但是依然没有任何作用,所以我也怀疑是不是因为 GNOME 版本升级后导致的问题】

2、通过安装Maximus Three 的 extensions 实现“ 最大化隐藏窗口标题栏”功能

(1)Maximus 的 extensions 需要与 gnome shell 版本对应

这里提供一个链接:链接2,是别人写的一篇博客。我当时就是参考他的博客来做的,后面发现,他所描述的是低版本的 gnome shell,也就是说,gnome shell 3.8版本之前,下载这篇博客里介绍的 Maximus版本是没错的。这是 GNOME Shell Extensions的官网地址:https://extensions.gnome.org/#,这里搜索 Maximus ,会有介绍:

按照他的方案,修改了 metadata.json 文件中的版本,依然是不行的,我的 gnome shell 版本是 3.18.5。点击 图片中的地址(https://bitbucket.org/mathematicalcoffee/maximus-gnome-shell-extension/src/default/),有一些安装的教程,步骤是对的,但是也只是针对低版本的生效:

(2)针对 gnome shell 3.18.5,我找到了 Maximus Three 的 extensions

它是存在 3.18版本的。 选择了3.18版本,下载下来。https://extensions.gnome.org/extension/1356/maximus-three/

(3)将下载下来的扩展包解压提取

下载的压缩包为 maximus-threedaman.4880.gmail.com.v3.shell-extension.zip

(4)安装扩展包

cp -r maximus-threedaman.4880.gmail.com.v3.shell-extension /home/hd/.local/share/gnome-shell/extensions

将扩展文件拷贝到 /home/hd/.local/share/gnome-shell/extensions 目录,其中 hd 是我的系统用户名。

(5)重启桌面

按下 ALT + F2 ,然后输入 r ,重新启动桌面,即可生效。

(6)在搜索栏中搜索 “Tweak tool”并打开,Extensions -->  Maximus Three 扩展,开启即实现最大化后窗口标题隐藏。

注意:如果将安装扩展包后且安装重启桌面,但是在 Tweak tool 中没有看到 Maximus Three 的扩展,可能就是系统没有将包编译。这里提供一个编译后的 Maximus Three扩展包,只针对 gnome-shell 3.18版本。点击下载,将文件夹 “maximus-three@daman.4880.gmail.com”,按照第4步的安装步骤,复制到 ~/.local/share/gnome-shell/extensions文件目录中,重启桌面,即可。

五、总结

找寻这些方法的过程碰到不少坑,但是还是一步一步的走过去。最主要的还是要懂得灵活运用方法,找到合适自己的方案。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ubuntu GNOME去除顶栏和窗口标题栏方法(亲测可用) 的相关文章

  • Spring源码--IOC容器实现(5)--Bean对象的创建

    前言 Github xff1a https github com yihonglei thinking in spring 在前面文章中分析了容器初始化过程 xff0c 已经建立了一个可以使用的容器 1 xff09 BeanDefiniti
  • Spring Data Jpa之nativeQuery(仅案例

    Spring Data Jpa 默认实现是hibernate xff0c 我们都知道hibernate使用HQL查询 xff08 Hibernate是JPA的实现之一 xff09 xff0c 而不推荐使用sql查询 xff0c 因为这样子就
  • 消息代理RabbitMQ——介绍篇

    1消息队列概述 我们现在生活的是一个信息高质量高可用并且持久的一个时代 xff0c 作为技术开发人员 xff0c 我们造就的代码程序需要有能力以简单并且高效可靠的方式将信息传送给需要的接受者 更为重要的是我们要优化消息传递的方式 xff0c
  • Spring Cloud Stream中文翻译

    Ditmars RELEASE 1 Spring Cloud Stream 介绍 Spring Cloud Stream是一个用于构建消息驱动应用的微服务框架 Spring Cloud Stream基于Spring Boot来构建独立生产级
  • Spring Security Architecture翻译

    Spring Security 架构 本指南是Spring Security的入门 xff0c 致力于深入了解框架设计和基本构建块 虽然仅设计应用程序安全性的基础知识 xff0c 但是这样做可以清除开发人员使用Spring Security
  • Spring Boot and OAuth2翻译

    Spring Boot and OAuth2 本指南将向您展示如何使用OAuth2和Spring Boot构建一个使用 社交登录 功能做各种事情的应用程序示例 它从一个简单的单一提供者单点登录开始 xff0c 并运行一个带有身份验证提供程序
  • 实现线程安全的常见手段

    Thread safety 线程安全是我们设计一个类是必须考虑的问题 xff0c 在一些常用的工具类库上 xff0c 是否线程安全也会作为一个很重要的标注告诉使用者 常见的实现线程安全的手段有哪些呢 xff1f 无状态 即 xff0c 将接
  • 【ROM定制】Android 12 制作『MIUI官改』那点事④修改

    作者 xff1a 小谢 内容 xff1a MIUI官改 的修改 时间 xff1a 2022 10 14 机型 xff1a 小米10 安卓 xff1a Android 12 版本 xff1a V13 0 7 0稳定版 制作 MIUI官改 工具
  • ubuntu(17):ubuntu循环登录/无法进入图形化界面解决方法--因为系统内核版本冲突/不合适

    1 问题排查 2 查找合适内核 3 删除多余内核版本 删除启动项 3 1 删除内核 3 2 删除启动项 这一步没起作用 3 3 修改默认启动内核 参考链接 xff1a 1 问题排查 昨天重装了nvidia显卡驱动 开机后一直循环登录 xff
  • Android Studio targetApi=33 android 13 setAppCacheEnabled/setAppCachePath/setAppCacheMaxSize 报红问题探究

    报红如下 可以看到即使加了Api版本判断依然是报红的 编译后有如下类似错误提示 Launching lib main dart on sdk gphone64 arm64 in debug mode Users dararii Dev fl
  • MATLAB自适应中值滤波代码

    最近数字图像处理课程课后作业 xff0c 要求自己用代码实现自适应中值滤波器 xff0c 虽然很简单 xff0c 但是在网上找了一圈也没有可以直接拿来用的 xff0c 所以就在网上找了一段代码 xff0c 并且自己改了一下 xff0c 能够
  • VNC连接超时

    一 bug截图 二 原因分析 远程连接 远程连接是要提供地址的 xff0c 这里的地址是IP 43 桌面号 xff0c 比如 xff1a 192 168 1 23 2 随后提示你输入密码 xff0c 此密码就是刚才第1个步骤这是的密码 一般
  • WebApi 异常处理解决方案

    C 进阶系列 WebApi 异常处理解决方案 前端开发 waitig 1年前 2017 04 14 238 百度已收录 0评论 阅读目录 一 使用异常筛选器捕获所有异常 二 HttpResponseException自定义异常信息 三 返回
  • springboot applicaton.properties配置多种数据源

    html view plain copy print DB Connection Config DB Type the database of the application mysql sqlserver oracle databaseT
  • SpringBoot项目在IntelliJ IDEA中实现热部署

    spring boot devtools是一个为开发者服务的一个模块 xff0c 其中最重要的功能就是自动应用代码更改到最新的App上面去 原理是在发现代码有更改之后 xff0c 重新启动应用 xff0c 但是速度比手动停止后再启动更快 其
  • Spring Boot集成webService

    服务端 使用idea创建spring boot工程 xff1a File New Project Spring Initializr 在pom添加依赖 span class hljs tag span class hljs tag lt s
  • spring boot整合OAuth2保证api接口安全

    1 OAuth 概念 OAuth 是一个开放标准 xff0c 允许用户让第三方应用访问该用户在某一网站上存储的私密的资源 xff08 如照片 xff0c 视频 xff0c 联系人列表 xff09 xff0c 而不需要将用户名和密码提供给第三
  • 软件项目的开发流程

    一个软件开发项目过程 xff1a 1 项目启动 1 项目组成立 公司成员 客户成员 2 制定项目预期目标 3 制定项目计划周期 4 建立好项目组成员沟通机制 2 需求调研 1 创建调研计划 协调调研时间 2 收集客户资料 xff0c 获取客
  • asp、jsp与html+ajax优缺比较

    我对jsp和ajax 一直比较困惑 xff0c jsp动态网页技术 xff0c 在服务器端执行 xff0c 能在网页中显示数据这是一种方式 另一种方式是 我打开一个网页 xff08 html xff09 xff0c 加载完成之后 xff0c
  • < Linux > 多线程(生产者消费者模型)

    目录 1 生产者消费者模型 生产者消费者模型的例子 生产者消费者模型的特点 生产者消费者模型的优点 2 基于BlockingQueue的生产者消费者模型 概念 模拟实现基于阻塞队列的生产消费模型 基于计算任务的生产者消费者模型 xff08

随机推荐

  • 分布式秒杀系统限流

    前言 俗话说的好 xff0c 冰冻三尺非一日之寒 xff0c 滴水穿石非一日之功 xff0c 罗马也不是一天就建成的 两周前秒杀案例初步成型 xff0c 分享到了中国最大的同性交友网站 码云 同时也收到了不少小伙伴的建议和投诉 我从不认为分
  • centos下使用docker安装tomcat部署Javaweb项目

    主要步骤 安装docker 卸载旧版本docker 如果centos系统中存在老版本的docker xff0c 可以先卸载掉旧版本的docker xff0c 再安装新版本docker yum remove docker docker com
  • Dockerfile指令介绍

    Docker通过对于在Dockerfile中的一系列指令的顺序解析实现自动的image的构建 通过使用build命令 xff0c 根据Dockerfiel的描述来构建镜像 通过源代码路径的方式 通过标准输入流的方式 通过源代码路径 Dock
  • redis面试知识点

    Redis在互联网技术存储方面使用如此广泛 xff0c 几乎所有的后端技术面试官都要在Redis的使用和原理方面对小伙伴们进行各种刁难 作为一名在互联网技术行业打击过成百上千名 请允许我夸张一下 的资深技术面试官 xff0c 看过了无数落寞
  • Redis分布式锁

    前言 分布式锁一般有三种实现方式 xff1a 1 数据库乐观锁 xff1b 2 基于Redis的分布式锁 xff1b 3 基于ZooKeeper的分布式锁 本篇博客将介绍第二种方式 xff0c 基于Redis实现分布式锁 虽然网上已经有各种
  • SpringCloud全套教程

    https gitee com didispace SpringCloud Learning
  • docker远程连接配置

    在开发的时候 xff0c 我们进程需要用到docker 但很多时候我们用的是window作为开发平台 xff0c 虽然Docker也有window版本的 但window的DockerToolbox是一款不是很成熟的产品 xff0c 有很多小
  • 单相逆变器及基于STM32 SPWM生成代码

    2022 4 26更新 若需商业合作可私聊留VX号 xff0c 博主看到后会添加的 最近在做单相逆变器 xff0c 用篇文章来记录 主电路采用H桥 xff0c 使用IR2104半桥驱动内置630ns死区 xff0c 上管采用自举电容浮地驱动
  • 20200329 百度 测试开发实习 笔试题

    20200329 百度 测试开发实习 笔试题 第一题题目描述 xff1a 输入输出样例输入样例输出提示 第二题题目描述 xff1a 输入输出样例输入样例输出 第一题 题目描述 xff1a 桌子上放着N枚硬币 xff0c 将其从1到N编号 x
  • 《Linux就该这么学》第1章 部署虚拟环境安装Linux系统

    Linux就该这么学 第1章 部署虚拟环境安装Linux系统 目录 常见的Linux系统版本 安装配置VM虚拟机 安装Linux系统 RPM xff08 红帽软件包管理器 xff09 Yum软件仓库 systemd初始化进程 需要长期稳定运
  • 辛勤劳作

    本文只有在12月27日可以学习到 我对敬业的体会是 xff1a 正在从事的工作就是自己的生命 xff0c 它意味着每周7天 xff0c 每年52周一心扑在上面 写下上面这句话 xff0c 我的泪水差一点儿就涌了出来 14年的寿险生涯 xff
  • RocketMQ

    1 主题中存在多个队列 xff0c 生产者向主题中指定的队列发送消息 2 在集群模式下 xff0c 一个消费者集群共同消费一个主题中的多个队列 xff0c 但一个队列只会被一个消费者消费 在广播模式下 xff0c 会被订阅主题的所有消费者消
  • 记一次Gradle搭建多模块项目遇到的问题

    前言 最开始 xff0c 我创建了一个空的项目 xff0c 并在该项目下依次创建了3个模块 但是我发现 xff0c 这几个模块引入的依赖绝大多数都是相同的 于是 xff0c 我灵光一闪 xff08 其实是在最初构建项目时的没想到 xff09
  • springboot 项目访问controller没有进入拦截器

    在项目中新写了一个校验token是否存在的拦截器之后 xff0c 编译和启动都没有问题 直到访问方法的时候发现并没有进入这个拦截器 后来发现是因为springboot在启动之后 xff0c 启动类只会扫描启动类所在的包下的方法 解决方法就是
  • leetcode 1170. 比较字符串最小字母出现频次(C++)

    我们来定义一个函数 f s xff0c 其中传入参数 s 是一个非空字符串 xff1b 该函数的功能是统计 s 中 xff08 按字典序比较 xff09 最小字母的出现频次 例如 xff0c 若 s 61 34 dcce 34 xff0c
  • maven私库nexus2.11.4迁移升级到nexus3.12.0

    https www cnblogs com liangyou666 p 9439755 html nexus简介 nexus是一个强大的maven仓库管理器 它极大的简化了本地内部仓库的维护和外部仓库的访问 nexus是一套开箱即用的系统不
  • Linux安装JDK8详细图文教程

    第一步 获取JDK文件 JDK下载包 xff1a 直接进入 如果跳转登录页面 xff0c 注册一个账号登录即可 登录过后文件就下载完成 第二步 上传JDK到服务器 1 创建JDK目录 span class token function mk
  • 购物商城shopping连载(11)

    订单模块类创建及配置 购物完成之后 xff0c 提交订单 xff0c 生成一个订单 订单表和商品的关系 xff1a 订单和商品的关系是多对多 xff0c 一个订单可以有多个商品 xff0c 一个商品可以属于多个订单 如果是多对多的关系 xf
  • CSS面试题:20道含答案和代码示例的练习题

    如何水平居中一个元素 xff1f 答案 xff1a 可以使用text align属性设置父元素的文本对齐方式为center xff0c 也可以使用margin属性设置元素的左右margin为auto 如何垂直居中一个元素 xff1f 答案
  • Ubuntu GNOME去除顶栏和窗口标题栏方法(亲测可用)

    一 环境 Ubuntu16 04 43 gnome3 gome shell 3 18 5 二 简介 因项目需要 xff0c 软件在 Ubuntu 系统中运行 xff0c 并且全屏显示 而在 Ubuntu 系统中 xff0c 侧边栏的自动隐藏