Fedora 45 設定ガイド

Fedora 45 設定マニュアル

広告

Fedora 45 がついにリリースされた。新しい設定マニュアルを書く時期だ。しかも Fedora の新バージョン+プリインストールの GNOME はどんどん完成度が上がっていて、後から入れるプラグインや設定も減り、システム全体が箱出しで使える方向に進んでいるのをひしひしと感じる。

今回の Fedora 45 は GNOME 51 スイートにアップグレードされ、システムの流暢さが大幅に向上し、メモリ使用量もいくらか削減されたと謳われている。アップグレードする価値は十分にあるバージョンだ。

広告

もちろん GNOME 51 では Fedora が Wayland の有効化方法を完全に閉じた。もしあなたの GPU が X11 でしか動かないなら、ハイブリッドグラフィックスアクセラレーションはまず有効にできない。GPU をアップグレードする必要がある。

では具体的な設定マニュアルに入ろう。「ネイティブ」「GNOME」「カスタマイズは極力少なく」を基準にする。理由は以前書いたので自分で確認してほしい。

Screenshot From 2026-11-03 10-07-12.png

システムインストール

以前のバージョンと同じで、Fedora 45 のシステムインストールに大きな変更はない。SSD 単体のユーザーには引き続き btrfs ファイルシステムを推奨する。スナップショットの恩恵は大きいし、今どきの NVMe クラスの読み書きなら性能面で影響はほぼない。

デフォルトでは Swap を有効にする必要はない。Fedora が Zram を有効にするからだ。特別な事情がない限り、Zram が現在の一般的な PC に最適な最適化方法だと思っている。

今の Linux の最大の欠点の一つはハイバネーションがないことだ。Windows のような「長時間待機後に自動でハイバネーションに移行する」超長期待機はできない。ただ、かなり近づいているようで、Valve や Google が真剣に推進しているのを見かける。ある日突然実現するかもしれない。

個人的には英語インターフェースとロケールを選んでいる。英語に抵抗がないコンピュータ関連業界のユーザーには英語ロケールを勧める。崇洋思想ではなく、長年の経験からいくつか理由がある。

まず、オープンソースソフトのローカライズはコミュニティに依存することが多く、翻訳が間に合わないことがよくある。新機能が翻訳されず、インターフェースが二言語混在で醜くなる。

もう一つは GNOME のインターフェースデザインが英語表示を前提にしていること。雑に翻訳すると見た目が良くない。特に繁体字中国語と日本語は、画数が多くフォントが小さいか、カタカナが氾濫して文字幅が揃わないかで、英語のオリジナルより見栄えがしない。だから英語原本を勧める。どうせ数文字だ、英語をそのまま読めばいい。

GNOME と Mutter の設定

インストール後初めてシステムに入ると簡単なチュートリアルが表示される。見たい人は見ればいいし、飛ばしてもいい。次のバージョンではこのチュートリアルは無効になっているかもしれない。

Fedora 45 内蔵の GNOME 51 は大きな改良版だ。前回の GNOME 50 や 49 と比べて、性能が改善され、Fractional Scaling が実質的に改善され、システムのデフォルト設定の一部になった。

そう、子どもたちよ。この Fractional Scaling は少なくとも10年前から取り組まれていて、ハッカソンのテーマにまでなったのに、10年経ってようやく本当に安定したのだ。

今は Mutter の開発者モードや体験モードを有効にしなくても、ディスプレイ設定でドラッグして非整数倍率を調整できる。一般的なデバイスなら 125% で十分だし、166% や 133% という特殊な選択肢も試す価値がある。

dconf-editor を入れれば実験オプションもまだ設定できるが、残っているのはどうでもいい項目ばかりだ。要するに、以前「実験的」だったものが正式版に統合され、GNOME 51 の Wayland では性能損失を低く抑えつつ完璧に各種スケーリングを有効にできる。

同時に各種性能最適化により、GNOME はデスクトップとして昔とは比べ物にならない。ただし Wayland で動かす必要がある。基本的な入門設定の要件は依然としてある。

基本リポジトリ設定

まずリポジトリを最新にする。

sudo dnf update

updates-testing チャンネルを手動で有効にすることもできる。

sudo dnf update --enablerepo=updates-testing --refresh

