公式で無いなら個人でやればいいじゃない? EndeavourOS+Gnome+hyprland

EndeavourOS+Gnome環境にHyprlandを導入するというのを実際に試してみた記録です

Hidekichi

この記事を書くにあたっての前置き

前回紹介したArchRiotを個人的に試してみようとやってみたのですが、上流のArchサイドにも問題があるのかもしれないというのを前置きに、Arch Linux自体をインストールするのにしてもとても時間がかかったり起動してもデスクトップに入れないという問題点もあり、それなら別の方法で試してみようと言うのがこの記事の内容です。

2025/8/27 あたりにreflectorを試してみたら動作したので、まだ完全ではないかもしれませんが徐々に回復しているように思います。

色々と実機でも確認しながら書いていますが環境によっては内容が異なる場合があります。注意の上、参考程度に御覧ください。

簡単に導入の手順を書くと

  1. Arch Linuxをインストール
  2. ArchRiotのようなスクリプトでHyprlandに必要なファイルを取得導入

こういうことですから、つまり、

というだけのことなんですけども、何が必要でどういう設定をすればよいのかというのが難しいところです。

本来のインストール方法はHyprland - Arch WIkiなどに書いてあるので興味のある方は参考にしてみて下さい。初見ならわけがわからないことばかり書いてあると思います。
一から設定したい人はArch Wikiを参照してやれば良いのですが、書いてあることは簡単でも言葉や何をしているのかがわかりにくかったりもするわけです。

こういうのをすっ飛ばして

こまけぇことはいいんだよ、さっさとHyprlandとやらを触らせろという気の短い人はもっと簡単に導入する方法があります。
基本的な所は既存の設定されたディストリビューションを下地にしたらいいじゃないということなのです。

つまりは、カスタマイズの一種で、ArchRiotのページでも書きましたがRice(あるいはRicing)と言うLinuxの文化があるのでそれに乗っかればいいじゃないと言うことです。

Rice自体は色んなディストリビューションで行われていますが、Arch Linuxが最も盛んに行われています 。元々自分で作り上げていくディストリビューションであり、ローリングリリースであるのでシステム側が常に最新に保たれる((本当の最新ではなく、更新されたのは知っているがテストしてから放流と言う感じです))ので盛んに行われて当前で、やりやすいというのもあると思います。
Ubuntu LTSは、LTS(Long Term Support)のその名の通り、安定している状態を長く使うためのディストリビューションであり、更新時期にもよりますが内容が古くなりつつあるので、Riceのように常にバグフィックスをし最新の状況を追いながら修正され続けているものは、ローリングリリースでないディストリビューションでは最新の状態を適用できない事があるわけです。
強制的にインストールする方法など色々と手はあると思いますが。

そこで、

  1. Arch系のディストリビューションであるEndeavourOS+Gnome環境を使用して
    • Gnomeを選ぶのはWaylandで動作しているからです。HyprlandはWaylandのコンポジター
  2. そこに環境を作るために必要なものを追加してHyprland環境を作り、
  3. それらの設定やカスタマイズを独自に変更していく

という手法で行えるのが、次のend-4/dots-hyprlandのスクリプトです。
※ ちなみにArchRiotも同様の手法でインストールできます。ただRiceはそれぞれに環境が違うので手法は同じだとしても諸々が違うので全く同じようにはできないこともあります。

注意事項

これらは、ユーザーディレクトリ以下に必要なファイルを導入してHyprland環境などを構築するので、ユーザーアカウントを増やせばそれだけ別の環境を持てるという事になります。
しかし更に注意があり、本来は全体的に設定する方法が記載してあるものは個人的に書き直す必要があります。例えばfcitxの設定をすべての環境で使用する場合は、/etc/environmentに設定を書きますが、ユーザー単位で書く場合は~/.pam_environmentに書く必要があります。

これらはフォントでも同様です。すべての環境で使うフォントは/usr/share/fonts/もしくは/usr/local/share/fonts/などを使用するのが標準です。これがユーザーディレクリだと~/.local/share/fonts/((場合によっては~/.fonts/もあるかも知れません))が一般的です。なので導入する環境にだけ適用するなら~/.local/share/fonts/を使うべきですし、ログイン画面などログインする前ならシステム全体で使う/usr/share/fonts/に入れるのが当然となります。

