最近一个月都没有发新的文章,今年的新年贺词选择了在微信公众号进行发布,作为信息发布体系构建的一部分进行尝试。

在过去的一段时间中,我完全将开发和日常使用的桌面环境从Windows切换到了Fedora,目前来看,这是一次成功的尝试,比我过去尝试使用的Ubuntu、openSUSE、Deepin的体验都要好,也彻底实现了Linux桌面下的日常使用。本文将根据这段时间的使用体验对Fedora桌面的优化进行总结和分享。

本文用到的资源链接集中放在文末

环境说明

  • 操作系统:Fedora Linux 41 (Workstation Edition)
  • Linux内核:6.12.13-200.fc41.x86_64
  • 桌面环境版本:GNOME 47
  • 显卡:Intel Iris核显

基础美化

和大一大二那会儿用Ubuntu一样,我依然跟随这套GNOME配色优化方案:GNOME桌面定制|极简主义深色桌面与诺德颜色主题
我并不喜欢太多复杂的插件和优化,主要是喜欢Nord配色,让系统看起来更和谐。主要优化内容包括GNOME主题和Grub2界面。

  • 注意:由于该主题主要支持版本早于当前版本,该主题可能会出现部分小图标缺失的问题,可以采用其他和谐的图标方案

GNOME

Fedora主打一个在开发上开箱即用,所以gitgnome-shell这样的工具都是自带的,无须手动安装。

下面是我的安装方案,具体安装选项请注意前往原项目README查看。(部分桌面配置安装或更改后应重启桌面环境以查看)

1. 主题和指针

# gnome优化
sudo dnf install gnome-tweaks
# gnome扩展管理
flatpak install flathub org.gnome.Extensions
# 顺手装个flatseal 管理flatpak应用权限
flatpak install flatseal
# WhiteSur nord 主题
git clone https://github.com/vinceliuice/WhiteSur-gtk-theme
cd WhiteSur-gtk-theme
./install.sh -s nord -l -m --shell -p 60 -normal
# nord icon
git clone https://github.com/alvatip/Nordzy-icon.git
cd Nordzy-icon
./install.sh -t default -c -p
# cursor
git clone https://github.com/alvatip/Sunity-cursors.git
cd Suniyu-cursor
./install.sh

2. 启用插件

  • User Themes    用户主题
  • AppIndicator and KStatusNotifierItem Support 状态栏图标
  • Blur my Shell 毛玻璃效果
  • Coverflow Alt-Tab 更好的窗口切换
  • Desktop Cube 更好的桌面切换
  • Dash to Dock 强大的Dock扩展
  • Just Perfection 综合优化工具
  • Bing wallpaper 必应每日壁纸
  • OpenWeather Refined 本地区可用的天气插件
  • Mediea Controls 媒体播放控制插件

3. 字体

安装字体
建议统一将字体文件放入一个目录下,比如~/.fonts/~/.local/share/fonts/,然后使用fc命令安装或重载桌面。

fc-cache -fv # 更新字体缓存,识别新字体
fc-list # 查看当前已安装字体表

推荐字体

此仅一家之言,萝卜白菜各有所爱。

  • 无衬线
    • HarmonyOS Sans 系统字体,UI界面字重我喜欢Medium
    • PingFang 苹方 也可用作系统字体
    • Source Sans SC 思源黑体 用于文档
  • 衬线字体
    • Source Serif SC 思源宋体 用于文档
  • 等宽字体
    • Source Code Pro 用于命令行和编辑器
    • Consolas 用于命令行和编辑器
  • 其他
    • 落霞孤鹜 用于文档

Grub2

  • 注意:与系统引导相关的一切操作都有风险,请谨慎备份和操作。

在Pling中有大量grub主题,但是在上面挑主题实在是个费功夫的活儿:

