• 作成:

gnome-shellを使うのをやめた

1年前ぐらいからxmonadからgnome-shellに移行して, 気に入って使っていた.

しかしディスプレイマネージャでxmonadを起動 - ncaqでわかるように, 私はxmonadに戻って, gnome-shellを使うのをやめた.

使うのをやめる機会に, gnome-shellについてレビューする.

gnome-shellの良い点

gnome-shellは言われているほど悪くない

gnome-shellは自分の周りではよくボロクソに言われていると感じる.

特に日本ではその傾向が強く, それがcinnamonへの逃げに繋がり, linux mintの日本での高い人気にも繋がっている.

しかし, gnome-shellは言われているほど悪くない.

評判が悪い理由は,

  • 既存のデスクトップ環境(要するにwindowsのことだ)と似通ってない
  • 重い

せいであると考えている.

日本で特に評判が悪いのは,

  • 日本のwindows人気と保守性
  • 日本のラップトップPCがアメリカのものと比べて貧弱である

せいであると考えている.

gnome-shellの拡張性は低くなくむしろトップクラスに高い

gnome-shellの拡張性は低いとよく言われていると感じる.

しかし, それはGUI上でボタンなどで設定できるレイヤーにおいての話であって, gnome-shell本来の拡張性はむしろ高いのである.

gnome-shellはweb技術で構築されている

何故ならば, gnome-shellは以下の技術を使って, xmlとcssとjsを動かしているからである.

gjsはSpiderMonkey | MDNにgnome用の拡張をしたものである.

このweb技術を使うことにより, gnome-shellではまるでブラウザのようにインスペクタを使うことができ, デバッガでは好きなjsを実行することが出来る.

実際に私もgnome-shellのxmlをテキストエディタでインストールした後に編集して, 気に入らないレイアウトを編集したことがある.

また, gnome-shellには拡張機能をインストールすることができる. そう, まるでfirefoxのように!

firefoxもxmlとcssとjsで自身を構築していることを考えると, この2つは非常に似通っていると思える.

GNOME Shell Extensionsを閲覧すれば, たくさんの拡張機能があり, それらが非常にコアな部分も改変することができていることがわかるだろう.

gnome-shellには独自のショートカット機能がある

gnome-shellには独自のショートカットという設定項目があり, ここに書き込んだ文字列はコマンドとして実行される.

設定のスクリーンショット

つまりシェルスクリプトを書けば, 拡張機能を書かずとも手軽に好きな挙動をキーバインドに割り当てることが出来るのである.

私はncaq/run-or-raise: focus or exec command script for generic window managerというシェルスクリプトを書き, xmonadのrunOrRaise関数を移植していた.

gnome-shellはCPUリソースはそんなに使わない

gnome-shellはちゃんとGPUによるアクセラレーションを使うため, 最近のハードウェアを使えばCPUリソースはそこまで使わない.

「重い重い」と言っている人はおそらくvirtualboxなどのGPUを使えない環境で使っていると思われる.

virtualboxでGNU/Linuxデスクトップを使うのは苦行だからやめよう.

gnome-shellの悪い点

メモリを使う

gnome-shellはメモリをたくさん使う. 自分の環境では最低500MBは余裕で使っていた.

webkitとspiderMonkeyを使っているのだから, ブラウザをもう1つ起動しているのと同じぐらいメモリを食うのは当然ではある.

エラーメッセージを大量に出す

jsを使っているせいか, 謎のエラーメッセージをたくさん出す.

クラッシュしたりはしないのだが, 無意味なエラーメッセージでjournalが埋まってしまい, エラーメッセージの可読性が下がってしまった.

原因は調べても不明だった.

拡張機能が不安定

gnome-shellは拡張機能で自由に拡張できるのだが, firefoxと同じく肝心の拡張機能がバージョンアップで動かなくなったり, 環境が少し違うだけで動かなくなってしまう.

自分で拡張機能を作ってみようと思い, 挑戦してみたりしたが, 公式サイトに載っているサンプルコードが動かなくて断念した.

emacs 25がバグった

emacs 25が安定版になったのでアップデートしたら, ウインドウ周りに手が加えられた影響か, 最大化すると正常に表示がされなくなってしまった.

解決方法を探しても良かったが, もうこのころにはxmonadに戻ることを決めていたので, しばらくemacs-24のままやり過ごして, xmonadに帰還した.

結論

非伝統的なUIに慣れれば悪くはないけれど, カスタマイズ厨には満足できなかった.

細かいことにこだわらないならば良いのではないだろうか.