既にHyprlandエディションがあるディストリビューションではどうなるか

例えばCachyOSや、Garuda LinuxにはHyprlandエディションが存在しますが、それらにこれらを適用した場合にどうなるかですが、多くの場合は導入したRice環境が有効になります。
必要なパッケージの内、既に導入されているものが存在すればスキップして上書きしないような仕組みがあり、またquick shellを使用しているのも作者の意図としては、既存のファイルを上書きせずに追加するという意味合いがあるのではないかと想像しています。

実際の所はわかりませんが、既存の環境が必要な場合は、ユーザーを追加してそちらにRice環境を作るとよいかと思います。
そうすることでオリジナルの状態と、Rice環境が共存でき、ログインし直すだけでそれぞれの環境が動作すると思います。

end-4/dots-hyprland

導入がうまく行った場合のShowCase

いくつかありますが、[Qs] illogical-impulse((illogical-impulseは略して「ii」と表記されることがあります。ディレクトリ名であったり諸々で)) を選択します。他のは詳細は知りませんが何かしらの古いバージョンです。
QsはQuick shellを略したものと思われます。

QuickShell = 「Qt/QML でデスクトップ環境の UI を自由に組めるフレームワーク」です。
これらはタスクバーやパネル、ランチャーなどをQtのUI記述言語であるQML(Qt Modeling Language)を使用して書けます。それらを内部的にはJavascriptとC++/Qtが融合したような仕組みです。
QtはGTKなどのように、クロスプラットフォームのアプリケーション開発フレームワークです。Qtはアプリを組み立てるための大きなツールボックスであり、その中の1つであるQMLやQtQuick(Qsの基盤になる仕組み)を使うと、シェルやランチャーなどのUIも簡単に作れるという事になります。ここで言うシェルとはガワに当たるものです。
Qtが比較的軽いとされるのは自身で様々なモジュールをまとめて持っているためC++のネイティブコードで直接動作する(依存性が少ない)、メモリ効率も良いという点が他のものと違って軽さの秘訣になっています。つまり汎用性を持たせるために外部に頼るのではなく、自身でほぼ全てを賄っているため効率良く軽いと言えるかと。

end-4/dots-hyprlandで推奨される方法として書いてある、「1.3 Automated installation (Arch distros only)」 にあるスクリプトをターミナルに貼り付けるだけ。

bash <(curl -s "https://end-4.github.io/dots-hyprland-wiki/setup.sh")

これは、~/.cache/dots-hyprlandにリポジトリをクローンするので、もし別の場所に入れて管理したい場合は、

cd ~/Downloads # ここで任意のディレクトリを選ぶ
git clone https://github.com/end-4/dots-hyprland
cd dots-hyprland
./install.sh

それだけでHyprland環境に必要なものが全てインストールされます(完全ではなく必要とするものが全てです)。

音楽プレイヤーを導入するサンプル

例えば音楽プレイヤーは含まれていないので別途、Amberol、G4Music、Lollypop、Elisa、MPD+ncmpcppなどMPRIS対応の音楽プレイヤーを導入する必要があります。

sudo pacman -S amberol  // サンプル例

管理人の場合は、mpvを導入して、更にmprisに対応させるために、mpv-mprisを導入しました。

sudo pacman -S mpv mpv-mpris

これでどこかのワークスペースで音楽を再生させておけばタスクバーからそれらをコントロールできるという感じになります。

後はターミナルで出てくる質問に対して「y(yes)」などの選択をしたり、たいていは管理者が自分でしょうから自分のパスワードを入れていくだけです。多岐に渡るインストールがあるので時間も手間もかかり面倒くさいですが、ほとんど「y」と自分のパスワードだけでいけます。最後の方に、ビルドに必要だったものとか一時ファイルの削除などを連続でしますが、ここが面倒くさいだけです。

2025/8/25のスクリプトの状態で、2025/8/26の朝に試しましたが問題なくインストールできたものの2点エラーが出ました。
1つは、quick shell、もう1つはqt6-avif-image-pluginでした。後者はプラグインなので日を改めてまた探してみることにしました((8/28にインストールできましたが、qt5-avif-image-pluginが入りました。ここはまたしばらくして調査します))が、前者のquick shellは根幹に関わるものであり、これが入らないとただの色付きのデスクトップとなり、ウィンドウやらは出せるわけですが、いい感じにタスクバーなどが出るわけでもなくとても困ります。

とは言え、機能はしているので、スーパーキー(Windowsキー)+ Wでブラウザを開き、chaotic-aurを導入しました。これはエラーで入らなかったquick shellを入れるための処置なので、不要であれば通常は入れる必要はありません。

chaotic-aurの導入と再起動の方法

リンク先のページスタートから遷移したページにSetUpがあるので、

  • $ sudo...部分にマウスカーソルを持っていけば、Copy to ClipBoardと出てくるのでクリックしてコピー
  • コピーしたものをターミナルで貼り付けてエンターで、pacman-keyとミラーリストをダウンロードしてインストール
    • nanoのペーストはCtrl + Vです

その後、

  • ターミナルに、sudo nano /etc/pacman.confと入れてpacman.confを開く
  • 開いたドキュメントの一番下に、(これもマウスでコピーできますが)、[chaotic-aur]とある部分でコピーして、
[chaotic-aur]
Include = /etc/pacman.d/chaotic-mirrorlist

を追加

  • nanoでは、保存する際にctrl + oの後、pacman.confをエンターで上書き
  • ctrl + xでnanoを終了しターミナルに戻る

その後、chaotic-aurを適用するためにターミナルで、

sudo pacman -Syu

と入れてシステムを更新します。

これで準備が整ったので、quick shellをインストールします。

sudo pacman -S quickshell

この後、ログアウトだけでもいけるかもしれませんが、再起動すれば適用できます。シェルが表示されてないのでターミナルから行うかPCの電源を強引に切るしか無いと思います。Quick Shellのインストールに失敗してもWinキーからターミナルは開けるはずです。
そこから再起動するために、次のコマンドを入れます。

// 再起動
sudo reboot

// or
systemctl reboot

// シャットダウン
sudo poweroff

// or
systemctl poweroff

もしターミナルに入れない場合は、仮想コンソールに入るという手もあります。
ctrl + Alt + F2F6
これらが開けば前述のコマンドが使用できると思います。これはTTYと言います。

もし、Hypelandに問題が起きてもGnome環境は生きているはずですから、再起動さえすれば修復などができる可能性はあります。それがEndeavourOS+Gnome環境にHyprlandを適用するメリットでもあります。

ターミナルがどうしても開けないとなるとPCの電源を長押しして終了させるしかないですが。

注意点

ここでは、インストール時にエラーが出たと言う状況からのトラブルシュートみたいなもので、本来何も問題がなければquick shellは入ると思うのでそのままインストーラー付属のquick shellを使用するべきです。別途目的がない限りchaoticAURのバージョンを使用する必要はありません
というのは、開発が先行している場合に問題が出るということがあるからです。
作者が動作するとしたバージョンのものはインストール時に同時に入りますからそれらを使用しましょうということです。ひとまず動作するようにしておいて、Githubなどの更新状況を見てアップデートをして安定するようにしていくのが賢明かと思います。

日本語設定

9/7ぐらいのアップデートで、設定にja-JPの項目が出たのでキーボードの設定は必要なくなっているかも知れません。またfcitx5の設定も書かれていたような気もしますがもし実際に確認してみて、キーボードが正しく動作しないとか設定がないなどの場合に追加という感じで試してみて下さい。

キーボードを日本語配列にするために、~/.config/hypr/custom/general.conf

input {
    kb_layout = jp
}

を追加。

fcitx5((IMEのフレームワーク))の設定で、~/.config/hypr/custom/env.conf

# fcitx5 setting
env = QT_IM_MIDULE, wayland

を追加。

