CachyOSのHyprland環境について
CachyOSのHyprlandは特別便利なわけではなく、基本的なウィンドウ操作などが設定されているだけで、後は自身でなんとかする必要がありました。
しかし、Hyprlandを設定するだけで便利になるのではなく各種ツールとその設定をして初めて便利になるわけで、それらをどうするかというのがとても高い壁です。
海外では、自身のカスタマイズした設定を公開・配布してそれらをそれぞれが適用してLinuxを飾るというRice(あるいはRicing)という文化があり、それらは単にカスタマイズしただけというものもありますが、高度に設定されたものもたくさんあります。
そのひとつがDankMaterialShellです。
DankShellについて

DankMaterialShellは、quickshell と Go言語で作られています。Go言語と聞くと以前紹介したArchRiotを思い出します。自動で必要なものが全て導入できるという意味ではとても似ています。quickshellはend-4のillogical-impulseで私は初めて触れました。他にも同じような構成のものはたくさんありますが、日本語のローカライズと完成度、導入の簡単さと設定の細かさなどを考えると、最新鋭かつ最も優れたHyprland環境の一つであるだろうと思われるのがDankMaterialShellです。
全て導入・設定済みと言うとOmarchyを思い出しますが、導入されるものが多すぎてそこまではいらない、必要なものは後で自分で入れるという意味からするとOmarchyはやりすぎな感じもあり、色々加味して考えてもDankMaterialShellはその手の業界のトップレベルにあると思われます。
例えば、日本語のローカライズはできているものとできていないRice環境もありますが、DankMaterialShellをパッと見た感じ特別おかしな日本語もなく読めばほとんど分かる日本語訳がされています。これは文字数などがレイアウトの関係で限られているUIの環境でそこに合うように訳せるというだけでも素晴らしいとも言えます。
それらが設定できるそれぞれの項目にかなり細かく用意されていて、一部まだ英語の部分もありますがそれはごく僅かで、ほぼ日本語で設定はできます。ただこの設定というのは、用意されているDankShell部分の設定だけでHyprlandの設定は一部別で行わないといけません(例えば日本語キーボードにするとか、fcitx5を読み込ませる等)。
一部のRice環境では、パッケージの問題などで独自パッケージを展開するManjaroやCachyOSよりも素のArchLinuxあるいはそれに近いEndeavourOSに適用するように求めるものもあります。しかしDankMaterialShellは、Arch, ArchARM, Archcraft, CachyOS, EndeavourOS, Manjaroをサポートしています。
更に、Arch系だけではなくFedora、Ubuntu、Debian、openSUSE Tumbleweedもサポートしているようです。
機能
- ランチャー
- アプリ、ファイル検索、ウェブ検索、絵文字検索、計算機、拡張機能プラグイン
- システムトレイ
- 通知とグルーピングサポート
- グルーピングとは似た通知を1つにまとめてくれる機能です
- ネットワーク管理
- VPN管理
- ブルートゥース
- オーディオ管理
- Pipewireです
- 電源管理
- ロックスクリーン
- デフォルトではオンになっていなかったと思うので設定からオンにする必要があります
- プロセスとシステムモニタリング
- テーマ管理
- ライト&ダーク、自動カラー、壁紙からアクセントカラー抽出とカスタマイズ
- マルチモニター管理
- ガンマコントロール
- ナイトモードと色温度カスタマイズ
- 壁紙管理とアニメーション
- 別モニターの壁紙やウィンドウのアニメーションの種類や速度も調整できます
- クリップボード履歴管理
- システムサウンド
- 通知やボリューム調整、変更など
- Mprisメディアコントロール
- シェル側からオーディオなどを操作できたり、視覚効果など
- プラグイン
- 想像できるほぼ全ての機能を可能にするためのウィジェットやプラグインが利用可能

