Unity 7.4.5 をコンパイルして UI スケーリング問題を修正する

広告

先日、北京のすごい人と飯を食って、Gnome Shell がいま現在クソかどうかという話になった…………

二人の結論は同じだった。Gnome Shell はクソである。

広告

この「クソ」は「Gnome Shell そのもの」だけじゃなくて、どちらかというと「Gnome Shell のクソ開発者ども」を含めての話だ。

DW9VEVFV4AAb25H.jpg:large.jpeg

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 のプロジェクトリーダーが Yahoo!知恵袋で「海外の 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 で書かれたクソインストール・テストスクリプトがエラーだらけになることが分かった。コンパイル・インストールなんてしたくない。パッケージ化したほうがよっぽど速い。

选区_008.png

最後にビルドした deb をインストールして logout login、問題解決。コンパイルするなら Ubuntu 16.04 がいい。コードは 7.4 ブランチを取ること。7.5 は Ubuntu 17.10 以降向けだから。それに残念ながら Unity は 18.04 環境ではコンパイルに失敗する。GCC のバージョンが高すぎるのが原因らしい。ただ失敗するのは Test モジュールだけで、Test しなくても使える。この問題も誰かが見ているので、早く解決してほしい。

选区_009.png

今日見たら Gnome Shell は Release Party まで開くらしい。新バージョンにこれといった新機能もなく、ただサボってやり過ごしただけのクソのどこが Party なのか。とりあえずどの DE が非整数スケーリングを提供するまでは、Unity 環境を使い続けることにする。

本家 plumz.me でこの記事にコメントする

コメントは中国語の本家サイトで受け付けています。このミラーは閲覧専用です。

目次