「GKTモジュールを検出したのでこれらを無効にしてfcitxの公式サイトにある説明を参考に修正して下さい」と通知が来たら
もし通知に「GKTモジュールを検出したのでこれらを無効にしてfcitxの公式サイトにある説明を参考に修正して下さい」というのが着たら、確認してほしい事として、
  • fcitx5-imとして導入した場合、fcitx5-gtkが邪魔をしている
  • Plasmaが入っていた場合、kded6が邪魔をしている可能性があります。

ポイントとしてはsudo pacman -S fcitx5-im fcitx-mozc((mozcがIMEに当たります))として導入する際に、選択肢が3つか4つ出ると思いますが、今回のものに関しては QT系 のアプリ主体のRiceであるため、選択も自ずとQTとつくものを選んで下さい
もちろんGTKのものも動作しますが、動作しないものもあります。Waylandに対応しているかどうかが重要かと思います。

もし、fcitx5-gtkが邪魔しているとすれば、

sudo pacman -Rns fcitx5-gtk

として削除できると思います。しかし、依存関係が崩れるだの依存関係があって削除できないとなった場合は、

sudo pacman -Rns fcitx5-im

として削除してから、sudo pacman -S fcitx5-imで再度インストールしてQTを選ぶようにして下さい。

これらがどうしてもわからないとなった場合は、一旦HyprlandからログアウトしてGnomeに入り直して、pamacなどを利用してGUIで操作するという方向も考えてみて下さい。Gnomeであれはpamacが動作します。

pamacはターミナルから、

yay -S pamac-aur

として導入することができます。色々種類がありますが、pamac-aurだけで良いかと思います。これらはインストールされた後は「ソフトウェアの追加と削除」として登録されます。Windowsキーか三本指でデスクトップを上にスワイプしたら出てくるリストの中にあります。
いちいち横スクロールで探さなくてもよく、「Windowsキーか三本指で上スワイプ」の後キーボードからpamぐらいまで入力すれば候補が絞られます。end-4/dots-hyprlandではおそらく日本語ができず、またpamacでも候補が絞れないと思うので(入力ができない)のでGnomeでやります((単にpamacがこのHyprland環境で動作しないだけかも))。

リンクを新しいタブで開くをした時にマウスカーソルが動いていない状態だと二本指スクロールができない

これはすでにissueが提出されていて、もう少し詳細を書くと、

とした場合に、バックグラウンドでこれらは開きますがマウスカーソルはその場に留まっているため、タッチパッドの二本指スクロールが効かないと言う感じです。
例えば、リンクがいくつかある中でAとBというリンクを比較しようと新しいタブで開こうとするということはたまにあると思いますが、Aのある位置から少し下にBがあるとして、この場合に、

  1. Aのリンクを新しいタブで開く
  2. 少しカーソルを動かす
  3. Bのリンクまでスクロールしてリンクを新しいタブで開く

この流れであれば2番は本来不要なアクションです。

  1. Aのリンクを新しいタブで開く
  2. Bのリンクまでスクロールしてリンクを新しいタブで開く

これだけで良いはずなのです。「少しカーソルを動かす」と言う手間が発生しているのが問題点です。

これはおそらく修正可能ではあるだろうと思いますが、Hyprlandの処理に関することなのでユーザー側でできることはほぼなく、修正するには開発が手伝えるぐらいのスキルが必要になるかと思います。なので、修正されるのを待つしかありません。
Hyprlandではすでに修正されていて、それ以外で別の問題が発生しているのかもしれませんが。

日付の表示を日本語にする

バーの日付部分

~/.config/illogical-impulseの中にconfig.jsonがあるので、それを編集すると大まかな修正はできます。
下の方にtimeの箇所があるので、

  "time": {
    "dateFormat": "ddd, dd/MM",
    "format": "h:mm ap",
    //...
    "shortDateFormat": "dd/MM"
  },

などと修正します。これら修正によって、トップバーは、午後4:18・8/31(日) と表示されると思います。そこをPopUp表示させた場合、午後4:18・日曜日,8月31,2025と表示されると思います。元の英語の順番で並んでいるのよりは日本語として自然ですが、しかしまだこれだけでは足りない場合に、細かく修正するにはそれらを表示しているファイルを修正する必要があります。

より細かく修正する

-end-4/dots-hyprlandの更新で修正が無くなる可能性があります。

