为毛 Linux 总给人糟糕体验!?

之前某天 Archlinux 把 grub2 从 1.99 更新到了 2.00beta2 ,这个更新并不是来自 testing repo ,因此可以看作是足够稳定的版本。
在印象当中,更新过程没有给出任何在更新之后需要手动操作的提示,而重启之后我看到了几个 file not found 。虽然最终系统还是可以正确引导,但明显是有问题的,于是我开始解决这个问题。
简单的问题,直接运行 grub-install 重新复制相应的文件到 /boot/grub 就好了。然后重启发现之前手动配置的 framebuffer 分辨率失效了,取而代之的是默认配置时刺瞎狗眼的 640×480 分辨率。于是继续解决新出现的问题。
grub 使用 vbe 定义的分辨率模式,而 vbe 最后一个版本出现于 1998 年,显然这货几乎不支持任何宽屏分辨率。以前如果手动定义一个 vbe 没有的 1366×768 分辨率,它会自动匹配一个 1024×768 的分辨率,虽然不能点对点显示,但是至少在 Y 轴上科学了。然而 2.0beta 严格要求定义的分辨率必须是 vbe 所支持的,否则果断瞎你狗眼。
好了,换上一个还算科学的分辨率之后顺手看了一眼 grub2 的配置文件 /boot/grub/grub.cfg ,注意到这东西并没有使用已经被安装到当前目录的字体文件,而是与以前的版本一样使用了 /usr/share/grub/ 里相同的字体,虽然接着改也是可以的,但是不知道这样的配置用意如何,就先不去管它了。

话题再回到 framebuffer 分辨率。这个东西不仅影响 grub 那个命令行界面的显示效果,还会影响之后所有终端的显示状态(不是终端模拟器),那么它理应自动适配一个点对点的分辨率;即便不能自动适配,也应该支持我所使用的烂大街的分辨率;即使不支持这个分辨率,也应该在我配置这个分辨率时帮我选择一个替代的分辨率;如果突然觉得不想再帮我找到那个替代的分辨率,你 TM 就应该在安装的时候提示我!

问题就是在这里,不知道开发者是不是认为 Linux 的用户理应了解怎么这个系统是怎么运作的。作为用户,我不仅要给开发者擦屁股,还要面对擦不完的屁股,还要研究他们的消化系统是什么结构来预测下次拉屎是在什么时候,而且他们拉屎之前还不打算通知我…

用户体验是把用户当白痴一样的照顾,不是当白痴一样耍。

26 thoughts on “为毛 Linux 总给人糟糕体验!?

  1. yuzifu

    为毛你能更新到grub2 2.00beta2?我特意去了官网,还是1.99。不过vbe这个问题也让我特别郁闷,我的G41集显,在grub2界面死活出不来宽屏分辨率。

    Reply
  2. 黑日白月

    个人认为能想到用 framebuffer 的人已经不算是普通用户了,另一方面自由软件开发者根据 GPL 协议来讲并没有被强制要求考虑普通用户的体验。

    要舒服,就用有 QA 的 Fedora/openSUSE/Ubuntu 去吧,Arch 本来就不是这么严格的。不要因为 Arch 就让所有 Linux 发行版无辜中枪,对其他发行版的 QA 团队不好滴~

    Reply
    1. Wheat0r Post author

      其实 ubuntu 的 grub2 也是这样的…总的来说还是希望这些个开发人员能够在解决技术问题的前提下提升用户体验…

      Reply
    2. Ma Xiaojun

      嚴重同意,不能讓Arch代表了大家!
      不過Ubuntu的啓動畫面也是動不動就出問題……我表示很無奈……Fedora是不是好點?

      Reply
  3. 雨坤毅

    博主您好,我的arch系统grub2在更新到2.0beta版后一直无法正常使用,
    /usr/sbin/grub-bios-setup: warning: this LDM has no Embedding Partition; embedding won’t be possible.
    /usr/sbin/grub-bios-setup: warning: 无法嵌入。在此次安装中 GRUB 只能通过使用块列表安装。但是块列表是不可信赖的,不推荐使用。.
    /usr/sbin/grub-bios-setup:错误: blocklists are invalid.
    请问您能帮我下吗,我已经搜索了很多地方,都无法解决这个问题,之前grub-mkconfig也无法正常工作,不过在我删除了第一个分区之后这个命令正常了。
    我的安装命令是:
    sudo grub-install –force /dev/sda
    现在grub2始终无法安装,而grub 0.9的版本正常。

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *