Ubuntuのデスクトップ環境をCinnamonに変えた

昔からUbuntuではGNOMEを愛用していたのだけれど,Ubuntu18.04になってからGOME3になり,今まで慣れていたGNOMEとはだいぶ使い勝手が変わった.

GNOME3にも多少は慣れてきたのだけれど,慣れてもそこまで使いやすくなっていないことと,他のデスクトップ環境も試してみたかったので,Cinnamonを入れてみた.

基本的にGNOME2ベースのデスクトップが望ましい.これが一番慣れている. GTK+でもQtでもどちらでも良いとは思っている.

GNOME3の気に食わない点.

  • ウィンドウタイルを上下に配置できない
  • Nautilusからメニューバーが消えたことにより,ファイルやディレクトリの新規作成がNautilus上でできない
  • Nautilusの設定がわかりにくすぎる
  • 2パネルが標準になっているのが好きではない.アプリケーション一覧を別タイルに取られると画面領域が狭まる
  • アクティビティは全画面抑えられるし,ただのメニューでよかったのでは?
  • gnome-shellがたまにバグってハングする

他にも,様々な設定項目がどこで設定できるのかわからなかったり,そもそも設定項目自体が存在しなかったりするのだが,設定場所がわからないから何もわからないというのは随所で発生する.

移行候補

とりあえずカスタマイズ性を考えたら,Xfceがいいかと思って入れてみたのだが,イマイチ気に入る感じではなかった. KDE系は以前からそんなに好きではなかったので,あくまでGNOME2の派生で探した.

というわけでCinnamonを入れた.

Cinnamon

インストール

$ sudo apt-get install cinnamon

これだけでインストールできるので,あとは再起動すればログイン画面でデスクトップ環境の選択ができる.

パネルのカスタマイズ

パネルについては,上部に1つだけあれば十分である.

というわけでパネルは移動した.

デフォルトのパネルには,ワークスペースの一覧が表示されていなかったため,「パネルにアプレットを追加」から Workspace Switcher を追加した.

f:id:h3poteto:20190710230446p:plain

あとは細かく日付の設定くらい.

テーマ

Cinnamonはテーマを好きに変更できる. デフォルトのテーマだけだと面白味がないので,テーマを追加した.

設定のテーマからでも追加できるし,同じものが以下でも探せる.

https://cinnamon-spices.linuxmint.com/themes

俺は,Adapta-Nokto を入れた.

ただし,デスクトップテーマをAdapta-Noktoにしただけでは,Nemo等の配色は変更されない. これらは,コントロール部分のテーマをカスタマイズする必要がある.

Adapta-Noktoはデフォルトでこのコントロール部分のテーマを付随しているのだが,さらに豊富なカラーバリエーションをダウンロードできる. gnome-lookあたりで,GTK3 Themes をインストールすることで導入可能だ.

Adaptaはかなり多くのカラーテーマを用意してくれていた.

https://www.gnome-look.org/p/1190851/

これを解凍し ~/.themes 配下に配置すると,テーマから選択できるようになる(debをインストールしても良い).

IME

LinuxIMEで苦労することが多い.最近はだいぶ楽になりつつあるが,それでも今回は少しハマった.

まず,Cinnamonを起動した時点で日本語入力は不可能だった.これはibus-mozcのデーモンプロセスが立ち上がっていないためである. というわけで,Startup Applicationsに,ibus-daemon を追加する. これを起動しておくとひとまずiBusが動くのでMozcに切り替えれば日本語入力可能だ.

f:id:h3poteto:20190710230834p:plain

ただし,これをやった時点ではEmacs上での日本語入力が不可能になっていた. ターミナルやFireFox上では問題なくMozcの日本語入力ができていたのだが.

Emacsの場合,ibus-mozc側をなんとかしてもいいのだが,Emacs自体がemacs-mozcというのを配布している. これを入れてしまえば,iBusに頼らずにEmacs上だけでMozcによる日本語入力が可能となる.

まず,emacs-mozc-bin を入れる必要がある.

$ sudo apt-get install emacs-mozc-bin