バーは、パッと見て今日が何日で、今が何時かわかればよいと思うので月/日(曜日)・時:分という形式にしたい思います。

~/.config/quickshell/ii/modules/bar/ の ClockWidget.qml をテキストエディターで編集します

// ...部分は、何かしら記述がある部分です。

Item {
    //...
    
    RowLayout {
        // ...

        StyledText {
            // ...
            // text: DateTime.time   # コメントアウト
            text: DateTime.date
        }

        StyledText {
            // ...
            text: "・"  # セパレーター
        }

        StyledText {
            // ...
            // text: DateTime.date      #コメントアウト
            text: DateTime.time
        }
    }

    // ...
}

の部分だけを修正します。マウスを持っていった時にポップアップする所にも日付の表示があるのでそこも直します。

~/.config/quickshell/ii/modules/bar/ の ClockWidgetTooltip.qml を修正

# ...

StyledPopup {
    id: root
    // property syting formattedDate: Qt.locale().toString(DateTime.clock.date, "dddd, MMMM dd, yyyy")  # コメントアウト
    // 変更追加
    property syting formattedDate: Qt.locale().toString(DateTime.clock.date, "yyyy年M月d日(ddd) ap h:mm")
    // ...

    function getUpcomingTodos() {
        // ...
    }

    ColumnLayout {
        // ...

        RowLayout {
            // ...

            MaterialSymbol {
                // ...
            }
            StyledText {
                // ...
                // text: `${root.formattedTime} ・ ${root.formattedDate}` # コメントアウト
                // 変更追加
                text: `${root.formattedDate}` # 出力部分
            }
        }
    }
}

スクリーンショットを撮ったらどこに保存される?

どういう事かは定かではないのですが、ユーザーディレクトリ以下にあるpictureディレクトリ、つまりは画像ディレクトリのパスは、~/.config/quickshell/ii/modules/common/Directories.qmlだったかに設定があって、スクリーンショット自体はまた別で設定があるのですが、作者はscreenshotTempというパスを別で作っていて、そこにはフルパスが書かれています。

    property string screenshotTemp: "/tmp/quickshell/media/screenshot"

画像ディレクトリは、

Singleton {
    // XDG Dirs, with "file://"
    //... 他の値
    readonly property string pictures: StanderdPaths.standerdLocation(StanderdPaths.PicturesLocation)[0]
}

などと書かれています。

つまり、Directories.picturesとすれば画像パスが取れるはずが、それを設定するとユーザーディレクトリの下にfile:と言うディレクトリができスクリーンショットの保存場所がその下に入ってしまいます。おそらくfile:///home/YOUR-NAME/画像/とパスが得られて、その中にスクショした画像が入るような感じです。何のためにこのような仕様になっているのかはわかりませんが、これらがあるので作者が敢えて/tmp/quickshell/media/screenshotとハードパスを別で書いているのだろうと思うわけです。

これらを踏まえてどう設定するか

では、他に方法はないだろうかと見てみた所、pictursの設定の少し下に// Other dirs used by the shell, without "file://という箇所があるではないですか。これは使えるので追記します。

~/.config/quickshell/ii/modules/common/Directories.qml

property string screenshotDir: FileUtils.trimFileProtocol(Directories.pictures + "/screenshot")

と、まず/home/YOUR-NAME/画像/screenshot/のパスを設定しておきます。

~/.config/quickshell/ii/screenshot.qmlのパス

// property string screenshotDir: Directories.screenshotTemp
property string screenshotDir: Directories.screenshotDir

のようにして、元の記述を念の為残しつつ、書き換えます。screenshotDirが2つ出てくるのでややこしいという場合は、前述のプロパティ名を他のものに変更したらそれが使用できます。

次のような感じです。

~/.config/quickshell/ii/modules/common/Directories.qml

property string ssDir: FileUtils.trimFileProtocol(Directories.pictures + "/screenshot")

であれば、

~/.config/quickshell/ii/screenshot.qml

// property string screenshotDir: Directories.screenshotTemp
property string screenshotDir: Directories.ssDir

のような感じにできるということです。

