Fedora 45 配置手册

Fedora 45 终于发布了,是时候来一个新的配置手册了。而且我深刻的感觉到 Fedora 的新版加上预装的 Gnome 是越来越完善的,乃至需要后期安装和配置的插件也越来越少,整个系统也越来越趋于开箱可用。

本次的 Fedora 45 也升级到了 Gnome 51 的套件,号称是极大的提升了系统流畅度,以及降低了一些内存占用。可以说是十分值得升级的版本了。

当然 Gnome 51 中 Fedora 已经彻底关闭了 Wayland 的开启方式,如果的显卡只能用 X11 的话,那大概率是无法开启混合图形加速了,你需要升级你的显卡了。

接下来就是说具体的配置手册吧,一切以“原生”,“Gnome”,“尽可能少自定义”为基准,具体原因之前有写,可以自行查看。

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

系统安装

和之前的版本一样,Fedora 45 的系统安装并没有什么改变,我依然推荐所有 SSD 单硬盘用户使用 btrfs 文件格式,快照带来的好处可是很多的,而且作为现在的单硬盘 nvme 级别的读写来说,性能已经不构成什么影响了。

默认你不需要开启 Swap,因为 Fedora 会启用 Zram,除非你有特殊需求,Zram 是我认为目前主流电脑最合适的优化方式。

现在 Linux 在我看来最大的缺点之一就是没有休眠,不能实现 Windows 那种“长时间待机后会自动转休眠”的超长待机,不过现在看来已经十分接近了,我看到 Valve 和 Google 那边都在认真对推进此事,很可能某一天就突然做到了呢?

我个人是选择英文界面和 Locale,实际上我也建议英文不是问题的计算机相关行业用户使用英文 Locale,这并不是我崇洋媚外,而是多年以来有几个原因:

首先是开源软件的本地化经常依靠社区,这也导致很多时候翻译不及时,一些新加的功能都并没有及时翻译,让界面上显示出来很双语掺杂,十分丑陋。

另一个就是个 Gnome 这个界面的许多设计还是以英文显示效果为主,如果很简单粗暴的进行翻译,看起来也并不好看。尤其是繁体中文和日文,一个笔画浓稠字体还小,一个片假名泛滥,字体长短不一,看起来都不如英文原版好看,这也是我推荐你用英文原版的原因,反正没几个字,不如直接看英文拉倒。

Gnome 与 Mutter 的设置

安装完毕后第一次进入系统,会进行一个简单的教程,想看的可以看看,不想看的跳过也可以,反正没准下一版本这个教程就失效了。

Fedora 45 内置的 Gnome 51 是一个比较大的改进版本,距离上次 Gnome 50 和 49 来说,一方面改良了性能,另一方面则是切实的改进的 Fractional Scaling,已经成为了系统的默认配置和一部分。

是的孩子们,这个 Fractional Scaling 从至少 10 年前就开始搞,甚至还开过黑客马拉松专题,结果到了 10 年之后,才算真正稳定下来。

现在你不需要去开启 Mutter 的什么开发者和体验模式了,就可以直接在显示器里设置拖动调整非整数缩放,一般的设备开个 125% 就差不多了,还有 166% 和 133% 的特殊选择也值得一试。

Screenshot From 2026-11-03 10-35-13.png

哦对了,可变刷新率也合并进入了正式版,默认就可以开启,可以说对于显示器支持这一块,Gnome 51 做的已经很不错了。

当然当你安装 dconf-editor 也可以继续设置各种实验选项,但是留给你的仅仅剩下几个无关痛痒的内容,简而言之,之前的类似“实验”的东西,终于整合到了正式版里,到了 Gnome 51 的 Wayland 里开始,你已经可以完美的并且以较低性能损失作为代价,开启各种缩放。

同时各种性能上的优化,现在的 Gnome 作为桌面早已经是今非昔比了。不过你还是得跑在 Wayland 才行,基本的入门配置需求还是有的。

基本源设置

首先是更新你的源到最新

sudo dnf update