たまに有効にするのは勧めるが、常時有効は勧めない。ソフトは新しいが Bug を踏むリスクがある。リスクは大きくないが、2ヶ月に1回くらいは踏む。bodhi プラットフォームでコメントをよく確認する必要がある。

次に rpmfusion を有効にする。正直、今これを有効にする意味は昔よりずっと小さい。

sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

次に flathub リポジトリを有効にする。先に「サードパーティアプリ」を有効にしていないなら、手動で flathub を追加するのは良い選択だ。

flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

国内ミラーを有効にする:

https://mirrors.tuna.tsinghua.edu.cn/help/fedora/

公式リポジトリから flathub まで、国内ミラーは有効にできる。おすすめは教育ネットワークの主要大学で、ミラーページに説明もあるのでその通りにすればいい。ここでは清華大学を使う。上海交通大学や電子科技大学も使う価値がある。ただしあなたが過激派で上流に近づきたいなら、これはやらなくていい。公式の Fedora にも自動ミラー検出機能があるからだ。

基本拡張機能のインストール

拡張機能はあまり入れていない。ネイティブ操作を追求しているので、拡張が本当に必要か、唯一無二か、今後の更新が保証されるかが主な判断基準だ。拡張を大量に入れてメジャーアップデートのたびに複数の開発者が消息不明になると、かなり心が焼ける。

GNOME Shell の拡張公式サイトを開く:https://extensions.gnome.org/

ここで私が必須だと思うものを挙げる:

タスクバー対応プラグイン。telegram などのアプリを最小化したときにアイコンが見える https://extensions.gnome.org/extension/615/appindicator-support/

カフェイン拡張。PC のスリープを一時的に防ぐ https://extensions.gnome.org/extension/517/caffeine/

GTK4 版デスクトップアイコン拡張。デスクトップアイコンを表示する(GNOME デフォルトでは非表示) https://extensions.gnome.org/extension/5263/gtk4-desktop-icons-ng-ding/

時間に応じてダーク/ライトモードを自動切替(壁紙切替にも対応) https://extensions.gnome.org/extension/2236/night-theme-switcher/

リソース監視拡張(ネット速度、CPU 使用率、消費電力など) https://extensions.gnome.org/extension/1460/vitals/

Fcitx5 入力法専用の美化拡張。入力法と GNOME Shell の統合を良くする https://extensions.gnome.org/extension/261/kimpanel/

他の拡張は状況次第だが、あまり多く入れない方がいい。一つは消費が多く、原因不明のメモリリークや Bug が出やすい。もう一つはメジャーアップデートのたびに大量の問題が発生する。ネイティブで済むならネイティブ、公式背景のあるプラグインで済むならそれを使うのが最適だ。

中国語/日本語入力法のインストール

理論上 GNOME のネイティブ入力法は iBus だ。私も試したが、残念ながら iBus はダメすぎる。主なダメポイントは三つ:

1、入力速度が速すぎるとよくフリーズする。バグ報告は絶えず、公式も最適化を続けているが、何年経ってもフリーズする……

2、QT プログラムへの対応が不十分。多くの QT プログラムで入力法が有効にできない。聞くな、GTK のプログラムに変えろと言われるだけだ。

3、Fedora のデフォルトパッケージでは「雲入力」が有効になっていない。これが一番アホだ。iBus のピンインは雲入力対応だが、Fedora がパッケージング時に無効にしている。理由は「オープンソースでなく、プライバシー問題の疑いがある」から。しかもユーザーに選択肢を与えていない。rpmfusion でオープン版を提供するとかもない。雲入力を有効にしたければ自分でビルドするしかない。アホすぎる……

だから総合的に判断して、GNOME ユーザーには fcitx5 入力法を勧める。現状、入力の最適解だ。

インストールは簡単:

sudo dnf install fcitx5-chinese-addons fcitx5-autostart

日本語入力法が欲しいなら:

sudo dnf install fcitx5-mozc

インストール後、デフォルトでログアウトして再ログインすれば入力法は使えるはずだが、入力ウィンドウが醜いことがある。GNOME 用の拡張を入れて美化するといい:

https://extensions.gnome.org/extension/261/kimpanel/

ログアウトして再ログインすると、入力ウィンドウが GNOME のデフォルトスタイルに合い、システムに馴染む。