これらの設定が済むとどうなるかというと、/home/YOUR-NAME/画像/screenshotディレクトリができ、そこにこのHyprland環境でスクショしたものは保存されます。ユーザーディレクトリ以下にあるのでコピーやら何やらが便利にできると思います。
本来の意図としては、スクショがどうのよりもquickshellがどう動作しているかのサンプルみたいな感じで書いています

アップデートの方法

まず前提を書いておきます。

アップデートは通知があるわけでもない状態でやったので、実際にはアップデートの通知があるのかもしれないしないのかも知れないですが、ないとしても公式Githubで必要な更新があれば実行できます。

  1. ターミナルから cd /home/YOUR-NAME/.cache/dots-hyprland/((YOUR-NAMEは自身のアカウント名)) としてディレクトリを移動
  2. git pull origin main で最新の更新をダウンロード
  3. install.sh をダブルクリックで実行して、Yesから更新開始
    • install.shがテキストエディターで開かれる場合は、右クリックから実行するアプリを選択できるのでkitty url launcherにしたら実行できます((Thunarの場合))。
    • 後は、インストール時と同じようにどうするか聞かれるのでyであったり自身のパスワード(管理者のパスワード)を入れていきます。

もし2の段階でエラーが出た場合は、git reset --hardで、ローカルでの変更を元に戻す事もできます。

おまけ

管理人はunbindを覚えたので 2025/9/15 に書き直しました。unbindはデフォルトの該当キーバインドの設定を無効にして、~/.config/hypr/custom/keybinds.confの設定だけ有効にします。

本来はHyprlandの設定をコメントアウトして、end-4/dots-hyprlandの設定で書き直すんでしょうけれどもアップデートすることで設定が無くなるのはどうするのだろうと調べてたら、ちょうどいいのを見つけたので書き直した次第です。

ターミナルをGhosttyに変更する

最初にGhostty自体を導入する必要があります。
EndeavourOSを使用してのRice環境だとすれば、

sudo pacman -S ghostty

で入ると思います。起動させるためには、~/.config/ghosttyディレクトリと、configファイルが必要です。

ユーザーディレクトリ以下にあるので、ファイルマネージャーで右クリックからディレクトリとファイルを作るというのでもよいですし、ターミナルから次のようにも書けます。

mkdir -p ~/.config/ghostty
touch ~/.config/ghostty/config

この場合の-pparentsの略で、もし~/.configがない場合に作成するという事で実際は必ずありますから必要ではないものの、他のディレクトリ操作の時に親ディレクトリがなかったとしても自動で作ると考えると便利なコマンドだと思います。
さて、実際はすでにkittyで作業していると思うので、mkdir -p ~/.config/ghosttyでディレクトリを作れば、touch ~/.cぐらい、あるいはもっと早くに補完候補がでているはずです。この時にキーを押せば自動的に入力されるので、いちいち~/.configとか面倒くさいと思いつつも、とても楽に入力できます。

touchはファイルを作るコマンドです。ここで要注意ですが、Ghosttyは***.confではなくて、configと言うファイルが必要な事に気をつけて下さい。拡張子がないので右クリックでテキストエディターを選んで開くなどが必要になったりもします。

mkdir -p ~/.config/ghostty && touch ~/.config/ghostty/config 

などとして、一発で書くことも可能ですが、mkdirは失敗するとそれ以降は実行されないので、結果的にfishの補完機能を使いつつ分けて書いても言うほどかかる時間に違いはないとも言えます。
そもそもmkdir -p ~/.config/ghosttyが失敗することなどほぼないですが、そういった場合でも-pはつけておいて損はないおまじないみたいなものなので。
なければ作るし、あってもそのままなのでエラーが出るわけでもなんでもないというのもあり、かつ誰がしても同じ結果になるということが大事なわけです。

Ghosttyの設定は、各々誰かの公開されている設定を参考にしても良いと思いますし、ドキュメントを読んで独自に設定しても良いと思いますがここでは割愛させてもらいます。

これら下準備ができているとしてHyprlandの設定では、~/.config/hypr/hyprland/keybinds.conf##! Appsの所にターミナルのキーバインドの項目があります。これはend-4/dots-hyprlandのデフォルトのものなので変更しません。

