先月の記事ではGNOMEをインストールしましたが、KDE 5 Plasmaデスクトップの方が見た目も操作感も好みだったので変更しました。WebブラウザとターミナルとPlan 9ツールの利用が主な使い方なので、どれを使ってもそんなに変わらないのですが。
やったこと
まず必要なパッケージを追加します。Waylandバックエンドを使うのでplasma-wayland-sessionも入れておきます。plasma-metaはメタパッケージといって複数のパッケージがまとまったものです。
$ sudo pacman -S plasma-meta sddm plasma-wayland-session # 入ってなければ入れる $ sudo pacman -S noto-fonts noto-fonts-cjk
KDEアプリケーションはこれだけ入れました。kde-applicationsはパッケージグループで、こちらも複数のパッケージをまとめたものです。
$ pacman -Qge kde-applications kde-applications ark kde-applications dolphin kde-applications gwenview kde-applications kcalc kde-applications konsole kde-applications ksystemlog kde-applications okular
pacmanのメタパッケージとパッケージグループ
上でみたように、パッケージグループとメタパッケージはどちらも複数のパッケージをまとめるものですが、利用方法は全然別のものです。
パッケージグループ
pacman -g
フラグでグループの絞り込みができる- パッケージグループをインストールする時に必要なパッケージを選択できる
- 選択したパッケージは明示的インストールとして扱う
- グループに新しい依存パッケージが追加されても追従しない
メタパッケージ
- パッケージ名に-metaが付く(全てではないらしい)
- メタパッケージをインストールする時はパッケージの選択はできない
- メタパッケージを明示的インストールとして、個別のパッケージは依存パッケージとして扱う
- メタパッケージに新しい依存が増えた場合、メタパッケージをアップデートするとインストールされる
SDDM
ログイン画面でSDDMを使うようにします。どのディスプレイマネージャを使うのかについては、/etc/systemd/system/display-manager.serviceがシンボリックリンクになっていて、SDDMの場合は参照先が/usr/lib/systemd/system/sddm.serviceとなります。必ず1つしか有効にできないので、GDMは無効にします。
$ sudo systemctl disable gdm.service $ sudo systemctl enable sddm.service
/etc/sddm.conf.d/uid.conf
SDDMはデフォルトにより、UIDが60000以上のユーザを扱いません。だけどもsystemd-homedでユーザを管理している場合、UIDは60000より大きな値が使われるので、SDDMにユーザが表示されずログインできません。なのでUIDの最大値を変更します。
[Users] MaximumUid=60350
/etc/sddm.conf.d/hidpi.conf
12インチMacBookはRetinaディスプレイなので、HiDPIオプションも有効にしておきます。
[Wayland] EnableHiDPI=true [X11] EnableHiDPI=true
Firefox
WaylandバックエンドのPlasmaデスクトップでは、FirefoxはXWaylandで動作するようですが、HiDPIディスプレイで使うと全体的にぼやけたり滲んだりといった表示になります*1。FirefoxはWaylandに対応しているので、環境変数で切り替えましょう。
~/.pam_environment
2022年10月追記 今だとhomectlで設定するほうが良いようです。
$ homectl inspect lufia
...
Environment: GTK_IM_MODULE=ibus
QT_IM_MODULE=ibus
XMODIFIERS=@im=ibus
...
$ homectl update lufia --setenv 'MOZ_ENABLE_WAYLAND=1' --setenv GTK_IM_MODULE=ibus ... (過去に設定した値も全部書く)
.pam_environmentを使う場合はここから。
+MOZ_ENABLE_WAYLAND DEFAULT=1
ところで、このファイルはpam_envによるものみたいですね。マニュアルはpam_envにありました。
ショートカットキー
Plasmaデスクトップの場合でも、GTKベースアプリケーションはgsettings(dconf)の設定を参照します。Firefoxも同様なので、以下の設定は必要です。
$ gsettings set org.gnome.desktop.interface gtk-key-theme Emacs
IBus
GNOMEの場合は何もしなくてもIBusを使えていましたが、KDEでは自分で書いてあげる必要があるようです。~/.config/autostart以下に設定を作ります。
~/.config/autostart/ibus-daemon.desktop
[Desktop Entry] Type=Application Name=IBus Daemon Exec=ibus-daemon -drx --panel=/usr/lib/kimpanel-ibus-panel
~/.config以下にはautostart-scriptsディレクトリもあります。autostartは拡張子.desktopなiniファイルを管理する場所で、autostart-scriptsはシェルスクリプトなどを管理するために使うようです。
KDEシステム設定
基本的にはデフォルトのまま使って慣れる派ですが、どうしても無理なものをシステム設定で変更しました。変更した箇所だけ列挙。
- キーボードの設定でCapsLockをControlに置き替え
- キーボード→詳細→Ctrl position/Caps LockをCtrlとして扱う
- トラックパッドをいつも通りに設定
- タップしてクリック
- タップしてドラッグ
- Tap-and-drag lock
- スクロールの方向を反転(自然なスクロール)
ショートカット→KRunner/KRunnerで、KRunner*2の開始をCtrl+Spaceでもできるようにしようかと思ったけど、これは慣れの問題なのでAlt+Spaceのまま使うことにしました。
気になりメモ
WaylandバックエンドでPlasmaデスクトップを使う場合、スリープからの復帰や外部ディスプレイ接続などで突然クラッシュすることがあります。Waylandでの不具合などは以下でまとめられています。
GNOME関連のパッケージをアンインストールしてもgsettings list-schemas
で確認するとorg.gnome.*
なスキーマが残っています。これらのスキーマはgsettings-desktop-schemasによって追加されたもので、このパッケージはphonon-qt5-gstreamerやgtk3などが依存しているようでした。
*1:どうして滲むのかはHiDPI support in Chromiumで説明されていました