Fcitx5 自体にも多くの設定や遊び方がある。emoji 入力、大型辞書のインポートなど。ネットで検索してほしい。雲入力を有効にするのを忘れずに。Baidu 雲が選べる。

フォントレンダリングの最適化

Fedora 45 は新しい Adwaita Sans と Adwaita Mono フォントを使っている。実は他のフォントをベースに改造したものだが、まだ小さな問題はあるものの、以前の表示上の大部分の頑疾は解決された。だから最適化もずっと簡単になった。

引き続き RGB ではなくグレースケールを使う。理由は以前書いたので省略する。

設定ファイルを直接作成する:

mkdir ~/.config/fontconfig/
gnome-text-editor ~/.config/fontconfig/fonts.conf

以下の設定ファイルを貼り付ける:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<fontconfig>
    <!-- フォントのレンダリング方式を設定。グレースケールを使い、rgb は使わない -->
  <match target="font">
    <edit mode="assign" name="rgba">
      <const>none</const>
    </edit>
  </match>
   <match target="font">
<edit name="autohint" mode="assign">
    <bool>false</bool>
    </edit>
 </match>
<match target="font">
<edit name="hinting" mode="assign">
    <bool>true</bool>
    </edit>
     </match>
         <!-- フォントのレンダリング方式を設定。none も slight も使える -->
  <match target="font">
    <edit mode="assign" name="hintstyle">
      <const>hintslight</const>
    </edit>
  </match>

  <match target="font">
    <edit mode="assign" name="antialias">
      <bool>true</bool>
    </edit>
  </match>

    <!-- Emoji フォント専用の設定。表示できない問題を防ぐため。emoji フォントは none レンダリングを使えない -->
  <match target="font">
    <test name="family" qual="any">
      <string>Noto Color Emoji</string>
    </test>
        <edit name="rgba" mode="assign">
      <const>none</const>
    </edit>
        <edit name="embolden" mode="assign">
      <bool>false</bool>
    </edit>
         <edit mode="assign" name="lcdfilter">
    <const>lcddefault</const>
  </edit>
    <edit name="scalable" mode="assign">
      <bool>true</bool>
    </edit>
    <edit name="embeddedbitmap" mode="assign">
      <bool>true</bool>
    </edit>
    <edit name="hinting" mode="assign">
      <bool>true</bool>
    </edit>
        <edit name="autohint" mode="assign">
      <bool>false</bool>
    </edit>
  <edit name="antialias" mode="assign">
      <bool>true</bool>
    </edit>
        <edit name="hintstyle" mode="assign">
      <const>hintslight</const>
    </edit>
  </match>

  <!-- Default system-ui fonts -->

   <match target="pattern">
    <test name="family">
      <string>system-ui</string>
    </test>
    <edit name="family" mode="prepend" binding="strong">
      <string>sans-serif</string>
    </edit>
  </match>

  <!-- デフォルト emoji フォント。 -->
  <match target="pattern">
    <test name="family" qual="any">
      <string>emoji</string>
    </test>
    <edit name="family" mode="prepend" binding="same">
      <string>Noto Color Emoji</string>
    </edit>
  </match>

