はじめに
フリュー Advent Calendar 2023 の20日目担当の
ふりゅーぺんぎんです
今回は題名の通りHyprlandとWaybarを用い、良い感じのLinuxデスクトップ環境を作ってみようというものです
Linuxデスクトップ元年はとうの昔に過ぎ去っているので、当然ご存知かと思いますが、Linuxでは自由にデスクトップ環境を選択したり改造することができます
(UnixPornで検索したらカッコいいのが沢山でてくるよ)
KDE PlasmaやGnomeといったデスクトップ環境以外にもウィンドウマネージャ(i3wmやXmonadなど)という選択肢がありますが、厄介なことに近年はX Window SystemからWaylandへの過渡期であり、ウィンドウマネージャ使いは乗り換えをしなければならない季節です(i3->Sway等)
その中でHyprlandなるものを見つけたのですが、日本語の記事があんまりなかったので(特に難しいものでもないと思うのでそもそも必要ないかもしれませんが)、その辺りの情報を増やしたいなぁと思った次第です
検証の環境はManjaroです
インストール方法はArch Linux系以外は異なりますが、
それ以外についてはどのディストリでも共通だと思うので適宜汲み取っていただければと思います
ウィンドウマネージャについて
ここでは軽くウィンドウマネージャについて説明しますので、ご存知の方は飛ばしてください
デスクトップ環境は、ウィンドウマネージャだけでなくランチャーやステータスバー等様々な要素を含み、インストールするだけで不自由なくGUIでPCを操作できるようになります
対してウィンドウマネージャはその名の通りウィンドウを表示・操作する部分のみであり、必要に応じで他のパッケージを用いる必要があります
では何故ウィンドウマネージャを用いるかというと、
当然ロマンだ! デスクトップ環境に比べると軽量で、より自由に見た目や操作を変更できるという利点があるからです
他の方が計測してくださったりしています
https://qiita.com/teresapp/items/a7988ccbf15cff00328f
今回はWayland上で動くウィンドウマネージャの中でも、いい感じの見た目やアニメーションを持つHyprlandを試してみました
インスコ
OSのインストール方法は省略します
ググったら沢山良い感じの情報が出てくるはずです
ではまずウィンドウマネージャのインストールです
# ウィンドウマネージャのインストール
sudo pacman -S hyprland
ちなみにNvidia製GPUを利用している場合は通常のパッケージでは動かないようなので、AURのhyprland-nvidiaをご利用ください
次はステータスバーのインストール
# ステータスバーのインストール
sudo pacman -S waybar
ステータスバーとは、ソフトウェアのアイコンやランチャー、今日の日付等がある、だいたい一番上か下か左かにあるバーのことです(Windowsは下、Macが上、Ubuntuは左がデフォルト)
Waybar以外にも選択肢はあります
AURの方にwaybar-hyprland-gitというのが残っており、以前は通常のwaybarの方で問題があったようですが、現在は修正済みとのことで、公式リポジトリの方でも問題なく動きました
詳しくはこちらのコメントを参照されたい
https://aur.archlinux.org/packages/waybar-hyprland
# ランチャーのインストール
sudo pacman -S wofi
アプリケーションランチャーです
こちらからアプリケーションを選択して立ち上げます
これが無いと設定したキーバインドかターミナルくらいしか立ち上げる手段が無くなってしまいます
# WallpaperUtilityのインストール
sudo pacman -S hyprpaper
壁紙を変更するのに必要なものです
# ネットワークアプレットのインストール
sudo pacman -S network-manager-applet
ステータスバーに表示するネットワークのアプレットです
network managerをCLIやTUIで設定しても良いのですが、面倒なので入れておきます
# 通知機能のインストール
sudo pacman -S dunst
通知機能です
# スクショツールのインストール
sudo pacman -S hyprshot
スクリーンショット機能です
# ログアウトメニューのインストール(AUR)
yay -S wlogout
lock、logout、reboot、shutdown等があるログアウトメニューです
カスタマイズ
Hyprlandの設定
インストールを終えた後、一度ログアウトし、Hyprlandセッションでログインします
設定ファイルを書いていきます
Hyprlandの設定は保存時に適用されるので、簡単にトライ&エラーできます
# Hyprlandの設定ファイル
vim ~/.config/hypr/hyprland.conf
まず、ログイン時に「設定ファイルがデフォルトだよー」的な警告が出ると思うので、autogenerated = 1 という箇所を消します
この部分はデフォルトで生成されたということを表しており、これを消すことで警告が消えます
次に以下を追加します
これを書いておかないとWaylandに対応していないアプリケーションの表示がガビります
見えはしますが見づらくなるので推奨です
xwayland {
force_zero_scaling = true
}
先程インストールしたステータスバーを立ち上げるために、以下も追記しましょう
exec-once = waybar
network-manager-appletやdunstも起動できるようにしておきます
exec-once = nm-applet --indicator
exec-once = dunst &
あとはデフォルトにある設定をいじっていきます
inputはキーボードの設定です
US配列の場合はus、日本語配列の場合はjpをkb_layoutに入れます
input {
kb_layout = jp
...
}
他にもgeneral decoration animation dwinle master gesturesといった設定項目があります
この辺りはwikiのリンクもコメントで貼られているのでそちらを参照しながら自由にお書きください
最後にショートカットの設定です
$mainMod = SUPER
と書いてありますが、SUPERはWindowsキーのことを指します
bind = $mainMod, DISPATCHERS
となっているところがキーバインドです
bind = $mainMod, E, exec, dolphin
↑の場合はWindowsキー+Eキーでファイルマネージャであるdolphinを起動するという意味になります
もしWindowsキー+Controlキー+Eキーで同じことをしたい場合は
bind = $mainMod CTRL, E, exec, dolphin
のように書きます
アプリケーションランチャーであるwofiはデフォルトで用意されています
bind = $mainMod, R, exec, wofi --show drun
以下にDispatchersについての解説があります
他にもウィンドウのフォーカスやワークスペースの移動などもデフォルトで用意されていますが、ワークスペースの移動が面倒なので、以下のようにワークスペースを左右に切り替えされるキーバインドを用意しておくと良いと思います
bind = $mainMod CTRL, left, workspace, -1
bind = $mainMod CTRL, right, workspace, +1
Waybarの設定
Waybarの設定ファイルは以下の場所にあります
# wofiの設定ファイル
vim ~/.config/waybar/config
# wofiの見た目変更
vim ~/.config/waybar/style.css
こちらに関してはネット上に落ちているdotfilesを見て書くとよいと思います
(Unix系のOSにおいてユーザの設定は.config等隠しファイル内に書いたり書かれるので、一般的に設定ファイル全般をdotfilesと呼びます)
Hyprpaperの設定
Hyprpaperは壁紙を制御するツールです
まず hyprctl monitors でモニターの名前を取得します
その後、以下の設定ファイルを編集します
# Hyprpaperの設定ファイル
vim ~/.config/hypr/hyprpaper.conf
以下を追記します
preload = /path/to/image.png
wallpaper = MONITORNAME,/path/to/image.png
MONITORNAMEはモニター名、/path/to/image.pngは壁紙にしたい画像ファイルのパスです
wallpaperだけでなくpreloadも書いておかないといけないようです
もし複数のディスプレイがある時は↑の設定をディスプレイの数だけ書くと良いです
Wofiの設定
Wofiの設定ファイルは以下の場所にあります
# Wofiの設定ファイル
vim ~/.config/wofi/style.css
こちらもdotfilesを参考にどうぞ
見た目とか
こんな感じになりました
WaybarやWofiの設定はデフォルトのままで、特にいじってない状態です
なので統一感は皆無ですが、各々の見た目はかっこいいと思われます(主観)
壁紙は日本製Arch LinuxベースディストロのAlter Linuxから拝借しました
使用感としては、アニメーションがぬるぬるでなかなか良い感じです
とはいえ実用レベルまで持ってくるには設定ファイルを結構書かなければならないので、そこは時間とかもろもろ相談した上でどうぞ
デスクトップ環境の方は何も設定しなくても普通に動いてくれて優秀ですので、大人しくそちらを選択するのもありだと思います
最後に
いかがでしたか?なにもわかりませんでした!
カッコいい見た目のPCを皆に自慢して、Linuxユーザを増やそう!
参考
Hyprlandの公式サイト
https://hyprland.org/