2 ポイント 投稿者 GN⁺ 2025-02-24 | 1件のコメント | WhatsAppで共有
  • WhiteSur GTK Theme は Linux GTK デスクトップで macOS に近い外観を提供するテーマパックで、基本インストールはリポジトリをクローンした後に ./install.sh を実行する方式
  • インストールスクリプトは 色・透明度・アクセントカラー・Nautilus スタイル・GNOME Shell のオプションを提供し、--theme, --color, --opacity, --nautilus, --gnomeshell などの引数を繰り返し指定できる
  • Gnome 43.0 以降、組み込みアプリでの利用が増えた libadwaita はカスタムテーマをサポートしていないため、WhiteSur は gtk-4.0 設定ファイルをテーマファイルで上書きする限定的な回避策を提供する
  • ./tweaks.shGDM, Firefox, Flatpak 関連のテーマ適用と復元を担当し、GDM の背景画像・ぼかし・暗化処理、Firefox の Monterey/flat/adaptive バリアントなどを設定できる
  • Flatpak アプリのテーマ問題は flatpak overridegtk-3.0gtk-4.0 設定へのアクセスを許可した後に WhiteSur テーマを接続する方式で、README では Snap はサポートしないと明記している

WhiteSur GTK Theme の概要

  • WhiteSur GTK Theme は Linux GTK デスクトップ向けの macOS スタイルテーマ
  • 基本説明は「Linux GTK Desktops 向けの macOS 風テーマ」として示されている
  • README は GTK テーマのインストールだけでなく、GNOME Shell、GDM、Firefox、Flatpak まであわせて扱う構成になっている

インストールと基本要件

  • 基本インストール手順は簡単
  • ソースインストールの依存関係には sassc, libglib2.0-dev-bin, libglib2.0-dev, libxml2-utils, glib2-devel などが含まれる
  • その他の依存関係として imagemagick, dialog, optipng, inkscape が提示されており、一部は GDM テーマ調整やアセットのレンダリング向けの任意項目
  • README では WhiteSur インストーラーが該当する依存関係を提供すると案内している
  • 推奨される GNOME Shell 拡張は次のとおり

install.sh のカスタマイズ

  • ./install.sh [OPTIONS...] はインストール対象とテーマのバリアントを細かく指定する
  • 主なオプションは次のとおり
    • --dest: インストール先ディレクトリを指定、デフォルトは /home/[USER_NAME]/.themes
    • --name: テーマ名を指定、デフォルトは WhiteSur
    • --opacity: normal, solid の透明度バリアントを指定
    • --color: light, dark の色バリアントを指定
    • --alt: ウィンドウコントロールボタンのバリアントを指定
    • --theme: default, blue, purple, pink, red, orange, yellow, green, grey, all のアクセントカラーを指定
    • --scheme: standard, nord の配色スキームを指定
    • --monterey: macOS Monterey スタイルを適用
    • --nautilus: stable, normal, mojave, glassy, right の中から Nautilus スタイルを指定
    • --libadwaita: gtk4.0 設定に libadwaita 用テーマをインストール
    • --highdefinition: 高解像度サイズを適用
  • GNOME Shell 関連オプションではパネルとアイコンを調整できる
    • Activities アイコンは apple, gnome, ubuntu, tux, arch, fedora, debian などに指定可能
    • 背景画像は default, blank, IMAGE_PATH から選択可能
    • パネル透明度は 30, 45, 60, 75 などを指定可能
    • パネルの高さ、フォントサイズ、アプリボタンのスタイルも調整可能
  • 削除は ./install.sh -r で GTK テーマを削除する方式