<!-- Apple Color Emoji フォントを置換。 -->
    <match target="pattern">
    <test name="family" qual="any">
      <string>Apple Color Emoji</string>
    </test>
    <edit name="family" mode="assign" binding="same">
      <string>Noto Sans</string>
    </edit>
  </match>

    <match target="pattern">
    <test name="family" qual="any">
      <string>SF Pro Icons</string>
    </test>
    <edit name="family" mode="assign" binding="same">
      <string>Noto Color Emoji</string>
    </edit>
  </match>

 <!-- Apple フォントを置換。 -->
    <match target="pattern">
    <test name="family" qual="any">
      <string>PingFang SC</string>
    </test>
    <edit name="family" mode="assign" binding="same">
      <string>Noto Sans CJK SC</string>
    </edit>
  </match>
    <match target="pattern">
    <test name="family" qual="any">
      <string>SF Pro Text</string>
    </test>
    <edit name="family" mode="assign" binding="same">
      <string>Noto Sans</string>
    </edit>
  </match>
    <match target="pattern">
    <test name="family" qual="any">
      <string>HanHei SC</string>
    </test>
    <edit name="family" mode="assign" binding="same">
      <string>Noto Sans CJK SC</string>
    </edit>
  </match>
  <match target="pattern">
    <test name="family" qual="any">
      <string>SF Pro SC</string>
    </test>
    <edit name="family" mode="assign" binding="same">
      <string>Noto Sans CJK SC</string>
    </edit>
  </match>
  <match target="pattern">
    <test name="family" qual="any">
      <string>SF Pro</string>
    </test>
    <edit name="family" mode="assign" binding="same">
      <string>Noto Sans</string>
    </edit>
  </match>

   <!-- Windows フォントを置換。 -->
    <match target="pattern">
    <test name="family" qual="any">
      <string>Microsoft Yahei</string>
    </test>
    <edit name="family" mode="assign" binding="same">
      <string>Noto Sans CJK SC</string>
    </edit>
  </match>

   <!-- MS フォントを置換。 -->
    <match target="pattern">
    <test name="family" qual="any">
      <string>arial</string>
    </test>
    <edit name="family" mode="assign" binding="same">
      <string>Noto Sans</string>
    </edit>
  </match>

  <!-- Map fonts that are commonly used by web pages to our preferred fonts -->
  <match target="pattern">
    <test qual="any" name="family"><string>Liberation Sans</string></test>
    <edit name="family" mode="assign" binding="same"><string>sans-serif</string></edit>
  </match>

  <match target="pattern">
    <test qual="any" name="family"><string>Tahoma</string></test>
    <edit name="family" mode="assign" binding="same"><string>sans-serif</string></edit>
  </match>

  <match target="pattern">
    <test qual="any" name="family"><string>Arial</string></test>
    <edit name="family" mode="assign" binding="same"><string>sans-serif</string></edit>
  </match>

  <match target="pattern">
    <test qual="any" name="family"><string>Liberation Mono</string></test>
    <edit name="family" mode="assign" binding="same"><string>monospace</string></edit>
  </match>

  <match target="pattern">
    <test qual="any" name="family"><string>Droid Sans Mono</string></test>
    <edit name="family" mode="assign" binding="same"><string>sans-serif</string></edit>
  </match>

  <!-- Default sans-serif fonts-->
  <match target="pattern">
    <test name="family">
      <string>sans-serif</string>
    </test>
    <edit name="family" mode="prepend" binding="strong">
      <string>Noto Sans</string>
      <string>Noto Sans CJK SC</string>
      <string>Noto Color Emoji</string>
    </edit>
  </match>

  <!-- Default serif fonts-->
  <match target="pattern">
  <test name="family">
    <string>serif</string>
  </test>
  <edit name="family" mode="prepend" binding="strong">
      <string>Noto Serif</string>
      <string>Noto Serif CJK SC</string>
      <string>Noto Color Emoji</string>
    </edit>
  </match>

  <!-- Default monospace fonts-->
  <match target="pattern">
    <test name="family">
      <string>monospace</string>
    </test>
    <edit name="family" mode="prepend" binding="strong">
      <string>Noto Sans Mono</string>
      <string>Noto Sans Mono CJK SC</string>
      <string>Noto Color Emoji</string>
    </edit>
  </match>

    <!-- Default font for the zh_CN locale (no fc-match pattern) -->

    <match target="pattern">
    <test name="lang" compare="contains">
      <string>en</string>
    </test>
    <test name="family" compare="contains">
      <string>Noto Sans CJK SC</string>
    </test>
    <edit name="family" mode="prepend" binding="strong">
    <!--      <string>HarmonyOS Sans SC</string>-->
      <string>Noto Sans</string>
      <string>Noto Sans CJK SC</string>
      <string>Noto Color Emoji</string>
    </edit>
  </match>

  <match target="pattern">
    <test name="lang" compare="contains">
      <string>en</string>
    </test>
    <test name="family" compare="contains">
      <string>Noto Serif CJK SC</string>
    </test>
    <edit name="family" mode="prepend" binding="strong">
      <string>Noto Serif</string>
      <string>Noto Serif CJK SC</string>
      <string>Noto Color Emoji</string>
    </edit>
  </match>

  <match target="pattern">
    <test name="lang">
      <string>zh-CN</string>
    </test>
    <test name="family">
      <string>Noto Sans CJK SC</string>
    </test>
  </match>

  <match target="pattern">
    <test name="lang">
      <string>zh-CN</string>
    </test>
    <test name="family">
      <string>Noto Serif CJK SC</string>
    </test>
  </match>

  <match target="pattern">
    <test name="lang">
      <string>zh-CN</string>
    </test>
    <test name="family">
      <string>Noto Sans Mono CJK SC</string>
    </test>
  </match>

  <match target="pattern">
    <test name="lang">
      <string>zh-HK</string>
    </test>
    <test name="family">
      <string>Noto Sans CJK SC</string>
    </test>
    <edit name="family" binding="strong">
      <string>Noto Sans CJK HK</string>
    </edit>
  </match>

  <match target="pattern">
    <test name="lang">
      <string>zh-HK</string>
    </test>
    <test name="family">
      <string>Noto Serif CJK SC</string>
    </test>
    <edit name="family" binding="strong">
      <!-- not have HK -->
      <string>Noto Serif CJK TC</string>
    </edit>
  </match>

  <match target="pattern">
    <test name="lang">
      <string>zh-HK</string>
    </test>
    <test name="family">
      <string>Noto Sans Mono CJK SC</string>
    </test>
    <edit name="family" binding="strong">
      <string>Noto Sans Mono CJK HK</string>
    </edit>
  </match>

  <match target="pattern">
    <test name="lang">
      <string>zh-TW</string>
    </test>
    <test name="family">
      <string>Noto Sans CJK SC</string>
    </test>
    <edit name="family" binding="strong">
      <string>Noto Sans CJK TC</string>
    </edit>
  </match>

  <match target="pattern">
    <test name="lang">
      <string>zh-TW</string>
    </test>
    <test name="family">
      <string>Noto Serif CJK SC</string>
    </test>
    <edit name="family" binding="strong">
      <string>Noto Serif CJK TC</string>
    </edit>
  </match>

  <match target="pattern">
    <test name="lang">
      <string>zh-TW</string>
    </test>
    <test name="family">
      <string>Noto Sans Mono CJK SC</string>
    </test>
    <edit name="family" binding="strong">
      <string>Noto Sans Mono CJK TC</string>
    </edit>
  </match>

  <match target="pattern">
    <test name="lang">
      <string>ja</string>
    </test>
    <test name="family">
      <string>Noto Sans CJK SC</string>
    </test>
    <edit name="family" binding="strong">
      <string>Noto Sans CJK JP</string>
    </edit>
  </match>

  <match target="pattern">
    <test name="lang">
      <string>ja</string>
    </test>
    <test name="family">
      <string>Noto Serif CJK SC</string>
    </test>
    <edit name="family" binding="strong">
      <string>Noto Serif CJK JP</string>
    </edit>
  </match>

  <match target="pattern">
    <test name="lang">
      <string>ja</string>
    </test>
    <test name="family">
      <string>Noto Sans Mono CJK SC</string>
    </test>
    <edit name="family" binding="strong">
      <string>Noto Sans Mono CJK JP</string>
    </edit>
  </match>

  <match target="pattern">
    <test name="lang">
      <string>ko</string>
    </test>
    <test name="family">
      <string>Noto Sans CJK SC</string>
    </test>
    <edit name="family" binding="strong">
      <string>Noto Sans CJK KR</string>
    </edit>
  </match>

  <match target="pattern">
    <test name="lang">
      <string>ko</string>
    </test>
    <test name="family">
      <string>Noto Serif CJK SC</string>
    </test>
    <edit name="family" binding="strong">
      <string>Noto Serif CJK KR</string>
    </edit>
  </match>

  <match target="pattern">
    <test name="lang">
      <string>ko</string>
    </test>
    <test name="family">
      <string>Noto Sans Mono CJK SC</string>
    </test>
    <edit name="family" binding="strong">
      <string>Noto Sans Mono CJK KR</string>
    </edit>
      </match>

