编译 Unity 7.4.5 以修复 UI 缩放问题
前几天和北京的一个大牛逼人士吃饭,聊到了 Gnome shell 目前傻逼不傻逼的问题…………
我们的同一结论是:Gnome Shell 就是一个大傻逼。
这个“傻逼”不仅仅是傻逼在”Gnome Shell本身“,更多的是包括“Gnome Shell 的那群傻逼开发者们“。
Gnome Shell 从去年开始就说要支持 Fractional Scaling,非整数缩放,这个功能在去年的时候就已经开发的七七八八,就剩下最后的修正。原本说是要在 Gnome Shell 3.26 里推出,结果来不及,跳票到了 Gnome Shell 3.28。Gnome 的开发者们还非常牛逼的写博客说,自己的 Gnome 多么多么多么牛逼,什么功能都有, Fractional Scaling 也存在。
然而一年过去了,Gnome Shell 3.28 Beta 都要发布了,Fractional Scaling 特性还是没有影子。
是没有人开发嘛?当然不是啦!
https://gitlab.gnome.org/GNOME/mutter/merge_requests/3
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/5
一个多月了没有人 Merge 嘛……也没有人 Review,不知道开发者们在干嘛。
不过开发者们开发自己的 Gnome Recipe 是很快的,简直是有求必应,而在关键的 Feature 上就是扔在那里没人管。
你说 Gnome Shell 傻逼,它们说让你报 Bug,你报了 Bug,他们说没时间修,你自己写了 Patch 提交了 Merge Request,他们不审核不屌你……等到三四个月后终于屌你了,审核后说你变量名不好听。
有时候正好想起了前一阵 Deepin Linux 的项目 Leader 在 zhihu 说:国外 Linux 开发者压根不把用户当回事儿。
结果被高贵的开源厨鄙视了。但是很遗憾,他说的的确是实话。
目前唯一满足我需求的有 Fractional Scaling 的桌面发行版,只有 Unity 的 Ubuntu,顺便一提 KDE 虽然有,但是不支持不同显示器不同缩放,wayland 下倒是支持,只是只有 1X 和 2X。
但是最近 Ubuntu 更新后这个特性也有毛病了。
https://bugs.launchpad.net/ubuntu/+source/unity/+bug/1750273
大概就是 1.5 缩放会强制按照 2x 的缩放给你,这个问题我查了半天,是和这个更新有关:
https://code.launchpad.net/~azzar1/unity/round-gtk-scaling-to-closest-integer/+merge/313459
咋办咧?我决定自己编译代码,解决这个傻逼问题。
sudo apt-get build-dep unity
bzr branch lp:unity/7.4
cd unity
接着在目录里撤销那个 patch 的修改,重新编译,如果你有兴趣的话别忘了在 debian/changelog 里修改最高版本号,免得被覆盖。
sudo dpkg-buildpackage -us -uc
一开始我想着是不是应该自己编译安装一下,后来发现编译安装过程中,Unity 自己的那个 python 写的傻逼安装和测试脚本都一大堆错,然而我压根不想编译安装,还不如直接打包来的快。
最后安装编译好的 deb,logout login,问题解决。编译的话最好用 Ubuntu 16.04,抓取代码记得抓取 7.4 分支,因为 7.5 是针对 Ubuntu 17.10 和以上版本的。而且很遗憾的是 Unity 在 18.04 的环境下编译失败,似乎是和 GCC 版本太高有关系,不过失败的只是 Test 模块,不 Test 也能用,也有人在看这个问题了,希望能尽快解决。
今天看到 Gnome Shell 还要开 Release Party,不知道一个新版本屁特性都没有,只是划水划过去的破玩意有啥可 Party 的。初步决定在任何 DE 提供非整数缩放之前,我就一直用 Unity 环境算了。