libadwaita の回避策と制約

  • Gnome 43.0 以降、より多くの組み込みアプリが libadwaita を使用している
  • libadwaita はカスタムテーマをサポートしていないため、gnome-tweaksdconf-editor で libadwaita アプリの外観を変更することはできない
  • WhiteSur の回避策は theme filegtk-4.0 configuration file を上書きすること
  • この方式の制約は明確
    • すべての GTK4 アプリが 1 つの固定テーマを使うことになる
    • テーマ切り替えはできない
    • ダークモードにも切り替えられない
    • 他のテーマに変更するには gtk-4.0 設定ファイルを新しいテーマで再度上書きする必要がある
  • libadwaita 向けのインストール例は次のとおり
    • ./install.sh -l: 基本の normal dark テーマをインストール
    • ./install.sh -l -c light: light テーマをインストール

色、Nautilus、追加テーマバリアント

  • テーマのアクセントカラーは --theme または -t でインストール
    • ./install.sh -t red: red アクセントカラーのみインストール
    • ./install.sh -t red -t green: red と green のアクセントカラーをインストール
    • ./install.sh -t all: すべてのアクセントカラーをインストール
  • Nautilus スタイルは --nautilus または -N で指定
    • 例: ./install.sh -N mojave
  • より多くのカスタマイズは ./install.sh -h で確認できる
    • パネル透明度
    • テーマ透明度
    • ウィンドウコントロールボタンのバリアント など

tweaks.sh: GDM, Firefox, Flatpak

  • ./tweaks.sh [OPTIONS...] は GDM、Firefox、Flatpak 関連の調整を担当する
  • GDM テーマ--gdm または -g でインストールし、root 実行が必要
    • 例: sudo ./tweaks.sh -g
    • --background または -b で背景画像を指定できる
    • --nodarken または -nd で背景の暗化処理を行わない
    • --noblur または -nb で背景のぼかし処理を行わない
  • Firefox テーマ--firefox または -f でインストール
    • monterey, flat, alt, darker, nord, adaptive, link オプションがある
    • adaptiveadaptive-tab-bar-colour プラグインのインストールが必要
    • --edit-firefox または -e でインストール済みの Firefox テーマ設定を編集し、現在の Firefox プロファイルに接続できる
  • Flatpak--flatpak または -F で WhiteSur テーマを接続
    • -o, -c, -t, -s オプションで透明度、色、アクセントカラー、配色スキームを指定可能
    • Snap はサポートしない
  • Flatpak のテーマ問題を修正するためのコマンドは次のとおり
    • sudo flatpak override --filesystem=xdg-config/gtk-3.0 && sudo flatpak override --filesystem=xdg-config/gtk-4.0

あわせて推奨される項目