<!-- Fallback fonts preference order -->
  <alias>
    <family>sans-serif</family>
    <prefer>
      <family>Noto Sans</family>
      <family>Noto Sans CJK SC</family>
      <family>Noto Sans CJK TC</family>
      <family>Noto Sans CJK JP</family>
      <family>Noto Sans CJK KR</family>
      <family>Noto Color Emoji</family>
      <family>Noto Emoji</family>
    </prefer>
  </alias>
  <alias>
    <family>serif</family>
    <prefer>
      <family>Noto Serif</family>
      <family>Noto Serif CJK SC</family>
      <family>Noto Serif CJK TC</family>
      <family>Noto Serif CJK JP</family>
      <family>Noto Serif CJK KR</family>
      <family>Noto Color Emoji</family>
      <family>Noto Emoji</family>
    </prefer>
  </alias>
  <alias>
    <family>monospace</family>
    <prefer>
      <family>Noto Sans Mono CJK SC</family>
      <family>Noto Sans Mono CJK HK</family>
      <family>Noto Sans Mono CJK JP</family>
      <family>Noto Sans Mono CJK KR</family>
      <family>Noto Color Emoji</family>
      <family>Noto Emoji</family>
    </prefer>
  </alias>

     <selectfont>
    <rejectfont>
      <pattern>
        <patelt name="family" >
          <!-- This font is causing problem with GitHub -->
          <string>Nimbus Sans</string>
        </patelt>
      </pattern>
    </rejectfont>
  </selectfont>
