不知道从什么时候起(可能是 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. 使用git提交和拉取gitee的代码

    使用git提交和拉取gitee的代码 1. 安装Git(自行摸索) 2. 在gitee新建仓库 名称和路径自己写 这两个二选一足矣 默认分支master就行 复制这个链接,待会要用 3. 新建项目目录 ...

  2. Simple, Fast Malicious Multiparty Private Set Intersection-解读

    文本记录阅读该论文的笔记. 这是文章框架,来自视频. 介绍 本文主要解决恶意攻击下安全的多方PSI,主要用到两大技术OPPRF和OKVS,构造合谋和不合谋的协议. 基础知识 OPPRF 这部分在OPR ...

  3. Kafka 负载均衡在 vivo 的落地实践

    ​vivo 互联网服务器团队-You Shuo 副本迁移是Kafka最高频的操作,对于一个拥有几十万个副本的集群,通过人工去完成副本迁移是一件很困难的事情.Cruise Control作为Kafka的 ...

  4. torch.rand、torch.randn、torch.normal、torch.linespace

    torch.rand(*size, *, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False) # ...

  5. 使用PowerShell下载文件

    更新记录 本文迁移自Panda666原博客,原发布时间:2021年7月12日. 使用Invoke-WebRequest指令下载文件 [Net.ServicePointManager]::Securit ...

  6. 2022giao考游记

    Day -12: 今年高考准备去考着玩玩,考前心态十分稳健.~~毕竟我才高一/cy~~ 这次高考我倒是没啥目标,主要是来试试水,感受一下高考的氛围,体会一下自己和高三应届生们的水平的差距.也算是丰富自 ...

  7. Quick Pow: 如何快速求幂

    今天讲个有趣的算法:如何快速求 \(n^m\),其中 n 和 m 都是整数. 为方便起见,此处假设 m >= 0,对于 m < 0 的情况,求出 \(n^{|m|}\) 后再取倒数即可. ...

  8. Linux下修改RabbitMQ密码

    1,首先查看用户列表 rabbitmqctl list_users 2,修改对应用户密码 其中username 为用户名, newpasswd为新密码 rabbitmqctl change_passw ...

  9. 强化学习-学习笔记7 | Sarsa算法原理与推导

    Sarsa算法 是 TD算法的一种,之前没有严谨推导过 TD 算法,这一篇就来从数学的角度推导一下 Sarsa 算法.注意,这部分属于 TD算法的延申. 7. Sarsa算法 7.1 推导 TD ta ...

  10. 利用MATLAB仿真节点个数和节点通信半径与网络连通率的关系

    一.目的 ①在不同节点个数的情况下,用Matlab拟合出连通率与通信半径的关系曲线. ②在不同节点通信半径的情况下,用Matlab拟合出连通率与节点个数的关系曲线. 二.方法描述 在1x1的单位矩形中 ...