Linuxを日常的に使う実験ブログ

Void LinuxでWaylandコンポジタhikariを使ってみる(カスタマイズ編)

 2022-09-18

 2024-02-22

 Void Linux

こんにちは。今回のテーマは「Void LinuxでWaylandコンポジタhikariを使ってみる(導入編)」です。Void LinuxでWaylandコンポジタhikariを使ってみる(導入編)で構築してきたVoid Linux + hikari環境をより実用的な使用に耐えうる状態にカスタマイズしていきます。一般的な初心者向けディストリビューションのデスクトップ環境同等の環境を目指していきます。

今回構築する環境

まずは今回構築する環境をざっと見ていきましょう。現在はVoid Linuxにhikariを導入したばかりという前提です。この環境をカスタマイズして実用に耐えられる環境を作っていきます。具体的には以下の機能を有するデスクトップ環境を目指します。

  • 日本語の表示/入力ができる
  • 好みの壁紙が使用できる
  • デスクトップへの通知が表示可能
  • モダンなステータスバー
  • Pulseaudioによる音声制御
  • 使いやすいランチャー
  • PrintScreenキーでスクリーンショットが撮れる
  • GUIでパッケージ操作ができる

オフィススイートやウェブブラウザ等のツールはお好みで導入していただければと思います。

例1

例1

例2

例2

日本語環境の構築

日本語環境の構築は本ブログのVoid Linux + hikari環境に日本語環境を構築するを参考に環境を構築してみてください。

壁紙の変更

壁紙の変更はhikariの設定ファイルを編集することで行えます。画像に使用できるのはPNG形式の画像のみですのでご注意ください。 ~/.config/hikari/hikari.conf

... 中略

outputs {
  "*" {
    background = {
      path = "/path/to/image.png"
      fit = stretch
    }
  }
}

fitの設定値は_strech_,center,_tile_で、デフォルトではstrechになっています。

Pulseaudioの導入

Pulseaudioを導入してGUIのコントローラであるpavucontrolにて音量調整できるようにします。必要なパッケージを以下コマンドで導入します。

sudo xbps-install pulseaudio pavucontrol

pulseaudioは必要に応じて自動起動されるためサービスの登録は不要のようです(参考)。音量のコントロールはランチャーからpavucontrolを起動するか、waybarのpulseaudioの部分をクリックして起動してください。waybarに関しては次の項で扱います。

waybarの導入

hikariにはステータスバーはありませんので手動で好みのステータスバーを導入する必要があります。今回はWaylandネイティブ環境で動作するWaybarを導入します。Waybarは設定ファイルとCSSによって細かくカスタマイズできることで知られており、インターネット上にも数多くの設定例がUPされています。ぜひ自分好みのカスタマイズをしてみてください。 導入例は以下の通りです。

sudo xbps-install waybar font-awesome5

まず、デフォルトの設定ファイルをコピーして用意しましょう。

mkdir -p ~/.config/waybar/
cp /etc/xdg/waybar/* ~/.config/waybar/

今回はfosskers/dotfilesを参考に設定ファイルおよびCSSを編集しました。尚、アイコンフォントを表示するためにfontawesomeを導入しておく必要があるのでご注意ください。筆者はXBPSよりfont-awesome5を導入しました。 自動起動させるために~/.config/hikari/autostartにwaybarを追加します。 ~/.config/hikari/autostart

...省略

waybar &

...省略

これでhikari起動時にwaybarが自動起動するようになります。

ランチャーの変更

ランチャーをbemenuからfuzzelに変更しましょう。fuzzelはwlrootsベースのWaylandコンポジタ向けのランチャーです。rofiのdrunモードのような使い心地を提供してくれます。

sudo xbps-install fuzzel

hikariの設定ファイルを編集します。 ~/.config/hikari/hikari.conf

... 中略

actions {
  terminal = "foot"
  launcher = "fuzzel"
}

bindings {
  keyboard {
    ... 省略

    "L+return" = action-terminal
    "A+p" = action-launcher

    ... 省略
  }
}

この設定でAlt + pを押すとfuzzelが起動します。

fuzzel

fuzzel

コピー&ペースト関連の設定

基本的にはhikari導入時からコピー&ペースト機能は使えますので、特別パッケージの導入は不要と感じていますが、心配な場合はwl-clipbordの導入をオススメします。

スクリーンショット

ここではgrimを導入することにします。hiakriの設定ファイルでgrimで撮ったスクリーンショットを~/Picturesに保存するように設定します。またPrintScreenキーで画面キャプチャを取れるように設定します。

sudo xbps-install grim

~/.config/hikari/hikari.conf

... 中略

actions {
  terminal = "foot"
  launcher = "fuzzel"
  screenshot = "grim ~/Pictures/ss_`data +%Y%m%d-%H%M%S`.png"
}

bindings {
  keyboard {
    ... 省略

    "L+return" = action-terminal
    "LS+m" = action-launcher
    "0+Print" = action-screenshot

    ... 省略
  }
}

スクリーンショットの画像ファイルの命名規則等は筆者の趣味で日付を用いていますが、適宜変更してください。

画面ロック

hikariには画面ロック機能がついていますので、アプリケーションを導入する必要はありません。デフォルトのキーバインドではSuper(Logo) + Shift + lキーで画面がロックされます。ユーザーパスワードでロックが解除されます。

通知

Makoを導入します。

sudo xbps-install grim

hikari起動時に自動起動するように~/.config/hikari/autostartに設定します。 ~/.config/hikari/autostart

...省略

mako &

hikariを再起動してMakoが動作しているかテストしてみましょう。端末で以下コマンドを打ちます。

notify-send "TEST" "This is just test message"

正直文言は何でも良いのですが、送信した文言が通知に出ればOKです。

mako

mako

XBPSのGUIフロントエンドの導入

Void LinuxのパッケージマネージメントシステムであるXBPSですが、QtベースのGUIフロントエンドがあります。これを導入することでGUIでパッケージのインストールや削除などができるようになります。また、ノーティフィケーションをシステムトレイに常駐させることでアップデートが必要なパッケージの有無などの通知が出るようになります。

sudo xbps-install octoxbps

octoxbpsの通知を常駐させるためには~/.config/hikari/autostartを編集しましょう。 ~/.config/hikari/autostart

...省略

xbps-notifier &

...省略

これでhikari起動時にwaybarのシステムトレイにoctoxbpsのアイコンが表示されます。

octoxbps

octoxbps

便利なアプリケーションの導入

必要に応じて使用するアプリケーションをインストールしておきましょう。以下に一般的によく使うと思われるアプリケーションの一例を挙げてみました。以下に挙げたアプリケーションはWaylandネイティブではないものもありますが、xorg-waylandによってwayland環境でも利用できます。

  • firefox : WEBブラウザ(環境変数MOD_ENABLE_WAYLAND=1で起動させる)
  • pcmanfm : ファイルマネージャ
  • audacious : 音楽プレーヤー
  • evince : PDFビューア
  • mirage : 画像ビューア

最後に

ここまでやや駆け足でしたが、導入したばかりのVoid Linux + hikariに実用的な環境を構築してきました。まだまだ足りない部分もあるかと思いますが、環境構築の一助になれば幸いです。