</fontconfig>

この設定は主に簡体字中国語(CJK)ユーザー向けだ。日本語・韓国語ユーザーは fontconfig の lang とフォントファミリーを ja/ko に変えればいい。Noto Sans CJK JP/KR は Noto CJK フォントパッケージに含まれているので、追加インストールは不要だ。

Microsoft 系のよくあるフォントもインストールできる。一部のサイトの CSS がこのセットに合わせて書かれているからだ:

sudo dnf install curl cabextract xorg-x11-font-utils fontconfig -y
sudo rpm -i https://downloads.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm

もちろん Linux 系でよくある「文泉驛」シリーズフォントも。一部サイトに文泉驛向けの設定がある:

sudo dnf install "wqy-*"

さらに「Microsoft YaHei」フォントをコピーしてシステムにインストールすることを強く勧める。ttf を開いてインストールを選ぶだけだ。私の提供する fontconfig には代替設定を書いてあるが、多くのウェブページがこのフォントを固定指定していたり、一部アプリが強制選択したりする(そう、WPS のことだ)。インストールしないとフォントが見つからず豆腐や文字化けが出る。


Flatpak アプリのフォントレンダリング最適化

フォントレンダリングを正しく設定しても、Flatpak でインストールしたアプリのフォントがまだ醜いことに気づく。正しく適用されていないようだ。

以下を実行してみよう。

flatpak --user override --filesystem=~/.config/fontconfig:ro

flatpak プログラムに fontconfig 設定を読ませる。

もちろんこれで効かないなら、該当する flatpak プログラムの設定パスを開くしかない:

~/.var/app/[アプリ名]/config

中に fontconfig ディレクトリを作成し、先ほどの ~/.config/fontconfig/fonts.conf ファイルをコピーして、flatpak アプリを再起動する。

基本ソフトのインストール

基本ソフトをインストールする時期だ。非常に基礎的なものは RPM で入れ、それ以外は flatpak を使う。可能な限り flatpak を使うことで、アップグレード時の問題を減らせる。

ロジクールマウス制御ソフト solaar をインストール(ロジクールマウスのみ対応)。非ロジクールのマウス・キーボードなら不要:

sudo dnf install solaar

Typora テキストエディタをインストール:

flatpak install flathub io.typora.Typora

Typora が有料で嫌なら Ghostwriter を選べ:

flatpak install flathub org.kde.ghostwriter

定番ソフトをインストール:

sudo dnf install vlc filezilla remmina easytag file-roller showtime

VLC プレーヤー、filezilla FTP ツール、remmina リモートデスクトップ、easytag 音楽 IDTag 編集ツール、file-roller は解凍ツール、showtime は新版 GTK4 の動画プレーヤー。各自選択してインストールすればいい。

定番ブラウザは Firefox を勧める。スクリーンショットソフトは GNOME 純正で十分強力だ。

ここで役立つツールをいくつか紹介する:

GPU Screen Recorder(GPU 情報を直接読み取る配信/録画ツール。消費が低い)

flatpak install flathub com.dec05eba.gpu_screen_recorder

Rustdesk(向日葵や todesk に似たリモートツール。flatpak 版を推奨)

https://github.com/rustdesk/rustdesk/releases

WeChat Flatpak 版

flatpak install flathub com.tencent.WeChat

