Arch Linux + Hyprlandの環境整備
paru
のインストール
AURヘルパー
paru
の導入
AURのページにあるPKGBUILDをダウンロードし、makepkg -sic
を実行するとインストールできる。
以降、パッケージのインストールは paru
を使う。
cd "(mktemp -d)"
curl -sL "https://aur.archlinux.org/cgit/aur.git/plain/PKGBUILD?h=paru"
makepkg -sic
補足
makepkg はArch Linuxのパッケージをビルドするためのツールであり、pacmanパッケージの中に同梱されている。
上記で使ったオプションの意味は次の通り。
-
-s
,--syncdeps
: 依存パッケージをインストールする。 -
-i
,--install
: ビルドしたパッケージをインストールする。 -
-c
,--clean
: パッケージをビルドした後、残ったファイルをクリーンアップする。
詳しくはArch Wikiを参照。
Hyprlandの基本設定
設定ファイルの編集
Hyprlandの設定ファイルは ~/.config/hypr/hyprland.conf
にある。
設定に使われるキーワードの一覧は公式ドキュメントのここにある。
キーバインド
メインのモディファイアキーは規定では SUPER
(いわゆるWindows)キーになっている。
左Altキーに変更する場合は次のようにする。
$mainMod = LALT
キーバインドは次のような構文になっている。値にはたとえば $mainMod
のような変数を使うことができる。
bind = MODS, key, dispatcher, params
設定例:
$terminal = wezterm
$fileManager = thunar
bind = $mainMod, T, exec, $terminal
bind = $mainMod, RETURN, exec, $terminal
bind = $mainMod, Q, killactive,
bind = $mainMod CTRL, Q, exit,
bind = $mainMod, E, exec, $fileManager
アプリケーションランチャー(rofi-wayland)
rofi-wayland をインストールする。
paru -S rofi-wayland
rofi-wayland(rofi
)は次のようなコマンドで起動する。-modi
は表示するモード -show
は起動時に表示するモード
rofi -modi drun,run -show drun # アプリケーションランチャーとして動作させる
rofi -modi window -show window # ウィンドウスイッチャーとして動作させる
hyprland.conf
でキーバインドをセットすることでキーボード操作のみで素早くアプリケーションの起動やウィンドウの切り替えができる。
$launcher = rofi -modi drun,run -show drun
$windowSwitcher = rofi -modi window -show window
bind = $mainMod, SPACE, exec, $launcher
bind = $mainMod, TAB, exec $windowSwitcher
日本語入力(fcitx5 + mozc)
日本語入力システムとして、fcitx5 をインストールする。
fcitx5-im
はグループパッケージになっており、GTK/Qtをサポートするためのモジュール(fcitx5-gtk
/fcitx5-qt
)とGUIの設定ツール(fcitx5-configtool
)が同梱されている。
paru -S fcitx5-im fcitx5-mozc
次に fcitx5-configtool
を起動し、インプットメソッドの一覧からmozcを選び追加する。
fcitx5をHyprlandの起動時に自動起動するよう、hyprland.conf
に次の行を追加する。
exec-once=fcitx5-remote -r # 設定をリロードする
exec-once=fcitx5 -d --replace # fcitx5をバックグラウンドで起動する
キーボードの調整
hyprland.conf
を次のように編集する。
input {
repeat_delay = 140 # リピート遅延時間
repeat_rate = 50 # リピートレート
kb_layout = us # キーボードレイアウト
#kb_variant =
#kb_model =
#kb_options =
#kb_rules =
follow_mouse = 1
touchpad {
natural_scroll = yes
}
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
}
GTK/Qtやカーソルのテーマ
テーマの選定
各種テーマはPlingのサイトから見つけることができる。
次のテーマがカッコよくておすすめ。
GTK
Xorg環境でのGTKテーマ設定方法
GTKの設定ファイル ~/.config/gtk-3.0/settings.ini
や ~/.gtkrc-2.0
などをGUIで変更するには、
i3wmなどのXorg環境では lxappearanceを使う方法があった。
GUIでテーマの設定を行い、GTKの設定ファイル内の値を自動で読み込ませる(nwg-look + gsettings)
一方、HyprlandではWaylandネイティブで動く nwg-lookというツールを使うことができる。ただし、設定を変更しただけではHyprlandの環境に読み込まれないため、GNOMEの gsettings というコマンドライン設定ツールを使ってセットした値を読み込ませる。
gsettings set org.gnome.desktop.interface gtk-theme <gtk-theme>
gsettings set org.gnome.desktop.interface icon-theme <icon-theme>
gsettings set org.gnome.desktop.interface cursor-theme <cursor-theme>
gsettings set org.gnome.desktop.interface font-name <font-name>
Hyprlandの起動時に自動でテーマを読み込む
settings.ini
の内容をgssettingsに渡すスクリプトを作り、Hyprlandの起動時にそれを読み込ませる方法がSway Wikiにあったため紹介する。
まず、nwg-lookとGTKに対応したテーマやアイコン等をインストールしてnwg-lookを使って好みのテーマをセットする。
paru -S nwg-look
paru -S kali-themes papirus-icon-theme matcha-gtk-theme
次に、下記ようなスクリプトを作り、hyprland.conf
からこれを呼び出すように構成する。
#!/bin/sh
#
# init-gtk.sh
#
config="${XDG_CONFIG_HOME:-$HOME/.config}/gtk-3.0/settings.ini"
if [ ! -f "$config" ]; then
echo "GTK config file not exists: ${config}" 1>&2
exit 1
fi
gnome_schema="org.gnome.desktop.interface"
gtk_theme="$(grep -F 'gtk-theme-name' "${config}" | sed 's/.*\s*=\s*//')"
icon_theme="$(grep -F 'gtk-icon-theme-name' "${config}" | sed 's/.*\s*=\s*//')"
cursor_theme="$(grep -F 'gtk-cursor-theme-name' "${config}" | sed 's/.*\s*=\s*//')"
font_name="$(grep -F 'gtk-font-name' "${config}" | sed 's/.*\s*=\s*//')"
gsettings set "${gnome_schema}" gtk-theme "$gtk_theme"
gsettings set "${gnome_schema}" icon-theme "$icon_theme"
gsettings set "${gnome_schema}" cursor-theme "$cursor_theme"
gsettings set "${gnome_schema}" font-name "$font_name"
#
# hyprland.conf
#
exec = "${XDG_CONFIG_HOME:-${HOME}/.config}/hypr/init-gtk.sh"
Qt
Qtの構成ツールとしてQt5ct, Qt6ct, Kvantum, Kvantum Qt5およびQtに対応したテーマをインストールする。
paru -S qt5ct qt6ct kvantum kvantum-qt5
paru -S kvantum-theme-matchama
Kvantumでテーマを選択し、Qt5ct, Qt6ctにてStyleを「kvantum-dark」に、Standard dialogsを「GTK3」にセットすることで統一感のある見た目になる。
カーソルテーマ
hyprcursor をインストールして、hyprland.conf
に次の内容を追加する。
paru -S hyprcursor
env = HYPRCURSOR_THEME, Qogir Cursors
env = HYPRCURSOR_SIZE, 24
Polkitと認証エージェント
特権の必要なGUIアプリケーション(例えばパーティショニングツールのGpartedやファイヤウォール構成ツールであるfirewall-configなど)を起動するにはPolkitとその認証エージェントが必要となる。今回は認証エージェントとして polkit-gnome
を使う。
Polkitと認証エージェントをインストール後、polkit.service
を有効化・開始し、hyprland.conf
にて認証エージェントを自動起動するように構成する。アプリケーションの起動時にパスワードの入力を促すダイアログが出ればOK。
paru -S polkit polkit-gnome
systemctl enable --now polkit.service
# Polkit Agent
exec-once=/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
ファイルマネージャ(Thunar)
ファイル操作は専らシェルでやるかkamiyaa/joshutoやgokechan/lfなどのTUIツールを使っているが、GUIのファイルマネージャもときどき必要になるので入れておく。
GUIのファイルマネージャにはLXDEのPCManFMや KDEのDolphin、GNOMEのNautilusなどがあるが、XFCEのThunarがシンプルで使い勝手がよく気に入っている。
Thunarのインストール
Thunarと、必要であればそのプラグインをインストールする。
paru -S thunar thunar-archive-plugin thunar-media-tags-plugin thunar-volman
GVfs
ローカルのストレージやリモートサーバー、クラウドストレージなどのリソースにアクセスする際はGVfsというGNOMEの仮想ファイルシステムがよく使われる。GVfsはユーザー空間で動作するため、特権を必要とせずにいろいろなリソースをローカルのストレージと同じように統合された方法でアクセスすることができる。
NTFSでフォーマットされたドライブにアクセスする
ntfs-3g
をインストールする。
Windowsの共有フォルダ(SMB/CIFS)にアクセスする
gvfs-smb
パッケージをインストールして、アドレスバーに次のURIを入力することでアクセスできる。
smb://サーバー名またはIPアドレス/共有フォルダ名
Android端末等のファイルシステムにアクセスする(MTP)
Android端末等とUSB経由でファイルをやりとりするにはMTP: Media Transfer Protocolというプロトコルが使われる。 gvfs-mtp
パッケージをインストールし端末とPCを接続後、端末の通知から「ファイル転送」を選択するとThunarから端末のファイルシステムにアクセスすることができる。