ターミナルはいくつかの起動方法が登録されていて、今回はSuper + TだとGhostty、他は元のままでkittyが起動するようにします

デフォルトの記述を参考に、~/.config/hypr/custom/keybinds.confを次のような感じで追記します。

unbind = Super, T
bind = Super, T, exec, ~/.config/hypr/hyperland/scripts/launch_first_available.sh "ghostty -e fish"

これでSuper + TでGhosttyがfishで起動できます。Ghosttyではこの設定でfishで起動できましたが、他のターミナルだとどうかは試してないのでわかりません。kittyのままで使っても特に問題はないので変にいじらない方が良いと言えばそうですが、どうてもGhosttyにしたい場合などに参考までに。

-e はexecuteで、ghosttyだけだとbashが起動し、ghostty -e fishだと、デフォルトのシェルの代わりにfishを起動するというような意味になります。

デフォルトのファイルマネージャをThunarに変更する

方法としては、ターミナルの場合と同じようなことです。元の記述を参考にして、~/.config/hypr/custom/keybinds.confに次のような感じで追記します。

unbind = Super, E
bind = Super, E, exec, ~/.config/hypr/hyperland/scripts/launch_first_available.sh "thunar" "nautilus" "nemo" "dolphin" "${TERMINAL}" ...

意味合いとしては、Thunarが入っていたらそれを使い、なければnautilus、それもなければnemoと言うことです。なので一番最初にthunarを持っていくということです。

ファイルマネージャーにThunarを選んだ場合に、動画ファイルにサムネイルが表示されない時

tumblerをインストールします。

sudo pacman -S tumbler
サムネイルが小さい
メニューの表示に拡大できるオプションがあります。 他のファイルマネージャーでは表示されていたと思いますが、Thunarはデフォルトでは動画ファイルにサムネイルが出ておらず、出ても小さいのでひと手間必要です。

EndeavourOS+Gnome+end-4/dots-hyprlandを適用した状態レポート

fastfetch

状況として、

画像で確認できるように、OSはEndeavourOSになっています。起動時間(UpTime)はスリープで止めていた所からスクリーンショットを撮ったのでこれだけ進んでいます。
WM部分がHyprlandになっており、正しくEndeavourOSでHyprlandが動作しているのがわかってもらえると思います。
Shellがfishであると言う点、CursorがAdwaita、Terminalがkittyなのはデフォルトでそうなります。ターミナルの文字がBizin Gothic NFになっているのは後で導入しました。導入はしたもののほとんど設定はしていません。

ちなみに上記画像はFastfetchの画像で、こういった細々としたものはいくつか入れました。Localsendとか。LocalsendはファイルをWindowsから移したり、あるいはその逆であったりをするために必須ですがなんでこれを選ぶのかと言うと、Linux(Arche系)ではyayで入るので楽だからです。

yay -S localsend-bin

これだけですから。

メモリ使用量

起動してしばらく何も開かずアイドリングさせて落ち着いた状態で 1.2GB ぐらいでした。これはおそらくEndeavourOS+Gnomeをはじめ何故かPlasmaも入ったのでそのサービスデーモンなどがバックグラウンドで動作しているためだろうと思いますが、素のGnomeだけであれば800MB~1GB前後だったはずなので、それらと共通利用する部分などを含めてもHyprland自体はとても軽いんだろうと思います。
よって、素のArch環境にHyprlandを入れるのが最も軽くなるんだろうと考えられますが、足りない機能を足していけば自ずと現在のGnome程度にはなりそうです。

end-4/dots-hyprlandの最新バージョンはQuickShellを使用した環境であり、それ自体はとても軽いはずですがそれだけでは足りずにGnomeやKDEのソフト(あるいはサービス)がいくつか動いていると思いますので、その分はどうしてもメモリ消費にプラスされるのではなかろうかと。しかしそれを加味してもWindowsの半分以下ですからWindowsがそれだけ余計なサービスが動作しているのがわかると思います

