不知道从什么时候起(可能是 Ubuntu 21.04,也可能是 Ubuntu 21.10),Ubuntu 中的 gnome-terminal 的行间距就加大了,看起来极其不爽,特别是和 Powerline 之类的主题配合的时候尤为明显。好像这个问题很早以前就出现过,后来又改过来了,至少我的印象中 Ubuntu 20.04 和 Ubuntu 20.10 是正常的。最让人蛋疼的是,这个问题在网上还搜不到,难道只有我一个人被这个问题困扰吗?

事情是这样的,我最近看别人玩 zsh 还不错,特别是 zsh 中有一个主题插件,叫 powerlevel10k,比较漂亮,于是我就决定自己试一下。我配置出来的效果是这样的:

细心点看,可以看出来,因为终端中两行之间的行间距太大,使得 powerlevel10k 主题看起来非常不舒服。这个问题我以前就发现过,只要是终端中的行间距太大,就会对 Powerline 类的主题造成影响,包括 Vim 中的 air-line 主题。如下图:

不细心的人可能并没有发现有什么不妥,但是如果和正常行间距比较一下,就可以看出很大的差别,如果翻一翻我之前的关于 Vim 的随笔就可以看出来。(后面我会贴正常行高情况下的贴图,等我格了这个 Ubuntu 22.04,回退到 20.04。)我之前的随笔是在 Ubuntu 20.10 中写的,终端的行间距是正常的。但是当我输入sudo aptitude install zsh准备装一个 zsh 的时候,翻车了,因为 Ubuntu 20.10 的支持期过了,所以软件仓库中啥都没有了。继续在 Ubuntu 22.04 中玩 zsh 吧,又被 gnome-terminal 恶心的行间距问题困扰,郁闷呀。

再多说一点题外话,我也尝试过寻找其它行间距正常的终端软件。我发现,在 Ubuntu 22.04 中,凡是使用 libvte 编写的终端软件,行间距都不正常。而使用 Qt 编写的,行间距都是正常的。我借用了 Lubuntu 中的 QTerminal,其效果如下:



上面的截图,就是 Powerline 类的主题应该有的样子。

我还借用了 Kubuntu 中的 Konsole,如下图:

行间距也是正常的,只是软件实在是丑了一点,而且配色也不好看。以上两个终端软件也不能设置背景透明度。

唉,没办法,谁让我偏爱 gnome-terminal 呢?

怎么办?硬盘格了吧......

重新装个 Ubuntu 20.04 吧......

...

重装完成了,下面我来继续展示。

这是 powerlevel10k 的效果,是我编译 Vim 的 YouCompleteMe 插件的操作展示,其中可以显示上一条命令运行是否成功、运行时间等等,我还配置了它显示我的 CPU 负载、剩余内存、磁盘占用率等信息。

下面是 vim 欢迎界面的截图,可以看到 air-line 插件的效果,也可以看看在正常行间距的情况下,是不是有拥挤的感觉?

下面用 Vim 写一个 Hello World。可以看出,在正常行间距的情况下写代码,一点也不显得拥挤。

可以看出,在正常的行间距情况下,英文和代码一点也不觉得拥挤,中文会有一点点拥挤的感觉。下面这张图很能说明问题:

而且从上图中可以看出,我查了一下 libvte 的版本,发现 Ubuntu 20.04 中的 libvte 也是 2.91 版,和 Ubuntu 22.04 中是一致的。那么终端的行间距表现如此不同,问题究竟出在哪里呢?

也许是 Ubuntu 的发行方单方面不想让终端看起来那么拥挤吧,但是是否能够考虑一下 powerline、powerlevel、air-line 这些插件的感受?