Steam(RPMFusion にもあるが、個人的には flatpak 版の方が良い)

flatpak install flathub com.valvesoftware.Steam

LinuxQQ

flatpak install flathub com.qq.Discord

編集ソフト KdenLive

flatpak install flathub org.kde.kdenlive

一時メモ帳 Buffer

flatpak install flathub org.gnome.gitlab.cheywood.Buffer

あと Microsoft の二点セット:Edge と Vscode

https://www.microsoft.com/en-us/edge/download
https://code.visualstudio.com/download

そして Google の Chrome

https://www.google.com/chrome/

いずれも RPM 形式を直接ダウンロードしてインストールすればいい。

特殊な用途なら設定関連のアプリも入れられる:

sudo dnf install gnome-tweaks gnome-extensions-app dconf-editor

AV1 エンコード対応のインストール

sudo dnf install libheif-tools

詳細:https://plumz.me/archives/13985/

VA-API ビデオアクセラレーションの有効化

正直、動画再生で問題が出ていないなら、これをいじるのは勧めない。VA-API について、Intel ユーザーなら内蔵で既にサポートされている。N カードユーザーなら試しに有効にしてみてもいい。アクセラレーション対応ならデコーダーもついでにインストールできるが、今は VLC 一本で済ませている。

著作権の都合で Fedora は多くのビデオアクセラレーションサポートを削除しているが、RPMFusion で戻せる:

$ sudo dnf install mesa-va-drivers-freeworld mesa-vdpau-drivers-freeworld
$ sudo dnf swap mesa-va-drivers mesa-va-drivers-freeworld
$ sudo dnf swap mesa-vdpau-drivers mesa-vdpau-drivers-freeworld

他のデコーダーをインストール:

$ sudo dnf groupupdate multimedia --setop="install_weak_deps=False" --exclude=PackageKit-gstreamer-plugin
$ sudo dnf groupupdate sound-and-video
$ sudo dnf install @multimedia @sound-and-video ffmpeg-libs gstreamer1-plugins-{bad-\*,good-\*,base} gstreamer1-plugin-openh264 gstreamer1-libav lame\*

参考: https://kcore.org/2022/12/01/fedora37-codecs/

ちなみに mesa のバージョンアップのたびに、rpmfusion の freeworld パッケージの更新が遅れて依存エラーが出ることがある。数日待ってから更新すればいい。

BTRFS スナップショット管理のインストール

まずツールをインストール:

sudo dnf install btrfs-assistant

後でアプリ一覧にこのプログラムが表示される。

btrfs ファイルシステムは COW(Copy on Write)なので、スナップショットとバックアップが非常に簡単だ。このツールで手軽にスナップショットバックアップができる。

Screenshot from 2024-04-16 18-57-11.png

デフォルトの btrfs インストールは二つのボリュームに分かれてマウントされる。一つはルートディレクトリ root、もう一つはユーザーディレクトリ home。両方とも独立してスナップショットバックアップと復元ができ、このツールなら操作は非常に簡単だ。

このツールは自動バックアップとスナップショットもサポートするが、勧めない。スナップショットが原因で flatpak プログラムの動作が遅くなり、再起動して復元が必要になることがある。

仮想マシン管理 GNOME Box のインストール

Linux の仮想マシンには多くの選択肢がある。有名な virtualbox、vmware、そして GNOME 純正の GNOME-box。

なぜ GNOME-box が私の選択になったか。まず virtualbox や vmware を使う場合、PC の secure boot を無効にする必要がある。でないとカーネルモジュールのビルドが失敗する。毎回カーネル更新のたびに手動署名するか、使わないかの二択だ。

GNOME-box は KVM ベースなので、当然この制限を受けない。

システムに入っていないならインストールを忘れずに:

sudo dnf install gnome-boxes

しかも理論上 KVM の性能は Virtualbox などより優れているので、なおさら KVM を使うべきだ。ただし現在の KVM 最大の問題は Windows のエミュレーションが普通なこと。できないわけではないが、やはりグラフィックス性能のドライバーが満たせない。ここでは QXL などの 2D アクセラレーションドライバーで Windows を動かすことを勧める。本当に高度な 3D 性能が必要なら、GPU パススルーしかない。

Linux のエミュレーションなら性能はとても良い。

Screenshot from 2024-04-16 18-50-08.png