ブラウザ(Firefox)を動作させて10以上のタブを開いてる状態でも、2.5~3GB以下のメモリ消費量ですから一般的な使用法なら4GBあれば足りると思います。ただ開くソフトの数や、そのソフトの消費メモリを考えると8GB(以上)はある方が良いと思います。

最近どうしてHyprlandを推しているか

意味合いとしてはWindowsやGnomeでもスタック型のウィンドウマネージャーのOSでもたいして変わるものではないのですが、その作業効率は圧倒的にHyprlandのタイル型の方が良く、1枚だけウィンドウを開くと自動で最大になり、2枚開いたら半分になりと勝手に並ぶというのはとても使い勝手が良いです。

ただ並ぶだけではなく、それらはもちろん並べ替えられるわけですが、例えばブラウザを開いてる状態で横に音楽プレーヤーや、動画を出すという場合はもちろん上下、あるいは左右半分ずつにできるわけです。
左右半分にした場合、左側に動画プレーヤーを置いたとすると、最近は縦型の動画もありつつもだいたいは16:9の横長ですから動画プレーヤーの下に余計なスペースがあるので、ここにファイルマネージャーを置いてみたりとか、そのレイアウトはウィンドウの動かし方で様々に配置できます。

最初からワークスペース(仮想デスクトップ)が複数用意されているので、それぞれに画面いっぱいのアプリを開いて別で作業もできますし、その切替もスワイプでもWin + numで簡単に切り替えれたりで、その動作が軽いのが効率を上げます。

一番良いのはフォーカスが当たっているウィンドウをダイレクトに操作できるのがよいです。つまりマウスカーソルあるいはフォーカスがあるウィンドウがアクティブなのでいちいち選択せずともペーストができたりと言うことを意味しています。

これはマウスで「ウィンドウの上にカーソルが入ればアクティブにする」という設定自体はスタック型でもあります。しかし大きいウィンドウの下に隠れた小さいウィンドウを選ぶためにはalt/win + tabなどで切り替える必要があります。

タイル型であれば重ねるということもできつつも、基本は平面に並べるわけですから、切り替えて何かしら作業するというのがとても簡単です。マウスで移動させてウィンドウを選ぶということをしなくても、win + 矢印でその方向のウィンドウに切り替わります。上下や左右に並べてるウィンドウでそれぞれ関連する作業は特に効率よくできます。

アクティブなウィンドウをwin + dで最大画面に即切り替えられるので、最大表示していないと面倒な作業もすぐにでき、トグル操作になっているので、再度win + dで元の位置に戻ります。

つまり最小化してタスクバーに置いておくのではなく、常に切り替えて作業できるわけです。ブラウザで何かしら見ながらメールを書くとか、AIに質問した回答を参考に何かをするとかも効率が良いです。

従来のスタック型でも同じことはできると思いますが、全く別物な挙動を見せます。Hyprlandはアニメーションも加えつつウィンドウが動作するので小気味よく操作できるのも良いです。
ただ、nVidiaなどのGPUが搭載されているPCで使うには色々と問題があったりします。((判明している問題点の多くは改善されています))これらは技術仕様が一般に公開されていないのでそれらに対応させるのがどうしてもオープンソースのドライバーなどに比べると遅れます。

おそらくそれらGPUを使用した方がより良いのには間違いなく、ローカルでAIを無尽蔵に動かすにも良いGPUがいるわけですが、残念ながら完璧に動作できるかは何とも言えない部分も多く、WaylandもHyprlandも比較的新しいものですからもう少し時間がかかりそうです。
IntelにしてもAMDにしても内蔵GPUに関しては問題なく動作するだろうと思います。

ちなみに、end-4/dots-hyprland では、ローカルでAIを動作させる仕組みが導入されています。
end4_desktop01.avif

いくつかのRiceはnVidiaなどのGPUにも対応したというものもありますが、必ずしも保証されているものではないのでそれらは誰かの報告を待つか、自らが人柱になるか、自分次第です。

参考動画

これら動画でどういったものであるかを確認してみて下さい。

https://youtu.be/RPwovTInagE
https://youtu.be/OnxU419vnts
https://youtu.be/EKCx6z8Yizk
https://youtu.be/WARUq1sFyAI

blogカテゴリ内のタグ一覧