当然你也可以手动开启 updates-testing 更新频道:

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

建议偶尔开启,不建议直接开启,虽然软件很新,但是也有吃 Bug 的风险,风险不大但是有,大概每 2 个月吃一次吧,你需要经常去 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 之类的 app 最小化之后能看到图标
https://extensions.gnome.org/extension/615/appindicator-support/

咖啡因插件,可以让你的电脑暂时避免睡眠
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,输入速度过快的话经常会卡死,一直有人报 Bug,官方也一直在优化,但优化了那么多年,还是会卡死……

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,导入大词库之类的,不要忘记打开云输入,可以选择使用百度云。

优化字体渲染

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>

你也可以安装微软系的那些常见字体,因为有些网站写的 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-*"

另外就是我很建议你拷贝一份“微软雅黑”字体并安装到系统里,就是打开 ttf 直接选择安装就行,虽然我提供的 fontconfig 里写了针对的替换方案,但很多网页会写死这个字体,甚至某些 APP 会强制选择(没错说的就是你 WPS),不安装的话会因为找不到这个字体而出现方块和乱码。


优化 Flatpak 软件的字体渲染

当你正确配置字体渲染之后,你还会发现你通过 Flatpak 安装的软件的字体依然丑陋,似乎并没有正确应用你的字体渲染。

你可以尝试运行

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

让 flatpak 程序读取你的 fontconfig 配置。

当然如果这一招无效的话,你就只能打开对应的 flatpak 程序的配置路径:

~/.var/app/[程序名字]/config

在里面创建一个 fontconfig 目录,把你前面的那个 ~/.config/fontconfig/fonts.conf 文件拷贝进去,然后重新启动 flatpak app 了。

安装一些基本软件

是时候安装一些基本软件了,一些十分基础的我们用 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

微信 Flatpak 版本

flatpak install flathub com.tencent.WeChat

Steam(虽然RPMFusion 里也有,但是我个人觉得 flatpak 版本更好)

flatpak install flathub com.valvesoftware.Steam

LinuxQQ

flatpak install flathub com.qq.QQ

剪辑软件 KdenLive

flatpak install flathub org.kde.kdenlive

一个临时记事本 Buffer

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

还有微软的两件套:Edge 与 Vscode

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

以及 Google 的 Chrome

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

都可以直接下载 RPM 格式安装即可。

特殊需求可以安装一些设置相关的 APP:

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

之后就可以在 app 里看到这个程序了。

因为 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 之类的话,你的电脑需要关闭 secure boot,不然内核编译模块就会失败,要么你每次更新内核都手动签名,要么你就别用。

而 Gnome-box 是基于 KVM 的,自然也就不受到这个限制。

如果系统没有的话记得安装:

sudo dnf install gnome-boxes

而且理论上 KVM 的性能是优于 Virtualbox 之类的,所以就更应该使用 KVM 了,不过目前 KVM 最大的问题是模拟 Windows 效果一般。倒不是不能模拟,依然是图形性能驱动无法满足,这里建议使用 QXL 之类的 2D 加速驱动来运行 Windows,如果真的需要高级 3D 性能,只能显卡直通了。

至于模拟 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,但用起来的体验和这个还是无法相比。

Screenshot From 2026-11-02 22-36-06.png

flatpak install flathub io.github.mfat.sshpilot

不过优点是 RustConn 至少是 Linux 优先,而 SSH Pilot 似乎是多平台的。当然 RustConn 的更新也是十分频繁,未来某一天超越 SSH Pilot 也并非不可能,你也可以向我一样两个都装上。

flatpak install flathub io.github.totoshko88.RustConn

安装剪切板管理 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
  • 不再需要改用 iwd 来作为 Wi-Fi 的后端管理,因为 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,非常的 Deek Dark Fantasy。

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

👍❤️😂🎉🔥👀🤡🤔

添加新评论

😂🤡😎😡😁😋😭😑

目录

__empty__
分享本文
正在生成分享卡片...
保存图片
长按图片选择分享