Hyprland

提供: ArchWiki
2023年12月31日 (日) 20:49時点におけるKgx (トーク | 投稿記録)による版 (→‎メディアキー: リンクを修正)
ナビゲーションに移動 検索に移動

関連記事

Hyprland は C++ で書かれた wlroots ベースのタイリング Wayland コンポジターです。Hyprland の特筆すべき点は、ダイナミックタイリング、タブ付きウィンドウ、クリーンで読みやすい C++ コードベース、ウィンドウアニメーションや角丸、透明ウィンドウでの Dual-Kawase Blur を提供するカスタムレンダラーなどです。一般的な使い方や設定方法は、 Hyprland Wiki に詳しく書かれています。

インストール

次のいずれかをインストールします:

  • hyprland - 最新のアップストリームリリース。
  • hyprland-gitAUR - master ブランチへの最新のコミット。
  • hyprland-nvidiaAUR - NVIDIA GPU パッチを含む最新のアップストリームリリース。

Hyprland は、wlroots-gitAUR に厳密に従う独自のバージョンの wlroots をバンドルしています。これにより、安定性が向上すると同時に、他の wlroots ベースのコンポジターとの依存関係の競合も回避されます。

ノート:
  • NVIDIA GPU ユーザーは、Hyprland を起動する前に、upstream Wiki のNVIDIA専用ページにも必ず従ってください。これを怠ると、ログインできない、ウィンドウが点滅する、CPU使用率が高いなど、多くのバグが発生する可能性があります。
  • Hyprland での NVIDIA GPU の使用はサポートされていません。問題が起きても全て自己責任でお願いします。

設定

ノート: リストされているオプションのほとんど (およびその他) は、Wiki の変数ページで詳しく説明されています。

設定は 1 つの設定ファイル、hyprland.conf を通して行われます。パッケージマネージャで Hyprland をインストールした場合、おそらく /usr/share/hyprland/hyprland.conf にあります。ソースからインストールした場合は、Hyprland をクローンしたレポジトリにあります。hyprland.conf を ~/.config/hypr/hyprland.conf にコピーしてください。

hyprland.conf には、デバイス (モニタ、キーボード、マウス、トラックパッド) を設定するディレクティブと、アニメーション、装飾、レイアウトなどの設定が含まれています。キーバインディングやウィンドウのルールを設定したり、コマンドを実行したりできます (一度だけ、あるいはコンフィグが再読み込みされるたびに)

ファイルを更新するたびに設定が自動的にリロードされます。同じ効果を得るために hyprctl reload を使うこともできます。いくつかの設定(特に入力設定)については、Hyprland セッションを再起動する必要があるかもしれません。

設定は hyprctl を使用してその場で変更することもできますが、保存されません。

キーボード

キーマップ

デフォルトでは、Hyprland は US Qwerty を使用します。次のように設定できます:

~/.config/hypr/hyprland.conf
# German Colemark layout
input {
    ...
    kb_layout = de
    kb_variant = colemark
    ...
    }

利用可能なすべてのオプションについては、upstream's Wiki を参照してください。

ノート: Hyprland は ロケール 定義をオーバーライドするため、US レイアウトキーボードを使用しない場合はキーマップを変更する必要があります。

典型的な遅延と速度

Xorg ユーザーはこの設定 サーバーレベルで定義 を使用することに慣れていますが、Wayland では各コンポジターがそれを独自に処理します。

~/.config/hypr/hyprland.conf
# Repeat rate and delay
input {
    ...
    repeat_rate = 25
    repeat_delay = 600
    ...
    }

キーボードのバックライト

他の照明コントロールとは異なり、キーボードバックライトには XF86 キーシムがないため、従来のバインドを行う必要があります。

brightnessctlインストール します、次のバインドを追加します。

~/.config/hypr/hyprland.conf
# Keyboard backlight
bind = SUPER, F3, exec, brightnessctl -d *::kbd_backlight set +33%
bind = SUPER, F2, exec, brightnessctl -d *::kbd_backlight set 33%-

変更が行われたときに 画面上の通知 を実行することもできます。

ノート: ラップトップにハードウェアキーボードバックライトコントロール (キーボードの Fn キーを使用) がある場合、追加の手順なしで機能するはずです。

メディアキー

Hyprland でキーボードメディアコントロールを使用するには、XF86Audio キーシムと、pavucontrol または pamixerplayerctl などの外部アプリケーションを利用することで可能です。