画像はプロセスとシステムモニタリングするdgopが動作している所にターミナル(Ghostty)を開いた所です。これ以外にもどんなプロセスが動作しているか、メモリの使用量、あるいはCPUの負荷などを表示するものもあります。トップバー中央の日付の所がそれらにすぐにアクセスできます。
このトップバーセンターのパネル(DANK DASH)には天気の表示もでき、日本の各市町村の名称((どこまで細かくかは不明だけどもかなり狭い範囲も行けそう日本なら各市までは行けると思います))の天気情報を設定でき、それを時計の右側に表示して置けますし、パネル内でも見ることができます。もちろん時計のフォーマットや並びをいくつかの候補からも選べますし、サンプルを参考にカスタマイズすることもできます。


左側画像FIX左下のグラフがおおよそのCPU仕様率、温度、メモリ使用率かと。この他にトップバー右側にはシステムモニターがあって、ここからはもっと詳細に見ることができます。
右側FIXでメモリが1.9GBと表示されていますが、裏で色々と動作さているのでこれぐらいになっています。だいたい1.2~1.5GB前後かと思います。Windows11が4GBは超えてくると思うので、どれだけ軽量であるかがわかると思います。
DankShellは、プラグインで機能を拡張できます。それらもターミナルで導入するのではなくDankShellの設定画面から導入・設定ができるので難しく考える必要はありません。予めプラグインを入れるディレクトリを作成する必要がありますが、それもDankShell上から行えます。
アーキテクチャ
Wikiには、次のような記載があります。
DankMaterialShell uses a client-server architecture where a Go backend (dms) manages system integrations and spawns the Quickshell-based UI as a child process. Communication happens over Unix sockets using REQ/REP and PUB/SUB patterns.
REQ/REP と PUB/SUB は、ZeroMQ(ØMQ) というメッセージングライブラリが提供する2つの通信パターンです。
DankMaterialShellでは、これらをUnixソケット(同じマシン内の高速通信路)で使って、Goバックエンド <-> Quickshellを繋いでいます。
REQ/REP と PUB/SUBをなぜ組み合わせるのかは、
- REQ/REPだけ → 命令は確実だけど、リアルタイム通知が遅い
- PUB/SUBだけ → 通知は速いけど、命令の「成功した?」がわからない
そのため、2つを併用することでより完璧にしているわけです。命令はREQ/REP、通知はPUB/SUBなど。つまりごく簡単に言うと必要なものを、必要な瞬間に、超高速で届けるという考えなわけです。そういう仕組みを実現しています。
Super + T((configのキーバインドをこう設定すればですが))でターミナルが開きます。(あくまで体感ですが)これを0.05秒で起動できるといったことであったり、バッテリーの残量が変わった瞬間に表示も変えるとか、キーを押した瞬間になどで即表示するというような反応速度の向上のための技術と言えます。
DankMaterialShellを導入
導入はとても簡単です。CachyOSにHyprlandを適用してあるとして、ターミナルを起動して次のコマンドを実行します。
上記ではHyprlandと書いていますが、GnomeでもPlasmaでもなんでも構いません。CachyOSやEndeavourOSあるいはArch系のディストロが動作している状態で入れます。
curl -fsSL https://install.danklinux.com | sh後は画面に従うだけなので、特別難しい所は何もありません。途中で各インストールに必要な管理人パスワードを1度だけ求められるのと、niriとHyprlandを選択する部分があります。ここはHyprlandを選択します。
niri(ニリ)は、「スクロールで無限に広がるデスクトップ」を実現する超軽量Waylandコンポジターです。Hyprlandより軽量かも知れません。無限横スクロールでとても滑らかに表示されるということです
後は全自動です。待つだけでOKですが、自分は既にCosmic環境である程度のセットアップをしていたので特別やることはないと言うだけで、実際はその後で色々とやらないといけないことはあります。しかし、そのままただ待てばよいだけであるというのに変わりはありません。通信環境とPCパワーにもよると思いますがおおよそ、10~15分ぐらいで完了します。
インストール後にすること
インストールが終わったら、まず再ログインします。これでDankMaterialShellが適用されたデスクトップが表示されるはずです。しかし、このままだとディスプレイが200%で表示されている状態なので、まず一番最初にモニター設定をする必要があります。Super + Spaceでランチャーを起動させ、何かしらのファイルマネージャーを起動し~/.config/hyprを開きます。するとその中にhyprland.confがあるのでそれを開きます。開いたらすぐにMONITOR CONFIGがあるので、
monitor = eDP-2m 2560x1600@239.998993, 2560x0, 1, vrr, 1とある部分の先頭に#と半角で#スペースとしてコメントアウトしその下に、これが正しいかどうかはわかりませんが、機能するコマンドとして、
momitor = , preferred, auto, 1と追記します。これでCtrl + Sで保存すれば、すぐにディスプレイの解像度が戻るはずです。
momitor = , preferred, auto, 1のautoの後に,を入れるのを忘れていました。
上記例は修正しました。しばらく時間も経ち、画面スケールを正常にするという大事なポイントで確認不足だったことをお詫び申し上げます。
次に、INPUT CONFIGというセクションが下の方にあるはずなので、そこの、
input {
kb_layout = en
}とある部分をenからjpに変更して下さい。まずここまでが絶対しないといけない設定です。
このINPUT CONFIGのセクションの上にSTART UP APPSと言うセクションがあります。他のIMEは知りませんが、fcitx5を導入・設定していた場合、このセクションの最後に、
exec-once = fcitx5と追記します。これで次回起動時にfcitxが有効になるのでfcitx5-config等で設定した入力モードの切り替えで日本語が入力できるようになります。これは起動時に1度だけ実行すると言う意味合いで、既に起動していたら実行されません。これを書かなくても起動しているかもしれませんがおまじないのようなものです。同時にトップバーの右側ウィジェットの中の左隅にfcitx5-mozcのアイコンがでているはずです。
~/は、ユーザーディレクトリの/home/ユーザー名を省略しています。書くのに省略しているというのもありますが、このままでも実際に適用される公式なものです。$HOME/や$XDG_CONFIG_HOMEなどもあります。$XDG_CONFIG_HOMEは~/.configと同じことです。ユーザー名はそれぞれ異なりますが、$XDG_CONFIG_HOMEであればそのシステムの/.configディレクトリを選択することができます。
fcitx5の導入方法
ターミナルから、
sudo pacman -S fcitx5-im fcitx5-mozcとして導入します。デフォルトは、選択肢の全部がインストールされるので、たいていはこのままで大丈夫だろうと思います。ランチャーからfcitx5-configtoolを起動させて、Mozcと日本語キーボードを設定し、入力モードの切り替えをどのキーでするのか、かな入力、ローマ字入力のいずれを使用するのかなどを設定します。
詳細は別のサイトか何かしらで調べてみて下さい。GUIの設定で全部できます。