Gorgeous GRUB 是一个由不同用户所创建的质量上乘的 GRUB 社区主题的收藏集合。这个项目的开发者从 Pling 、/r/unixporn 和其它很多的论坛中手工挑选漂亮的 GRUB 主题,并将它们放置到一起,以便用户可以很容易的浏览它们。
——Gorgeous GRUB:一个可以找到很棒的 GRUB 主题的地方 - linux.cn

我选用的主题是:Elegant-grub2-themes
这个主题有相当多的配色和窗口搭配可选,审美一流,非常优雅:
Elegant-grub2-themes

git clone https://github.com/vinceliuice/Elegant-grub2-themes.git
cd Elegant-grub2-themes/
# 再次提醒,执行引导相关操作是高危行为,具体安装选项参考原项目README
sudo ./install.sh -l system -b

软件优化

自用软件各有所爱,可有两样东西是逃不掉的,输入法和浏览器。

输入法

Gnome自带输入法为ibus,因此我采用的方案是ibus-rime + 雾凇拼音。当然也有很多用户会选择fcitx5的方案,这个就看个人考量了。

简便考量,我采用了一个常见的雾凇自动部署脚本:Rime auto deploy - github.com,也可以选择手动部署配置就是稍微麻烦点。

# 安装rime和lua依赖,并重载桌面
sudo dnf install ibus-rime librime-lua
# rime-ice一键脚本
sudo dnf install ruby
git clone https://github.com/Mark24Code/rime-auto-deploy
cd rime-auto-deploy
./install.rb

随后按个人习惯修改部分配置,默认配置路径在~/.config/ibus/rime下.

# default.custom.yaml

patch: 
	menu: 
		page_size: 7 # 候选词个数 
ascii_composer: 
	siwtch_key: 
		Shift_L: commit_code # 按下shift后字母先上屏后切换

# build/ibus_rime.yaml

sytle: 
	horizontal: true # 候选词横排

完事后记得重新部署rime.

Firefox

我是一个Edge垂直标签页重度用户,网上说这生产力那生产力我无感,但是垂直标签页确实是生产力,大幅提升网页检索和工作学习效率。当然在Linux下我也会用Edge,因为工作区也是我非常喜欢的独有功能,不过总感觉有些别扭(指Edge可能出现的部分UI、字体和系统不一致问题)。所以我的Edge使用频率实际上是和Firefox五五开。

Firefox自身虽然没有提供垂直标签页的方案,但是有插件和大佬们的CSS,这里我推荐这个优雅美观的垂直标签页方案:

GitHub - christorange/VerticalFox: Firefox theme with Edge like auto-hide vertical tab bar and minimalism design. Powerd by Sidebery.

首先需要安装Sidebery插件,然后获取大佬的css,根据指引放置到对应位置即可。出于对Nord色系的和谐追求,我fork大佬的项目对Dark配色做了微调,将相应配色修改为了Nord色系。项目见:VerticalFox-Nord(用户css只改了Linux的)。

状态栏歌词

如果你在Linux下使用yesplaymusiclx-music可以原封不动地使用这位大佬的方案:

GitHub - MarsSwimmer/get_lrc: Show current lrc of Music Player such as Yesplaymusic and LXMusic on status bar for Ubuntu gnome.

通过获取对应平台的歌词API,转化为文本,通过Executor插件实时刷新显示在状态栏上。一个机智优雅的方案,如果使用其他音乐平台也可以参考这套方案,写个脚本获取开放API歌词进行刷新展示。

开发学习常用应用一览

应用官网软件包
VS Codehttps://code.visualstudio.com/docs/setup/linux官网库rpm
Jetbrainshttps://www.jetbrains.com/zh-cn/官网Appimage
Helixhttps://helix-editor.com/dnf
pipxhttps://pipx.pypa.io/stable/installation/dnf
poetryhttps://python-poetry.org/官网方案
MarkTexthttps://www.marktext.cc/flatpak
Postmanhttps://www.postman.com/flatpak

参考阅读