新版 Ubuntu 中 gnome-terminal 可恶的行间距问题逼我退回了 Ubuntu 20.04
不知道从什么时候起(可能是 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的更多相关文章
- Ubuntu中修改Terminal背景
哈哈哈哈,没什么卵用,只能是看起来舒服,有逼格! 详解参考
- 在Azure中的Ubuntu中安装Open edX
最近,由于工作原因,在Azure上的Ubuntu虚拟机中安装了Open edX 实例,安装过程遇到了不少问题, 在从网上找答案的过程中,学习到了不同的知识. 注:若Ubuntu虚拟机Setup在Glo ...
- ubuntu中磁盘挂载与卸载
问题描述: ubuntu中磁盘的挂载和卸载 问题解决: (1)ubuntu中磁盘挂载 注: 如上所示,使用命令df查看磁盘使用情况 ...
- 访问不了虚拟机 ubuntu中的myql,解决方案
============================================================== 1. 现象 2. 原因分析 2.1 访问虚拟机中的mysql的前提: 你的 ...
- Ubuntu中如何使得程序在后台运行
Ubuntu中如何使得程序在后台运行 一.前言 在Ubuntu中有的程序启动需要执行改程序./bin目录下的文件,并且启动之后这个shell就不能使用和关闭了,非常的麻烦,因此就有了相应的命令来解决这 ...
- ubuntu中KDE与GNOME安装切换
转载:http://apps.hi.baidu.com/share/detail/18919303 1.在Ubuntu中安装KDE桌面命令 sudo apt-get install kUbuntu-d ...
- ubuntu中的Wine详解
什么是wine?(转自百度百科,具体看百科) wine,是一款优秀的Linux系统平台下的模拟器软件,用来将Windows系统下的软件在Linux系统下稳定运行,该软件更新频繁,日臻完善,可以运行许多 ...
- 【转】ubuntu中的Wine详解
原文网址:http://blog.csdn.net/iwtwiioi/article/details/10530561 什么是wine?(转自百度百科,具体看百科) wine,是一款优秀的Linux系 ...
- Ubuntu中配置Java环境变量时,出现command not found问题解决记录
百度出Ubuntu中配置Java环境变量时,在利用sudo gedit /etc/profile 对profile编辑后, 在terminal中输入 sudo source /etc/profile, ...
随机推荐
- K8S Flannel网络插件
0.前言 参考文档:https://github.com/containernetworking/cni Pod网络插件,为了实现Pod网络而需要的插件.组件.由于Kubernetes通过开放的CNI ...
- MySQL数据库和Oracle数据库的区别
Mysql数据库 由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司.是一种中小型的关系型数据库. MySQL 数据库体积小.速度快.总体拥有成本低.开放源代码,其有着广泛的应用,一般中 ...
- 分享JAVA的FTP和SFTP相关操作工具类
1.导入相关jar <!--FTPClient--><dependency> <groupId>commons-net</groupId> <a ...
- Docker搭建大数据集群 Hadoop Spark HBase Hive Zookeeper Scala
Docker搭建大数据集群 给出一个完全分布式hadoop+spark集群搭建完整文档,从环境准备(包括机器名,ip映射步骤,ssh免密,Java等)开始,包括zookeeper,hadoop,hiv ...
- Tarjan算法模板(USACO03FALL受欢迎的牛)
好文章 #include<bits/stdc++.h> using namespace std; const int N = 10010, M = 50010; int n, m; int ...
- C# 将HTML转为XML
本文以C#及VB.NET后端程序代码示例展示如何将HTML转为XML文件.转换时,调用Word API -Free Spire.Doc for .NET 提供的文档加载方法及文档保存的方法来实现.转换 ...
- Bika LIMS 开源LIMS集——实验室检验流程概述及主页、面板
主页 主页左侧为功能入口菜单.右侧含待办提醒,中间为工作区. 工作区功能将主要工作页面置于首页,便于用户操作. Dashboard 面板 系统面板 包括待排定的实验任务.实验中的任务数.复核/审核中的 ...
- BUUCTF-大白
大白 使用16进制打开没发现什么异常的,根据提示来看图片可能没有显示完整 将第七位修改为02即可正常查看图片.
- React技巧之中断map循环
正文从这开始~ 总览 在React中,中断map()循环: 在数组上调用slice()方法,来得到数组的一部分. 在部分数组上调用map()方法. 遍历部分数组. export default fun ...
- Android 12(S) 图像显示系统 - drm_hwcomposer 简析(上)
必读: Android 12(S) 图像显示系统 - 开篇 前言 Android源码中有包含drm_hwcomposer:/external/drm_hwcomposer/ drm_hwcompose ...