画像は、LocalSendを起動させ、ファイルマネージャのThunarを起動させたものです。このように、各ウィンドウが半透明になったりしています。Thunarの方はアクティブなので半透明は解除されています。
アクセントカラーは独自に選択もできますし、前述したかも知れませんが壁紙の色から抽出したり、カスタマイズして色を選択することもできます。
Cosmicデスクトップでは、選択しているウィンドウにボーダーが入っていました。これはHyprlandの設定でできます。そのボーダーの色などは、アクセントカラーと同様に壁紙から色を抽出してに合わせることも指定することもできます。
アプリを起動するキーバインドを設定する
DankShellの設定からドックを設定すれば、場所は色々選べますがデフォルトでは画面下部中央に表示されて、よく使うアプリを登録しておけばアプリは素早く起動させられますが、いくつかキーバインドを付け加えるといちいちドックやランチャーから起動しなくても良くなるので便利です。
ドックは表示されていると各ウィンドウがドックの高さまでにならないかもしれません。なのでマウスを持っていけば表示され、普段は自動的に隠れるように設定しておくとよいかと思います。
ドックは画面4辺のいずれにも配置できます。ドックが表示されるとその高さ分、画面内にあるウィンドウが狭くなるとだけ覚えおいてください。気にならない方は常時表示でも問題ありません。
例えば、~/.config/hypr/hyprland.confのどこでも良いと思いますが、START UP APPSセクションの最後に変更した所をわかるようにして、
bind = $mod, B, exec, firefoxと書くと、Super + BでFirefoxが起動するようになります。
他に使用されているキーが重複しているとそれらがほぼ同時に展開されるので、なるべく重複しないようにするか、重複しているキーがAキーだとすると、
unbind = $mod, A
bind = $mod, A, exec, thunarこのように、まず重複しているキーAのバインドを解除して、新たにCtrl + Aでthunarを起動するようにできます。
これはAキーが重複していたらの場合で書きましたが、こうできるというだけです。ThunarはファイルマネージャーなのでFキーが空いていたら一番良いのですが、フルスクリーン表示がFキーに当てられているので個人的にはEに設定しています。
スクリーンショットを撮るには
いくつか方法があるようですが、まず設定画面のプラグインで、3rdPartyのプラグインGrimblastを導入します。これは設定画面上ですべて完了できます。
プラグインタブ → ブラウズで該当のプラグインを探すインストールで導入するとすぐ下にリストアップされるのでタイトル横の∨((上下に切り替わる三角の記号))でオプション表示- プラグインのオプションからスクリーンショットの保存場所を
~/画像に変更。~/画像/screenshotなども任意の場所可能 - もちろん、プラグインタイトル右側のスイッチもONにしておく
これらを設定して、トップバーの右側にスクリーンショットのアイコン表示もできるように設定するには、
Dank Bar → 右セクションの下にあるウィジェットを追加からGrimblastを追加する- 表示位置は、セクションの一番上が左になるのでタイトル左側にある
⋮⋮をつかんで移動させます(場所は別に移動させなくても好き好きでOK)
これでトップバーのアイコンからスクリーンショットが可能になります。
しかしこれだけではパネルのように何か別のものをクリックしたりで選択すると閉じてしまうようなウィンドウがスクリーンショットできないため、トップバーのスクリーンショット機能ではできないことがあるため、ダイレクトにスクリーンショットが動作するようにキーバインドの設定を変更します。
~/.config/hypr/hyprland.confの下の方にスクリーンショットのセクションがあります。どのように設定するかは色々考えられますが、
Printキーだけで画面全体、Ctrl + Printキーでエリア
をスクリーンショットできるようにしたいとする場合、
bind = , Print, exec, grimblast copy area
bind = CTRL, Print, exec, grimblast copy screenとなっている部分の先頭に#と入れて、コメントアウトして
# bind = , Print, exec, grimblast copy area
# bind = CTRL, Print, exec, grimblast copy screen
bind = , Print, exec, grimblast save screen
bind = CTRL, Print, exec, grimblast save areaと書き換えます。
こうすることでPrintキーで画面全体のスクリーンショットがプラグインで設定したディレクトリに保存されます。CTRL + Printキーで任意のエリアを選択できるような画面になって任意の箇所をスクリーンショットできるようになります。
これもコメントアウトではなく、unbindしても良いと思いますが、何をどうするかあるいは何をどうしたかをわかりやすいと思う方法で書くのが良いかと思います。
Mprisメディアコントロールするには
元々Cosmic環境でMPVを入れていたので、mpv-mprisを入れます。
sudo pacman -S mpv-mprisで入ると思うので、導入するだけです。これを導入していないとShell部分には何の反応もありません。
MPVの場合はこうですが他のメディアプレーヤーの場合はまた別の方法になると思います。もしかするとプレイヤーにデフォルトで導入されているものもあるかも知れません。
他の候補にはVLCとかcelluloid、Audacious、各種モダンブラウザなどがサポートされていたりします。
詳しくは、ArchWikiのMPRISを参考してください。
どうしてMPVを使用するかですが、VLCはUIでタイトルやコントローラーが表示されます。消すこともできるでしょうが色々手間だと思います。MPVやMPVをフォークして作られたcelluloidはそれらが簡単に消せて(最初から非表示など)他のウィンドウと馴染むという理由からです。
つまり音楽や動画を再生したりするのはなんでも良いけれども見栄えの問題と、どれだけ設定できるか加減で選んでいるということです。古いPCなどではMPVが動作しないかもしれません。PCによっては動作するかどうかも問題になるのでMPVを単純に使うように勧められませんが、動作するのであればこれがまず候補になるのではなかろうかと。
動画プレーヤーは他にも色々あるので自身の好みにあったものを選んでください。
終了(パワーメニュー)を簡単にするために
何も設定していない状態だと、DANK BAR(トップバー)の右側ウィジェットで電源メニューを出して終了するわけですがこれ案外面倒くさいです。
なので、~/.config/hypr/hyprland.confを編集してパワーメニューをキーバインドで表示するようにして、キーボードだけで操作ができるようにしたいと思います。
他のRice環境でもよくあるのがCtrl + Alt + Deleteの組み合わせですが、デフォルトでこれを設定するとシステムモニターが表示されるかと思います。
システムモニターの設定は、# === Security ===のセクションにあります。それを別の設定にするわけですが、
bind = CTRL SHIFT, T, exec, dms ipc call proccesslist toggleにひとまずしておきます。Ctrl + Shift + Tで表示するということです。これらの組み合わせはわかりやすいものにしても良いですし、使用しないのであれば先頭に#をつけてコメントアウトしても良いと思います。Super + Mでもシステムモニターは表示されるのでコメントアウトしても全然問題ないです。DANK BARでもでますし。
次にどこでも良いですが、一番最後がちょうどいい感じに# === System Controls ===になっているので、最後に追加します。
bind = CTRL ALT, Delete, exec, dms ipc call powermenu toggleとします。これで、Ctrl + Alt + Deleteの組み合わせで電源メニューがディスプレイ中央にモーダル表示されますから、矢印の上下で項目を選びエンターでそれらが動作し、確認の画面が出ますがConfirmが選ばれていると思うので再度エンターを押せば電源の各メニューが確定します。
電源オフは一番下なので、Ctrl + Alt + Deleteでメニューが出た後↑キーを押してエンターで終了できますからいちいちマウスで右上に移動してメニュー選んでより格段に速く終了(シャットダウン)できるようになります。
まとめ と 動画
他にも色々とできる事がありますが、機能が多彩なので全部を紹介するのは大変ということから主な所を書いてみました。
CachyOSのデフォルトのHyprland環境からすると劇的に普段遣いできるレベルまで機能向上ができ、かつインストールも簡単で、インストール後にやることもたいして多くないDankMaterialShellは素晴らしいと思います。
CachyOSのドキュメントを見ていると設定ファイルは別で用意されているようですが、多分DankMaterialShellなどを導入するほうが色々便利かと思います。
CachyOSを1からインストールするやり方を解説しているサイトは他にたくさんあるでしょうからそれらを参考に導入してもらって、Hyprlandを入れたけどもどうやって使えば良いんだろうと困った方はこれを期に再度このDankShellと合わせて使用してみてはどうでしょうか?
色々公式ドキュメントを見ているとNiriについて詳しく書かれているようにも思います。そのため、Niriに最適化した方が何かと良いかもしれません。サンプル動画のアニメーションなどももしかするとNiriならできるのかもしれません。Hyprlandでなんとかできるように頑張りましたがそもそものアニメーションのスタイルに同じようにできるような設定項目がありませんでした。
Niriはほとんど知らず、Hyprlandなら多少わかるのでHyprlandでなんとかできないものかを検討しました。フォントの導入設定、キーボード等の設定ができるのであればHyprlandもNiriもたいして変わらず、Niriはワークスペースの観念はあるものの大きな横スクロールの画面の一部を表示するというようなものなので、画面の切り替えではなくスクロールを主に用いて各種ウィンドウを操作できます。
そういった表示や設定方法の違いはあるものの、見た目や操作方法はほぼ同じで、それにDankMaterialShellが乗っているわけですからほぼ同じようにして設定できるため好みで使い分けても良いかもしれません。
動画もまだ多くはないですが、機能説明などをしている動画がいくつかあったのでその中から2つを貼っておきました。まずはどういうものかを見てから試しても良いですし、記事の最初あたりで公式サイトにリンクしているのもあるので、英語ではありますがどういうものなんだろう程度には画像などからわかると思うので確認してみても良いと思います。
