作为一个日常跑 Linux(工作全部时间)的人 真的不觉得 Linux 桌面有多么值得赞扬的改进 依旧是仅仅能用
这个问题的原因是比较复杂的 有上层设计问题 也有底层问题
先说设计问题 用过 Gnome 和 Xfce 各有各的好处 Gnome 炫酷一些 Xfce 占用资源少 但是每个都有各种各样的缺点
Gnome 首先是效率问题, dock 里如果你同一个程序开多个 就一定要多点一下才能找到你要的那个实例 就跟 win 的自动合并一样 这个设计是非常反人类的 尤其是你工作时候要开一大堆东西 比如说不同目录 非常非常耽误效率
Gnome 还有一些程序状态栏图标显示问题 有的显示不出来 还有一些杂七杂八的小问题 都列出来也不现实
Xfce 对于效率厨没有上面说的合并实例问题 但其他方面尤其是多屏情况下有很多问题
首先是自动停靠窗口(就是你托窗口到屏幕边上自动给你 1/2 或者 1/4 停靠) 如果我有两个 4k 屏幕 此时在笔记本的 1080p 的屏幕上就只能 1/4 不能 1/2 这个肯定是一个比例计算的问题导致的
其次是多屏幕配置问题(就屏幕排列 缩放等等) 每次改排列 就要卡很久 导致 10 秒还是多少秒内无法二次确认导致退回 非常恼火 还有就是概率性在配置排列那里 三个屏幕重叠在一起 拽不开(估计边缘检测设计问题)
另外还是多屏配置问题 更换显示器(或者是仅仅断开一个显示) 布局保留还是重置的规则非常迷 因为我是笔记本 经常是重新插一下显示器 布局就重置了(两个显示器都是正规厂家产品 edid 肯定合规也有序列号区分) 又要重新调 重新调有时候又会碰到上条的问题 叠在一起 拽不出来 只能先禁用一个然后它就会自动出来之后再启用 但又会碰到上上条问题 每次切换卡的比较久 导致没法确定又自动还原回去 血压++++++++++++++++++
其他还有就是那个程序菜单(就像 win 的开始菜单一样那个东西) 多个显示器的话 每个显示器都放一个的话 三个竟然 [不 同 步] 就是你在这个显示器的菜单里 pin 了一个程序 另一个里你也要 pin 一遍 why??? 为什么要分开保存???
这里我让我叠个甲 是的 我非常清楚上面的问题是可以通过 gui 配置 /手写配置 /魔改来解决的 或者说干脆换一个插件也可以(但能不能找到一个跟你现在版本兼容又不跟其他插件冲突的就不好说了) 但如此常用且关键的问题都做不到开箱即用 我只能说就设计和实现上 Linux 桌面距离成熟二字还很远 大家工作和生活都很忙的 正经干活的人(我想)大概都不希望在配(Xiu)置(Li)环境上精(Lang)雕(Fei)细(Shi)琢(Jian)
剩下来说说底层问题
笔记本是 3050ti 显卡 不管是 ubuntu 还是 xubuntu 最新版还是 LTS 驱动都有概率性卡住 最近几个版本稳定一些了 其他发行版没有具体测试 但估计都差不多 因为 dmesg 能看到真的是老黄的驱动 hang 了 这也许不是社区的锅 但真的很影响使用
下面要说的就是社区的锅了 坑爹的 grub bug 启动时候显示"error: out of memory." 之后 Kernel panic 无法启动
具体可以看[这个连接](
https://bugs.launchpad.net/oem-priority/+bug/1842320?comments=all) 注意 这是一个 2019 年提出的 issue 直到今年 3 月末才解决 这个问题本质上是 grub 默认利用的内存太小了(或者说从一开始就没好好搞内存分配导致后面碎片化太多无法找到足够大的区域) 而现在的 initramfs 又越来越大(尤其是塞进 nv 驱动之类的东西之后) 导致 kernel 载入之后 没地方放 initramfs 了 所以报错 如果任意键继续 kernel 会因为找不到 initiramfs 于是 panic
这个问题受影响的配置很多 尤其是老黄驱动模块变大之后受影响的就更多了 然后这个也不是很复杂且严重影响用户使用的问题拖了 3 年多才修好 我该说点啥?(只要微笑就好了.jpg)
再额外叠个甲 是的 我同样清楚社区都是自发自愿贡献的 贡献者不亏欠用户什么 但我同时也觉得现在这类开源社区对用户的态度和做事的实效性并不比老国企好哪里去
之前 Linus(LTT 的那个 不是给 NV 竖中指的那个)体验 Linux 之后也是这类观点 社区的态度很不友好 比如"我干这个的时候遇到了这个问题 请问是怎么回事?" "你为什么要干这个?/你为什么要这么干?/用我们 Linux 就要 xxx 的的方式来做!" 而不是真正去思考为为什么用户遇到这样的问题我们有没有什么地方可以改进一下
之前也给 OpenWrt 提交过代码 背景是一个 commit 导致 EA8500 的设备数不正确 重启无法复位交换机导致必须手动断电重启 我叫了个 pr 说明了原因并且 reverse 掉他的修改 刚提交 pr 原作者就"你干嘛碰我代码? This is a war over a war!" 这个后来在坚持不懈的沟通下也卡了很久才通过 可以点[这里](
https://github.com/openwrt/openwrt/pull/2047)看 pr 也可以点[这里](
https://forum.openwrt.org/t/ea8500-reboot-fails-only-with-power-switch-on-off-successful/18234)看论坛这两个例子可以看出 大型开源项目修复一个导致产品不可用 同时问题和解决办法都非常明确的严重问题 实效性有多差