「Hyprland」の版間の差分
(ノートを翻訳して追加) |
(→使用方法: exec と exec-once の比較を翻訳して追加) |
||
58行目: | 58行目: | ||
''hyprctl'' と IPC ソケットは、複雑なタスクのために Hyprland を制御するスクリプトの中で効果的に使うことができます。 |
''hyprctl'' と IPC ソケットは、複雑なタスクのために Hyprland を制御するスクリプトの中で効果的に使うことができます。 |
||
+ | |||
+ | === exec と exec-once の比較 === |
||
+ | |||
+ | アプリケーションを起動するときは、正しいタイプのディスパッチャを使用することが重要です。{{ic|exec}} を誤って使用すると、アプリケーションが複数回起動されてシステムリソースが占有され、最悪の場合、競合状態が発生してシステムがクラッシュする可能性があります。 |
||
+ | |||
+ | {{Note|[[Hyprland#設定|設定]] で説明したように、Hyprland は ''ファイルへの変更が保存されるたびに'' 自動的に {{ic|hyprland.conf}} を解析します。すべてに {{ic|exec}} を使用しないでください。 |
||
+ | |||
+ | ほとんどの場合、起動時にアプリケーションとデーモンを起動するには、{{ic|exec-once}} を使用する必要があります。このコマンドはリロードで再度実行されないため、{{ic|exec}} は、絶対に実行する場合にのみ使用してください。リロードのたびにコマンドを再度実行することが '''確実な場合にのみ''' exec を使用してください。}} |
||
== 画面共有 == |
== 画面共有 == |
2023年12月31日 (日) 20:34時点における版
関連記事
Hyprland は C++ で書かれた wlroots ベースのタイリング Wayland コンポジターです。Hyprland の特筆すべき点は、ダイナミックタイリング、タブ付きウィンドウ、クリーンで読みやすい C++ コードベース、ウィンドウアニメーションや角丸、透明ウィンドウでの Dual-Kawase Blur を提供するカスタムレンダラーなどです。一般的な使い方や設定方法は、 Hyprland Wiki に詳しく書かれています。
目次
インストール
次のいずれかをインストールします:
- hyprland - 最新のアップストリームリリース。
- hyprland-gitAUR - master ブランチへの最新のコミット。
- hyprland-nvidiaAUR - NVIDIA GPU パッチを含む最新のアップストリームリリース。
Hyprland は、wlroots-gitAUR に厳密に従う独自のバージョンの wlroots をバンドルしています。これにより、安定性が向上すると同時に、他の wlroots ベースのコンポジターとの依存関係の競合も回避されます。
設定
設定は 1 つの設定ファイル、hyprland.conf を通して行われます。パッケージマネージャで Hyprland をインストールした場合、おそらく /usr/share/hyprland/hyprland.conf にあります。ソースからインストールした場合は、Hyprland をクローンしたレポジトリにあります。hyprland.conf を ~/.config/hypr/hyprland.conf
にコピーしてください。
hyprland.conf
には、デバイス (モニタ、キーボード、マウス、トラックパッド) を設定するディレクティブと、アニメーション、装飾、レイアウトなどの設定が含まれています。キーバインディングやウィンドウのルールを設定したり、コマンドを実行したりできます (一度だけ、あるいはコンフィグが再読み込みされるたびに)
ファイルを更新するたびに設定が自動的にリロードされます。同じ効果を得るために hyprctl reload
を使うこともできます。いくつかの設定(特に入力設定)については、Hyprland セッションを再起動する必要があるかもしれません。
設定は hyprctl
を使用してその場で変更することもできますが、保存されません。
使用方法
起動
現在、Hyprland は TTY から起動することを推奨しています。
$ Hyprland
ディスプレイマネージャ からの起動は公式にはサポートされていませんが、GDM、SDDM、その他からの起動に成功したとの報告があります。全ての 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
を誤って使用すると、アプリケーションが複数回起動されてシステムリソースが占有され、最悪の場合、競合状態が発生してシステムがクラッシュする可能性があります。
画面共有
Screensharing も参照してください。
wlroots ベースのコンポジタである Hyprland は、xdg-desktop-portal-wlr を利用して xdg-desktop-portal 経由で様々なアプリケーションをスクリーンキャプチャすることができます。
また、Hyprland は xdg-desktop-portal-hyprland も保守しています。これは、wlr ポータルのフォークであり、領域共有 (2022-12-12 の時点で壊れています)、ウィンドウ共有、グラフィカルな選択ユーティリティなどの機能が追加されています。このポータルの使い方は Hyprland wiki で詳しく説明されています。
トラブルシューティング
NVIDIAカードでのちらつきについて
これは NVIDIA の既知の問題です。代わりに hyprland-nvidiaAUR や hyprland-nvidia-gitAUR を使えばより良い体験ができます。
xdg-desktop-portal-hyprland が大量の CPU を使用する
これは既知のバグ [1] であり、最新の Git ビルドでは解決されているはずです。これを回避するには、こちら Hyprland wiki で説明されているように、スクリプトを hyprland.conf
ファイルで呼び出すことで回避できます。