そして,Emacs側でmozcをインストールする.配布元が少し特殊だった.

(el-get-bundle mozc
  :type http
  :url "https://raw.githubusercontent.com/google/mozc/master/src/unix/emacs/mozc.el")
(el-get-bundle d5884/mozc-popup)

mozc-popupは,Mozcの変換候補をポップアップで表示するために入れた.

;;; mozc
(use-package mozc
  :config
  (set-language-environment "Japanese")           ; 言語環境を"japanese"に
  (setq default-input-method "japanese-mozc")     ; IMEをjapanes-mozcに
  (prefer-coding-system 'utf-8)                   ; デフォルトの文字コードをUTF-8
  )

(use-package mozc-popup
  :config
(setq mozc-candidate-style 'popup))

これで無事Emacs上で日本語入力ができるようになった.

f:id:h3poteto:20190710230749p:plain

Albert

ランチャーにAlbertを使っていたが,Cinnamonを入れた時点でAlbertが動かなくなっていた.一度インストールし直すことで,無事動くようになっている.

$ sudo apt-get  remove --purge albert
$ sudo add-apt-repository ppa:nilarimogard/webupd8
$ sudo apt-get update
$ sudo apt-get install albert

スクリーンショット

まさかここで躓くとは思っていなかったのだが,スクリーンショットをうまいこと取れない. 特に領域選択のスクリーンショットが発動しない.

syslogを見たところ,

Unable to select area using GNOME Shell's builtin screenshot interface, resorting to fallback X11.
Unable to use GNOME Shell's builtin screenshot interface, resorting to fallback X11
gdk_pixbuf_get_from_surface: assertion 'width > 0 && height > 0' failed
gtk_window_resize: assertion 'width > 0' failed
Unable to capture a screenshot of any window

というようなログが出ていることがわかった.

どうやらGNOME Shellに付属しているscreenshotコマンドが発動できない様子. しかし,ターミナルで,

$ gonme-screenshot -a

とやると問題なく動作する.

どうやら原因はこれっぽいことが判明した.

github.com

カスタムショートカットで, sh -c 'sleep 0.125; gnome-screenshot -a' を範囲選択スクリーンショットとして登録してやれば良い.

これで無事スクリーンショットが動くようになった.

LightDM

gnome-shellのバグの件は,おそらくここだろうというアタリはついている.

bugs.launchpad.net

ただし,どうせCinnamonに移行したことだし,いっそのこともうディスプレイマネージャもlightdmにしてしまえば,gnome-shell関連のバグを引くこともないだろうと考えた.

それにもともとUbuntuはlightdmなわけで,lightdmの方が好みだ.

というわけで入れていく.

$ sudo apt install lightdm

これで,ディスプレイマネージャ選択の画面が出るので,lightdmを選んでおく.

あとは再起動すればいい.

ついでに,GreeterもLinux Mintと同じくSlick Greeterにしておきたい.

$ sudo apt install lightdm-settings slick-greeter

で,設定を書いておく.

$ sudo emacs /etc/lightdm/lightdm.conf
[Seat:*]
greeter-session=slick-greeter

こんなのを書いておく.

これで無事ログイン画面からSlick Greeterになる.

ちなみに,Ubuntu18.04がlightdmではなくgdm3になった経緯はこちらが詳しい.

kledgeb.blogspot.com

全体的な使用感

見た目は非常に良い. emacs-mozcも快適だ.

f:id:h3poteto:20190710231008p:plain

ウィンドウタイルも移動しやすいし,GNOME2の頃のように設定は変更しやすい. メニューはカテゴリ分けされているし,パネルは1段だし,ほぼ最高のデスクトップになった.

GPUにマトモなGeForceを積んでいるのでハードウェアアクセラレーションが入っているCinnamonであっても,軽量に動作している.

ただし,ログイン時だけ少しもたつく.一度背景画像が表示され,真っ暗になってからデスクトップが表示される.

というか,ここまでCinnamon+lightdmにしてしまうなら,いっそ最初からLinux Mint入れればよかったんじゃないか……と真面目に思い始めてしまった. 次はMintにするかも.