GNOME-box のインターフェースが簡潔すぎて分からないなら、別の制御 GUI をインストールできる:

sudo dnf install virt-manager

これで分かるはずだ。

リモート管理 SSH Pilot のインストール

複数の SSH サーバーを管理するなら、SSH Pilot は現在使用感が良いソフトだ。Rustconn という毎日アップデートして RDP もサポートするものがあるのは知っているが、体験はこれに比べられない。

ただし利点として RustConn は少なくとも Linux 優先で、SSH Pilot はマルチプラットフォームのようだ。もちろん RustConn の更新も非常に頻繁で、未来に SSH Pilot を超える可能性もないではない。私のように両方インストールしてもいい。

クリップボード管理 Gpaste のインストール

Linux のクリップボード管理ツールは多い。クロスプラットフォームの CopyQ もあれば、多くの拡張も対応している。しかし私は Gpaste を最も推す。

理由は簡単で、このツールは十分に安定しており、バックグラウンドサービスとして動作し、単なるプラグインで記録するのではない。しかもこのプラグインは GNOME と深く統合されている。GNOME ユーザーなら自然と第一選択になる。

インストール方法:

sudo dnf install gpaste
sudo dnf install gnome-shell-extension-gpaste

後で拡張機能プログラムで gpaste の拡張を有効にするのを忘れずに。

Telegram の三つのインストール方法

Telegram はクロスプラットフォームのチャットソフトで、Fedora でのインストール方法は三つある:

1、RPMFusion 経由:

sudo dnf install telegram-desktop

この方法は Fedora の二次パッケージで、一部の新機能が失われ、Beta も有効にできないようだ。

2、Flatpak 経由:

flatpak install flathub org.telegram.desktop

3、公式サイトから直接:

https://desktop.telegram.org/

Linux パッケージをダウンロードし、自分でショートカットを作る。私はこの方法を使っている。Beta チャンネルの自動更新を有効にできる。実行プログラムを opt ディレクトリに置き、書き込み権限を与える必要がある。


Oh-My-ZSH のインストール

sudo dnf install zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

もう必要ないこと

以前の Fedora 記事にはいくつかの最適化と Tweakがあったが、一部は Fedora 45 では意味がなくなり、議論する必要もなくなった。

  • rust ベースのスケジューラを有効にする必要はもうない。個人的なテストでは効果が不明瞭

  • TLP をインストールする必要はもうない。最新の Tuned-pdd で十分。より詳細なカスタム要件があれば TLP に戻せばいい

  • Wi-Fi のバックエンド管理に iwd を使う必要はもうない。Intel がこのプロジェクトを放棄したから

  • 非整数スケーリングの dconf 設定を調整する必要はもうない。Mutter 新版に統合され、性能問題はない

Intel-lpmd の削除

以前の記事によると、Fedora には intel-lpmd サービスが内蔵され、大小コアのスケジューリングを最適化する目的だった。しかし実際にはこのスケジューリングは抽象的だ。一方で一部のプラットフォームにしか最適化サポートを提供しない。例えば Wildcat Lake や Arrow Lake など。しかも笑えることに、Arrow Lake や MTL などのプラットフォームでは Fedora 公式のスケジューリングが適切でなく、無脳に大コアをオフにする。アホすぎる。

自分でスケジューリングを修正してみたが、どう変えても余計な気がした。効果がないか、直接性能を制限するかだ。個人的には削除して、元のデフォルト CPU スケジューリングを使うことを勧める。

sudo dnf remove intel-lpmd

余分なコンポーネントの削除

Fedora インストール後に Live CD のものが大量に残る理由が理解できない。cockpit 一式まで。誰もサーバーに使わないのに。

 sudo dnf remove "cockpit-*"

適度に Vibe 拡張

今は AI の時代だ。急速な発展で AI はまるで願いを叶える機械のようになっている。GNOME に関する要望があれば、Agent 付きのプラットフォームを使って自分のプラグイン開発を直接支援してもらうといい。例えば私は自分用の科学上网切替プラグイン Dark Buki を開発した。非常に Deep Dark Fantasy だ。

Screenshot From 2026-11-03 10-03-07.png

本家 plumz.me でこの記事にコメントする

コメントは中国語の本家サイトで受け付けています。このミラーは閲覧専用です。

目次