新版 Ubuntu 中 gnome-terminal 可恶的行间距问题逼我退回了 Ubuntu 20.04的更多相关文章

  1. Ubuntu中修改Terminal背景

    哈哈哈哈,没什么卵用,只能是看起来舒服,有逼格! 详解参考

  2. 在Azure中的Ubuntu中安装Open edX

    最近,由于工作原因,在Azure上的Ubuntu虚拟机中安装了Open edX 实例,安装过程遇到了不少问题, 在从网上找答案的过程中,学习到了不同的知识. 注:若Ubuntu虚拟机Setup在Glo ...

  3. ubuntu中磁盘挂载与卸载

      问题描述:          ubuntu中磁盘的挂载和卸载     问题解决:          (1)ubuntu中磁盘挂载        注:    如上所示,使用命令df查看磁盘使用情况 ...

  4. 访问不了虚拟机 ubuntu中的myql,解决方案

    ============================================================== 1. 现象 2. 原因分析 2.1 访问虚拟机中的mysql的前提: 你的 ...

  5. Ubuntu中如何使得程序在后台运行

    Ubuntu中如何使得程序在后台运行 一.前言 在Ubuntu中有的程序启动需要执行改程序./bin目录下的文件,并且启动之后这个shell就不能使用和关闭了,非常的麻烦,因此就有了相应的命令来解决这 ...

  6. ubuntu中KDE与GNOME安装切换

    转载:http://apps.hi.baidu.com/share/detail/18919303 1.在Ubuntu中安装KDE桌面命令 sudo apt-get install kUbuntu-d ...

  7. ubuntu中的Wine详解

    什么是wine?(转自百度百科,具体看百科) wine,是一款优秀的Linux系统平台下的模拟器软件,用来将Windows系统下的软件在Linux系统下稳定运行,该软件更新频繁,日臻完善,可以运行许多 ...

  8. 【转】ubuntu中的Wine详解

    原文网址:http://blog.csdn.net/iwtwiioi/article/details/10530561 什么是wine?(转自百度百科,具体看百科) wine,是一款优秀的Linux系 ...

  9. Ubuntu中配置Java环境变量时,出现command not found问题解决记录

    百度出Ubuntu中配置Java环境变量时,在利用sudo gedit /etc/profile 对profile编辑后, 在terminal中输入 sudo source /etc/profile, ...

随机推荐

  1. 万字+28张图带你探秘小而美的规则引擎框架LiteFlow

    大家好,今天给大家介绍一款轻量.快速.稳定可编排的组件式规则引擎框架LiteFlow. 一.LiteFlow的介绍 LiteFlow官方网站和代码仓库地址 官方网站:https://yomahub.c ...

  2. 如何使用picGo+typora配置云笔记

    PicGo的使用 安装 picGo 2.3版本 (window可用)---官网有点慢,已经下载到个人仓库 https://gitee.com/lht1132950411/study/blob/mast ...

  3. 目标检测复习之Faster RCNN系列

    目标检测之faster rcnn系列 paper blogs1: 一文读懂Faster RCNN Faster RCNN理论合集 code: mmdetection Faster rcnn总结: 网络 ...

  4. SpringSecurity的 loginProcessingUrl为什么不能用

    前情提要: 我在做一个springsecurity动态鉴权的项目时, 据网上说配置了 loginProcessingUrl("/login1"); 以后 就可以自定义login的请 ...

  5. 【HEOI2014】大工程<虚树>

    虚树 我们每天都用心思索着,这究竟是为了什么呢?我想我也不知道,只是觉得如果人不思考问题就很无聊. 我觉得虚树不是什么数据结构,就是一种技巧或者工具.它能把树中\(k\)个关键点以\(O(klogk) ...

  6. DirectX11 With Windows SDK--40 抗锯齿:FXAA

    前言 在默认的情况下渲染,会看到物体的边缘会有强烈的锯齿感,究其原因在于采样不足.但是,尝试提升采样的SSAA会增大渲染的负担:而硬件MSAA与延迟渲染又不能协同工作.为此我们可以考虑使用后处理的方式 ...

  7. 跨域问题和使用 cookie 的限制

    前言 在我的文章 使用 cookie 的身份验证和授权 的最后,讲到了跨域问题,这篇文章就简单介绍跨域的相关知识,并说明在 net core 中怎么设置跨域. 使用的版本为 net6,并使用 Mini ...

  8. 使用JavaCV实现读取视频信息及自动截取封面图

    概述 最近在对之前写的一个 Spring Boot 的视频网站项目做功能完善,需要利用 FFmpeg 实现读取视频信息和自动截图的功能,查阅资料后发现网上这部分的内容非常少,于是就有了这篇文章. 视频 ...

  9. C++ 智能指针浅析

    C++ 智能指针浅析 为了解决 C++ 中内存管理这个老大难问题,C++ 11 中提供了三种可用的智能指针.(早期标准库中还存在一种 auto_ptr,但由于设计上的缺陷,已经被 unique_ptr ...

  10. script标签crossorigin属性及同源策略和跨域方法

    首先介绍(同源策略) 同源策略是浏览器最核心且基本的安全约定,要求协议.域名.端口都相同为同源,如果非同源时请求数据浏览器会在控制台抛出跨域异常错误,同源策略是浏览器的行为,即使客户端请求发送了,服务 ...