记 GNOME 的初体验

2022 年 1 月 18 日注: 经 Arch Linux CN 社区中一些大佬指正,现对该博文进行补充说明,以免误导 Linux 萌新。没想到我的博客居然真的有人看

  1. 这篇博客本质上其实也只是一篇个人吐槽性博客,而并非严谨的技术性文档。我很高兴会有人愿意花时间看我的这样一篇无聊的博客,但请不要将这篇博客所呈现的内容或其中的观点作为你评判事物的参考
  2. 限于我当时写这篇博客的技术水平及认知水平,这篇博客许多观点和表述上其实存在很多问题。我对这些错误大体上持较为宽容的态度,毕竟使用 Linux 的过程中,我始终是一个还在路上的求学者。在自身认知还不完善的情况下,错误其实在所难免。不过我觉得存在错误并不可耻,知错不改、止步不前才可怕。曾经的我写下的幼稚言论固然漏洞百出,但是当作难得珍贵的黑历史又何尝不是一种乐趣呢?这又何尝不是记录性博客的意义所在呢?(我这样说会不会被打啊
  3. 如果你是萌新纠结 Linux 桌面环境的选择,你应该亲自一个一个尝试而不是在网上搜索相关文章或视频。他人的意见固然值得参考,但是适合自己的才是最好的。
  4. 文章中存在一些对 GNOME 的负面评论,但并不代表我否认 GNOME 是现 Linux 桌面环境大家庭中极为出色的一个。事实上截至目前,我使用的桌面环境仍是 GNOME,这同样代表了我对它的认可。博客中大篇幅描述了当时的我使用 GNOME 遇到的 bug,但是在后续处理中已经证明这些只不过是我个人的配置问题。桌面环境的稳定性其实很大程度上取决于用户水平,因此请理性看待当时的我提出的 bug。
  5. 最后,如果聪明的你在阅读这篇博客的时候发现了博客中存在的问题,欢迎在评论区指出,说不定还能开展一场捉虫大赛呢对吧?(雾)

记 GNOME 的初体验

长期以来,我使用 KDE 而非 GNOME。劝退我的不只网上关于 GNOME 的负面言论诸如“GNOME 资源占用大”、“扩展 bug 多”、“开发线混乱,整个项目四分五裂”等,还有 Linus 在 Google+ 中描述 GNOME “无可容忍的凌乱”。

反观 KDE 却是出奇的一致好评,比如“最小的等离子桌面”、“高度可自定义”、“界面统一,新手易使用”等。

因此,我几乎没有任何纠结地选择了 KDE(重要原因还是当时电脑配置太低,所以后面又换 Xfce 了…)

无奈地一次 GNOME 尝试

是的,是“无奈的一次尝试”。

起因是 KDE 出现“合盖睡死”、“合盖再开盖花屏”等问题。

强迫症的我当然不能忍受开机就铺面而来的撕裂感。对于不喜欢经常关机的我来说,如果仅 睡眠/挂起 意味着每次开机一片刺眼的条纹,那么继续使用 KDE 基本上可以帮助我戒掉电脑了(强迫症的挣扎)。

长时间地查教程、社区提问无果后,我逐渐放弃了挣扎,并在纠结很久之后选择装了一个 Windows 10(至少这台电脑的 Windows 支持非常完善,Windows 10 不会开盖花屏)。

这件事让我很沮丧,第一次因为自己能力不够而被迫选择自己所抗拒的 Windows 到底是一件让人开心不起来的事情。我将我的想法这样传达给了我的一个朋友,那个朋友这样反问,“为什么不试试 GNOME 呢?”

我当然下意识拒绝了,理由便是开篇那些网上的负面言论。但是拒绝后的那个下午,我反复想起”使用 GNOME“的提议。

既然别无选择,为什么不给 GNOME 一个机会呢?(态度好像不太对

意料之外:GNOME 给我的惊喜

经过一番熟练的操作(别问我我为什么这么熟练),我完成了 Arch Linux + GNOME 的安装。

重启第一眼看到的 GDM 就给了我一个惊喜——精致的 MD 设计,简约大方,一瞬间让我不敢想起 SDDM 那土掉渣的开机界面(我当然知道 SDDM 主题,但是 SDDM 主题很少有能做到 GDM 这般简约与美观并重)。

在几分钟的试体验中,GNOME 精致的 MD 设计接近颠覆了我对 Linux 桌面一贯的认知。KDE 高自定义当然很好,但是不如 GNOME 这般简直为我的简约向审美量身定制。

(不要和我说 GNOME 的默认应用图标,那玩意差点弄瞎了我的眼睛)

比如说大家最熟悉的 VS Code,图标是这样的:

你敢相信这个是 VS Code?

大概感觉是,看完这默认的图标设计,我感觉我挺有当设计师的天赋。

在确定 GNOME 合盖不会花屏之后,我可以肯定,GNOME 将会是我未来很长一段时间的 Linux 桌面环境解决方案。

与 GNOME bug 的搏斗

第一回合:下马威,GDM 的罢工

如上文所说,我不喜欢经常关机,所以直到当我装 VMware 需要重启的时候,我才发现原来这 GDM 是一次性产品,就第一次开机能一睹它尊容(

具体 bug 表现为内核启动后,电脑一直卡在光标闪动界面而没出现 GDM(显示管理器)。刚开始我寻思可能是 VMware 有点傲娇,重启开机系统的工作量有点大(自欺欺人ing…),所以开机稍微慢了了一点。加上这光标一直在闪,而我暂时也不急着用电脑,所以姑且耐心地等了下来,直到半个小时后我与电脑漆黑屏幕里闪动的光标从相顾无言到怒目而向。

好吧,大概是挂了。没想到自己 Arch Linux 第一次嗝屁居然不是因为滚挂了,而是新系统的第一次重启…

我仔细进行了一番思考,简单罗列一下可能的原因,最后得出了结论:可能要重装了。

重装就重装吧,在第二次安装过程中,我根据我罗列的原因略微修改了一下我一贯的安装过程(其实就是简化一些安装步骤),并把文件系统从 Btrfs 改为了 ext4(事后我追悔莫及…)

在一番熟练的操作下,我两三下完成了 Arch Linux 的安装,接着满怀激动地进入了桌面,然后满怀期待的点击了重启,最后不出所料地又卡在了开机界面。

我已经准备好加 tag 了,比如 #GNOME无法开机 #GDM无法启动 #ArchLinux卡开机光标

在此之前,我先进 tty 简单确认了一下日志。嗯,好像是 GNOME 挂了。

嗯?啥?GNOME 挂了?

我认识到了这不是我能独立解决的问题,于是我光荣地在 Arch Linux CN 社区再次开展了我的 小白灵魂三问 真挚且虚心的提问。

经过一番大家都摸不到头脑的瞎折腾之后,我终于得到一句有用(表意明确)的话:“我们也不知道什么情况,你先按照你的想法试试。”(我:???)

于是在遍历 Arch Wiki 之后,我发现 Arch Wiki GDM 的 Troubleshooting 居然有和我情况一模一样的问题解决方案。

Arch Wiki 的描述及解决方案如下:

  • GDM shows black screen with blinking white cursor

After booting, GDM may present you with a black screen with a blinking white cursor in the top left. This may be caused by GDM starting before graphics drivers are fully initialized. One possible workaround is to start KMS early. Another possible workaround is to edit the systemd service and either set its type to “idle” or add a small delay:

1
2
 [Service]
 Type=idle

or

1
2
 [Service]
 ExecStartPre=/bin/sleep 2

If a longer delay is required, increase the delay time.

看完 Wiki 的我猛拍大腿。对啊,提前启动 KMS,我咋没想到呢??

于是继续顺着超链接看了下去。

嗯,在/etc/mkinitcpio.conf添加模块(MODULES),我是 AMD 核显所以应该添加amdgpu

所以应该是

1
MODULES=(amdgpu)  #又不是旧架构,我为啥要加 radeon?

修改完后保存退出重启,再次开机的时候,我终于看见了我久违的 GDM。

确保这次开机不是偶然,我特意再重启了一遍,然后……又卡在那个光标了。

我凭借自己强大的心理素质忍住了想哭的冲动,平复心情后把 Arch Wiki 给出的所有方案操作了一遍,然后基本确定,我上一次开机真的只是偶然事件(

抱着破罐子破摔的态度,我开始尝试我能想到的玄学方法,比如安装 linux-zen 内核(据说专为 Arch Linux 用户定制,对笔记本有玄学优化的神奇内核)。然后,就真开机了……

是的,这次不是偶然事件了。截至我先这篇博文,我亲爱的 GDM 都 works very well。感谢 linux-zen 鼎力相助以及 GDM 的手下留情,不然我就真的可能把 GDM 换 SDDM 或 LightDM 试试了(雾)。

第二回合:下酒菜,薛定谔的桌面动画

考虑到如果要将这次较量完整的记录下来,5000 字可能不够写大纲。因此,我只记录我印象最深刻的 显示应用程序动画

起因是每次点击 Dock 栏的抽屉(姑且先这样叫吧),动画都有一种莫名的卡顿感。我是一个很少在意动画的人,但动画明显的不和谐感引发了我的疑惑。仔细想了想,我感觉我电脑配置算不上高但怎么也不至于带不动一个桌面的动画。于是我特意仔细观察了一下点击 Dock 栏抽屉的动画,然后发现了问题所在。

我觉得我的语言很难向别人表述清楚问题所在,但是考虑到我博客好像只有自己看,那就按照我的感觉描述,自己能懂就好了(bushi

简单来说,我只点击了抽屉一次,而 Dock 栏抽屉的动画显示了两次

具体表现为,桌面在我点击后先显示了应用列表,然后再显示了一个扩散开来的 Dock 栏抽屉点击动画。我猜这可能是扩展动画和桌面自带动画冲突的缘故。不出所料,我在 Dash To Dock 扩展中找到了 动画方式 -显示应用程序 这个选项。

Dash To Dock-启动项

关闭该选项后,动画的不和谐感消失。

当然,对于内心追求完美的我来说,一切本应还没有结束。考虑到 GNOME 扩展都是为 GNOME 定制的,扩展作者怎么可能加这种明显有问题的功能呢?最可能的情况是,这个功能本应该在某种情况下正常工作,但是我当前环境不满足扩展正常工作所需条件,因此才会出现这个 bug。

我当然也更喜欢扩展提供的动画,但是在网上找很久都没有找到相关解决方案后,我还是决定放弃该动画,毕竟使用 Linux 不应把过多的时间放在美化上(才不是为自己找借口)。

第三回合:压轴戏,无尽 bug

无尽 bug,故名思义,即为我对目前 GNOME 使用体验的描述。如果要形象一点表述,我只能说,我感觉我被虫子包围了。

是的,GNOME 日常使用如果加上扩展的话 bug 太多了…每天体验不同的 bug或者也是一种乐趣吧?

GNOME 中我的扩展与美化

该节仅为记录备份,请勿照搬安装我截图中的扩展。

我的扩展1

我的扩展2

我的扩展3

我的扩展4

各人审美不同,请勿照用我使用的主题和字体。

我的主题搭配

我的字体搭配

最后的桌面效果如图

我的桌面

有人评价说我的桌面像 Mac。说实话,装扮桌面的时候没有刻意模仿 Mac,完全是自己觉得怎么舒服怎么来。

直到现在,我对我的图标包还是不算满意,但是换了几套还是找不到称心如意的,索性就将就着用吧。

Dock 放底栏是非高效率的做法!

Dock 放底栏是非高效率的做法!!

Dock 放底栏是非高效率的做法!!!

正确的高效率布局应该是 Dock 放侧栏(即 GNOME 默认设置)。

那我为啥把 Dock 放底栏呢? 因为好看啊~

使用小结

根据 Typora 的统计结果,这也是一篇 3000 字的长文了。粗略估计一下,我写这篇博文也花了三个多小时。实际上的写作体验由最开始的不知道写啥到后面的停不下来,还是非常舒畅的。我想这也是我这几天使用 GNOME 有很多有意思的体验,也有很多想法想分享给别人(虽然好像写了 3000 字,但实际上啥也没写)。

其实一开始写这篇博文是想分享一下 GNOME 的效率工具&作业模式,但转念觉得教程性文章未免太没意思了一点,而目前整个博客几乎都是教程性文章,几乎看不出一个博客应有的样子,所以索性水了一篇这样的记录性博文。

总而言之,希望将来的自己重新审视自己曾经写的博文的时候,能喜欢这篇文章。

使用 Hugo 构建
主题 StackJimmy 设计