1件のコメント

 
GN⁺ 2025-02-24
Hacker News の意見
  • Linux テーマを使ってみた経験は、たいていあまり良くなかった。良いテーマでも、あるアプリには合っても別のアプリには合わず、結局 例外ケースを直したり、一部のウィンドウが不自然なのを受け入れたりするのに時間を使うことになる
    なので、GNOME に標準で入っている Ubuntu のデフォルトテーマをそのまま使っている。ほとんどのアプリでいちばんよく馴染み、小さな例外がいくつかあるだけ
    もっと良いテーマがあるかもしれないし、十分に掘り下げれば完璧な一貫性を作れるのかもしれないが、すでにコーディングでコンピューターの前に多くの時間を費やしている身としては、デスクトップテーマの優先度はかなり低い
    デスクトップ環境も同じ。GNOME が最高ではないことは分かっているが、XFCE やタイル型ウィンドウマネージャーに時間をかけて理想の構成を作る余裕はない。GNOME はリソースを多めに食っても、ただ普通に動いてくれる点が良い

    • 自分でテーマを作ったことはないが、GTK 側の問題はおおむね CSS の競合と、libadwaita が GTK 本体とは別に動いていることから来ているように思う
      GTK アプリのかなり多くが色やフォントなどをパラメーター化せずハードコードしていて、テーマ変更にきちんと反応しないようだ。こうした要素が重なって、テーマ体験がまちまちになる
      Qt 側は少し良さそうに見えるが、解像度スケーリングの問題がある。使ってみた KDE/Qt テーマの大半は、整数倍率でないときに正しく描画できなかった
      個人的には、CSS はデスクトップ UI ツールキットのテーマ用途にはかなり向いていないと思う。単一アプリなら悪くないが、より大きく柔軟なシステムの一部になると、すぐ複雑になる
    • themes.org 全盛期の創造性が今でも恋しい
      創造的な人は多いが、すべてのプログラムと人、あらゆる状況や例外でテーマがうまく動くようにするには膨大な労力が必要だ。有給の人員を抱える会社のチームが、1つか2つのバリエーションを継続的に管理し、バグレポートをためて修正していくやり方のほうが合っているように見える
      毎日自分で使っておらず、遭遇したことも再現もできない問題を抱えたコードやデザインを保守するのは難しい
      ものすごく極端に献身的な人なら可能かもしれない: https://www.nordtheme.com/ports
      90年代末から2000年代初頭にかけて、デスクトップのカスタマイズに膨大な時間を浪費したが、ずいぶん前からそんな時間はなくなった。幸い、最近のデフォルトテーマはかなり良く、ほとんどの状況で十分に中立的だ
    • テーマが完璧だったとしても、使っている環境の新バージョンに合わせた更新がいつか止まるので、結局は諦めることになる
    • 2000年代から2010年代初頭には、Linux デスクトップ環境の API 変更が起きる前だったので、テーマはもっとよく動いていた。多くの Linux テーマサイトがその頃で止まっているように見える理由もそれだ
    • Ubuntu テーマでアクセントカラーだけを変えたいなら Yaru がある: https://github.com/ubuntu/yaru
  • どんな種類であれ、テーマをインストールしてから久しい。昔の経験では、テーマが適用された要素と適用されていない要素の 境界に、いつも見た目のぎこちなさがあった
    「Fix for libadwaita (not perfect)」という副題も信頼感を与えるものではない。この特定のテーマをけなしたいわけではなく、テーマ適用全般にあるリスク要因だ

    • 他の OS をまねるテーマは、スタイルだけは追随できても 動作の仕方までは追随できないのが問題だ
      スクリーンショットは似て見えても、実際には元の OS のようには動かないため、あちこちで妥協が生じ、先ほど述べたぎこちなさにつながる
      例えば GNOME には最小化という概念がない。拡張で追加することはできるが、ぎこちなく奇妙に感じる。基盤システムがそのように設計されていないなら、テーマでは変えられない
    • GNOME は変化が頻繁で、メンテナーがプラグインを合わせ続けるのが面倒なため、プラグインやテーマの 期待寿命は短めだ
    • ほとんどの GNOME テーマには当てはまる話だが、XFCE で Chicago95 を3年使ったとき、不自然な部分は片手で数えられるほどだった: https://github.com/grassmunk/Chicago95
    • KDE で GNOME アプリを動かしたり、その逆をしたりするのは、以前は本当に大きな苦痛だった
      見た目のひどさは信じがたいほどで、公式の解決策も追加のブリッジテーマをインストールして全体の見た目を統一しようとする方式だったため、完璧ではなかった
      今は良くなったが、2025年でも KDE 上の GParted は依然として不自然に見え、これは残念だ
    • ここでいう「Fix」は、実質的には ハックを意味する。GNOME と libadwaita は、このようなテーマ変更を公式にはサポートしていない
  • 数年前、韓国の Ubuntu カンファレンスで、MacBook 上で Linux を動かしながら macOS そっくりに完璧に飾り付けている子を見た
    なかなか面白かったが、発表しようとすると HDMI が動かなかった

    • 推測するに Nvidia だったのだろう
    • カーネルコードは人々が信じているよりずっとひどい、という話もある。神聖な存在ではなく、変わり者たちが作ったものだからなのだろう
  • 話題から少し外れるが、興味深いかもしれない。昔はKDEの設定をかなりいじっていて、ほとんど趣味のようにやっていた。別のデスクトップ環境、別のウィンドウマネージャー、色、テーマ、拡張機能などをよく試していた。
    ところがその設定を別のマシンで再現できず、ノートPCはいつも見た目が悪く、メインマシンだけがきれいだった。
    2年ほど前に i3 に乗り換えた。色と主要なキーバインドを変えた設定ファイルが1つ、バーとランチャーを使いやすく調整したファイルが1つ、それだけだ。2つの設定ファイルをコピーすれば、どのシステムも同じ見た目と動作になる。
    見た目は悪いが邪魔はしない。画面のピクセルの98%以上は実行中のアプリが占めるので、何かを調整する必要もない。
    デスクトップ環境は見えず、相手にする必要もなく、ただ動く。慣れてしまったし、集中したいときは非常に生産的で、楽しむときや文章を書くときも完全にそこへ集中できる。
    アプリ内部のアニメーション以外、どんなアニメーションも再生されない。アプリを開くときは名前を入力しているので、目的のアプリであることは確実で、すぐ開く。
    Windowsではアプリ名を入力してEnterを押す直前に検索結果が変わり、別のものが起動する。
    乗り換えて以来、GTK対Qtのテーマを一度も気にしたことがない。ウィンドウ装飾もない。ワークスペース、コード、ブラウザだけがあり、ウィンドウマネージャーがあることすら忘れる。
    当分戻るつもりはなく、KDEやGNOME、さらにはWindows GUIでさえ遅く鈍く感じる。

    • デスクトップ環境をある程度きれいに飾りはしたが、深くはまることはなかった。その後 i3-gaps に移ったが、それでも端末エミュレーター、シェルプロンプト、補完、vimプラグイン、iommu/vfioなどの設定や比較に多くの時間を費やしていた。
      ある時点で全部にうんざりしてWindows/MacOSに戻り、過剰に設定せず、必要なときにツールをインストールし、できるだけデフォルトのまま使うことにした。
      こうしたものをメンテナンスしなくてよいという点に加えて、どのマシンにsshで入っても自分用にカスタムしたツールが恋しくならないことに気づいた。
    • dotfilesは gitで管理 するのがおすすめ。このガイドが始めるのに役立った: https://www.atlassian.com/git/tutorials/dotfiles
      新しいマシンでwgetして実行すれば数秒で準備できる小さなスクリプトを書くことを勧める。そうすれば設定ファイルが2個でも200個でも関係ない。自分の場合は使うツールもインストールし、一部はソースからビルドしている。
    • Windowsでアプリ名を入力してEnter直前に検索結果が変わり、別のアプリが起動するようなことは起きるべきではない。
      たとえばKeePassが k、ke、kee で始まるアプリの最有力候補なら、keep、keepa などでもそうであるべきだ。そういう現象は経験したことがない。
      ただし、アプリ名を入力し間違えたならあり得る。最後の誤入力への反応が、手がEnterへ移動している間に起こることはある。
  • GNOME開発者コミュニティの テーマ反対の空気 を思い出す: https://stopthemingmy.app/

    • すべてのアプリの背景色と前景色を実際に簡単に選べる別の方法があるなら、喜んでテーマのカスタマイズは二度としない。
      黒い背景に白い文字が好きだ。暗い灰色の背景に白い文字ではないし、完全な黒ではない文字と黄ばんだ背景はさらに嫌いだ。
      バッテリー寿命にはほとんど影響がなく、デザインの観点では暗い灰色のほうが良いと見なされていることも分かっているが、気にしない。自分が使うデバイスで自分だけが見る色なのに、なぜ他人が好むかを重要視しなければならないのか分からない。
      理由は分からないが、自分で GTKテーマ を作らない限り、これはほとんど実現できない。他人が作ったテーマでも、黒背景だけを変えて、アイコンや余白などに作者の好みを入れていないものは見つけられなかった。
      それでも可能であることには感謝している。GTKやQtではないアプリには、そもそもテーマ機能がない場合が多いからだ。
      コーディング用エディタを除けば、完全な黒の背景色を選ばせてくれるElectronアプリはほとんど見たことがない。だからSlackやDiscordのようなものはブラウザで動かし、ユーザーCSSで見た目を整えようとしている。
      Electronアプリでも開発者モードのようなもので可能かもしれないことはぼんやり知っているが、すでにブラウザで動くものをアプリ側で再現するために時間を使いたくはない。
      この主張を「カスタムテーマを使うな」と表現すると説得力が落ちる。彼らが挙げる問題を起こさずに同じ柔軟性を得る簡単な方法がほとんどないからだ。
      友人や親戚がすべてのサイトで同じパスワードを使っているのを見て、同時にWindowsを消してLinuxへ乗り換え、パッケージマネージャーを入れるよう説得するのに似ている。主観的な好みと客観的な技術的助言を混ぜると、後者の説得力まで薄まってしまう。
    • エイプリルフールのサイトみたいだが、信じがたい。
    • ほとんど完全なデタラメだ。
  • このテーマの上部スクリーンショットのように Appleロゴ とFinderアイコンを使うのは避けたほうがよさそうだ。
    それと「Default」から「Majave」に変わったNautilusスタイルが具体的に何が違うのかもよく分からない。
    それ以外はテーマはかなり良さそうに見える。

    • スクリーンショットにある Launchpad、Activity Monitor、App Store、Music、Safariのアイコンにも著作権がある。
    • 違いは、サイドバーがタイトルバーの下で終わるか、タイトルバーまで続くかだ。
    • デフォルトではサイドバーが全高になっている。
    • Appleはおそらく取り下げさせる可能性が高い。過去にも似た look and feel プロジェクトに対してそうしていた。
  • LinuxScoopは、複数年・複数バージョンにわたってKDE、GNOME、XFCE向けの macOS風テーマ に取り組んできた: https://invidious.baczek.me/channel/UCNnUnr4gwyNmzx_Bbzvt29g...

  • GNOME のデフォルトテーマを使っている
    良くて、落ち着いていて、質素。UI は開発者が意図したとおりに見えるし、テーマ探しに自分の時間を使う必要もない
    Linux を隠す必要もない。なぜそうしなければならないのか? GNOME は macOS より見た目が良い
    私にとってテーマが重要なのはシェルとソースコード。可読性が重要で、見た目も良くあってほしいから。screen を使う TTY でも気を遣っている

    • libadwaita は大きな転換点だった。今や GNOME は突然、あらゆるデスクトップ環境やプラットフォームの中で最も見栄えの良いアプリ群を持つようになった
      WhiteSur が GTK を使う OSX 開発者の役に立つことは願うが、GNOME と Linux の中には持ち込んでほしくない
  • macOS Dock のクローンたちが Apple と同じ拡大方式を使っていないことに気づいた。あれは Apple が特許を取っていたからだ

    • それは知らなかったが、該当する特許は失効しているように見える
      https://patents.google.com/patent/US7434177B1/en
      https://patents.google.com/patent/US8640045B2/en
      いずれにせよ、この特定のテーマは Apple のアイコンの一部をほぼそのままコピーして使っているようなので、作者が知的財産権をそれほど気にしていたようには思えない
    • 特許請求項の内容は、カーソルとタイル端との距離 d1、d2 を置き、サイン関数で d1′、d2′を計算してから倍率を決めるというもの
      これは発明とは言いにくい
    • このテーマは macOS のさまざまなアイコンや部品をコピーすることにためらいがないように見えるので、それが理由ではなさそう
  • ここに上がっているのが意外。何年も使ってみたし、Apple のデザインは今でも全般的に、GNOME/KDE の大半のテーマより優れていると信じている。ただし GNOME のバグ がかなり多かったので、その後は別の環境に移った