~/.config/hypr/hyprland.conf
# Volume and Media Control
bind = , XF86AudioRaiseVolume, exec, pamixer -i 5 
bind = , XF86AudioLowerVolume, exec, pamixer -d 5 
bind = , XF86AudioMicMute, exec, pamixer --default-source -m
bind = , XF86AudioMute, exec, pamixer -t
bind = , XF86AudioPlay, exec, playerctl play-pause
bind = , XF86AudioPause, exec, playerctl play-pause
bind = , XF86AudioNext, exec, playerctl next
bind = , XF86AudioPrev, exec, playerctl previous

変更が行われたときに 通知 を実行することもできます。

使用方法

起動

現在、Hyprland は TTY から起動することを推奨しています。

$ Hyprland

ディスプレイマネージャ からの起動は公式にはサポートされていませんが、GDMSDDM、その他からの起動に成功したとの報告があります。全ての Hyprland AUR パッケージは自動的にディスプレイマネージャーエントリーを生成します。ソースから手動でインストールする場合、ソースコードの example ディレクトリに Hyprland.desktop ファイルのサンプルがあります、これを /usr/share/wayland-sessions/ にコピーしてディスプレイマネージャーのエントリーを提供することができます。

どちらの方法でも、いくつかの環境変数やサービスを追加したり削除したりすることで、同じ結果を得ることができます

自動ログイン

ディスプレイマネージャ または シェルから ユーザーは自動的にログインできます。

hyprctl と IPC

hyprctl は Hyprland にインストールされている、ディスプレイサーバーと通信するためのコマンドライン・ユーティリティです。サーバーにコマンドを送ったり (設定ファイルのコマンドと同じですが、構文が少し違います)、キーワードを設定したり、クエリ を送ったり、情報を要求したりすることができます。full documentation を参照してください。

Hyprland は 2 つの UNIX ソケット も公開しており、コードやコマンドライン・ユーティリティを使って Hyprland の情報を制御・取得することができます。これらのソケットはフォーカスの変更 (ウィンドウ、ワークスペース、モニター) やウィンドウ/ワークスペースの作成などのイベントをブロードキャストします。

hyprctl と IPC ソケットは、複雑なタスクのために Hyprland を制御するスクリプトの中で効果的に使うことができます。

exec と exec-once の比較

アプリケーションを起動するときは、正しいタイプのディスパッチャを使用することが重要です。exec を誤って使用すると、アプリケーションが複数回起動されてシステムリソースが占有され、最悪の場合、競合状態が発生してシステムがクラッシュする可能性があります。

ノート: 設定 で説明したように、Hyprland は ファイルへの変更が保存されるたびに 自動的に hyprland.conf を解析します。すべてに exec を使用しないでください。 ほとんどの場合、起動時にアプリケーションとデーモンを起動するには、exec-once を使用する必要があります。このコマンドはリロードで再度実行されないため、exec は、絶対に実行する場合にのみ使用してください。リロードのたびにコマンドを再度実行することが 確実な場合にのみ exec を使用してください。

環境変数の設定

env キーワードを使用して、環境変数hyprland.conf に直接設定できます。このキーワードの構文は、シェルで使用される env UNIX コマンドとは異なります。

違いについては、upstream Wiki で説明されています。

画面共有

Screensharing も参照してください。

wlroots ベースのコンポジタである Hyprland は、xdg-desktop-portal-wlr を利用して xdg-desktop-portal 経由で様々なアプリケーションをスクリーンキャプチャすることができます。

また、Hyprland は xdg-desktop-portal-hyprland も保守しています。これは、wlr ポータルのフォークであり、領域共有 (2022-12-12 の時点で壊れています)、ウィンドウ共有、グラフィカルな選択ユーティリティなどの機能が追加されています。このポータルの使い方は Hyprland wiki で詳しく説明されています。

ノート: xdg-desktop-portal-wlr と xdg-desktop-portal-hyprland の両方とも、Hyprland で他のポータル実装と競合することが知られています。インストールされている場合は、xdg-desktop-portal-kdexdg-desktop-portal-gnome、または xdg-desktop-portal-lxqt を削除することをお勧めします。

トラブルシューティング

NVIDIAカードでのちらつきについて

これは NVIDIA の既知の問題です。代わりに hyprland-nvidiaAURhyprland-nvidia-gitAUR を使えばより良い体験ができます。

xdg-desktop-portal-hyprland が大量の CPU を使用する

これは既知のバグ [1] であり、最新の Git ビルドでは解決されているはずです。これを回避するには、こちら Hyprland wiki で説明されているように、スクリプトを hyprland.conf ファイルで呼び出すことで回避できます。

参照

翻訳ステータス: このページは en:Hyprland の翻訳バージョンです。最後の翻訳日は 2023-02-07 です。もし英語版に 変更 があれば、翻訳の同期を手伝うことができます。