Fedora GNOME配置记录
目录
本文详细记录Fedora 40 GNOME配置步骤,供以后配置参考。
1 安装
-
使用UEFI引导方式
-
分区时选用标准分区
- 第一个分区,挂载点
/boot/efi
,大小260MiB - 第二个分区,挂载点
/
,大小留空,安装程序会自动使用全部可用空间,文件系统选择ext4
- 第一个分区,挂载点
-
重启后在OOBE中启用第三方软件源
-
到登录云账户页面时可能会卡死,点等待多等等;如果还是不行,只能强制退出,这样的话只能按电源键强制重启了,重启之后应该就不会再有登录云账户的页面了
2 基本配置
在没进行界面配置的时候,默认的GNOME操作逻辑比较痛苦。如果要打开App列表,可以连续按两次Win
键,或者点击左上角活动概览,再点击下方的应用列表图标。
2.1 关闭sudo密码
- 打开终端
- 输入命令
sudo visudo
- 输入密码后,找到如图所示的位置,给
%wheel ALL=(ALL) ALL
一行前面加上#
注释掉,再把下面%wheel ALL=(ALL) NOPASSWD:ALL
一行前面的#
删掉取消注释,保存并退出
2.2 降低swap的积极程度
- 编辑
/etc/sysctl.conf
- 在文件结尾加上
vm.swappiness = 15
- 保存后运行
sudo sysctl -p
2.3 打开开关机详细信息显示
- 编辑
/etc/default/grub
- 删除
GRUB_CMDLINE_LINUX
行后面的rhgb
和quiet
参数 - 保存后运行
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
- 由于Fedora的
grub2-mkconfig
没有--update-bls-cmdline
参数,每次更新都要手动再运行一次上面的命令
2.4 修改计算机名
- 命令:
sudo hostnamectl set-hostname <计算机名>
- 重启生效
2.5 关闭自动更新
gsettings set org.gnome.software download-updates false
gsettings set org.gnome.software download-updates-notify false
2.6 更换dnf软件源
sudo sed -e "s|^#baseurl=http://download.example/pub/fedora/linux|baseurl=https://mirrors.ustc.edu.cn/fedora|g" -e "s|^metalink=|#metalink=|g" -i.bak /etc/yum.repos.d/fedora.repo /etc/yum.repos.d/fedora-updates.repo
sudo sed -e "s|^#baseurl=http://download1.rpmfusion.org|baseurl=https://mirrors.ustc.edu.cn/rpmfusion|g" -e "s|^metalink=|#metalink=|g" -i.bak /etc/yum.repos.d/rpmfusion*.repo
sudo dnf makecache
2.7 更换Flatpak软件源
flatpak remote-modify flathub --url=https://mirror.sjtu.edu.cn/flathub/
但是有时候上交flathub镜像会有问题,如果要换回官方源:
flatpak remote-delete flathub
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
或
flatpak remote-modify flathub --url=https://dl.flathub.org/repo/
2.8 GNOME设置
- 点击右上角,出现菜单,点击里面的设置按钮打开设置
- 在“多任务-常规”中关闭“热区”
- 在“应用-默认应用”中关闭“可移动介质-自动启动应用”
- 在“鼠标和触摸板”中调整触摸板滚动方向
- 在“系统-日期和时间-时钟和日历”中打开“周数”
- 在“隐私和安全-文件历史与回收站”中关闭“文件历史”,打开“自动清空回收站”和“自动清理临时文件”
2.9 调整触摸板滚动速度
- 没想到吧,这个调起来特别困难
sudo dnf install git gcc gcc-c++ meson ninja-build libinput-devel libudev-devel
git clone https://gitlab.com/warningnonpotablewater/libinput-config.git
cd libinput-config
meson build
cd build
ninja
sudo ninja install
- 编辑
/etc/libinput.conf
,加入scroll-factor=0.2
(此处按实际调整数值) - 重启生效
2.10 修改主目录子文件夹名
- 对于经常在终端玩的人来说,主目录子文件夹用中文名实在是非常难受,所以要改掉
- 执行命令:
LC_ALL=en_US.utf8 xdg-user-dirs-update --force
- 在Nautilus(文件管理)中可以改掉左侧固定文件夹的名称,不影响目录位置
- 重新启动后可能会弹出文件夹更改提示,选中不再提示并点击不更改
2.11 Nautilus设置
- 使用完整日期而不是相对日期,默认使用列表方式浏览
gsettings set org.gnome.nautilus.preferences date-time-format 'detailed'
gsettings set org.gnome.nautilus.preferences default-folder-viewer 'list-view'
3 界面配置
3.1 在窗口添加最小化、最大化按钮
gsettings set org.gnome.desktop.wm.preferences button-layout "appmenu:minimize,maximize,close"
3.2 禁用中键粘贴
gsettings set org.gnome.desktop.interface gtk-enable-primary-paste false
3.3 居中显示新窗口
gsettings set org.gnome.mutter center-new-windows true
3.4 字体配置
3.4.1 字体配置文件
- 检查系统中是否有Noto Sans、Noto Serif、Noto Sans Mono等字体,如果没有则安装
sudo dnf install google-noto-color-emoji-fonts google-noto-emoji-fonts google-noto-sans-cjk-fonts google-noto-sans-fonts google-noto-sans-mono-cjk-fonts google-noto-sans-mono-fonts google-noto-serif-cjk-fonts google-noto-serif-fonts
(根据dnf搜索结果实际情况安装)
- 将以下内容保存为
fontconfig.conf
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<fontconfig>
<!-- Default serif font -->
<alias binding="strong">
<family>serif</family>
<prefer>
<family>Noto Serif</family>
</prefer>
</alias>
<!-- Default sans-serif font -->
<alias binding="strong">
<family>sans-serif</family>
<prefer>
<family>Noto Sans</family>
</prefer>
</alias>
<!-- Default monospace font -->
<alias binding="strong">
<family>monospace</family>
<prefer>
<family>Noto Sans Mono</family>
</prefer>
</alias>
<!-- Default system-ui font -->
<alias binding="strong">
<family>system-ui</family>
<prefer>
<family>Noto Sans</family>
</prefer>
</alias>
<!-- Serif CJK -->
<!-- Default serif when the "lang" attribute is not given -->
<!-- You can change this font to the language variant you want -->
<match target="pattern">
<test name="family">
<string>serif</string>
</test>
<edit name="family" mode="append" binding="strong">
<string>Noto Serif CJK SC</string>
</edit>
</match>
<!-- Japanese -->
<!-- "lang=ja" or "lang=ja-*" -->
<match target="pattern">
<test name="lang" compare="contains">
<string>ja</string>
</test>
<test name="family">
<string>serif</string>
</test>
<edit name="family" mode="append" binding="strong">
<string>Noto Serif CJK JP</string>
</edit>
</match>
<!-- Korean -->
<!-- "lang=ko" or "lang=ko-*" -->
<match target="pattern">
<test name="lang" compare="contains">
<string>ko</string>
</test>
<test name="family">
<string>serif</string>
</test>
<edit name="family" mode="append" binding="strong">
<string>Noto Serif CJK KR</string>
</edit>
</match>
<!-- Chinese -->
<!-- "lang=zh" or "lang=zh-*" -->
<match target="pattern">
<test name="lang" compare="contains">
<string>zh</string>
</test>
<test name="family">
<string>serif</string>
</test>
<edit name="family" mode="append" binding="strong">
<string>Noto Serif CJK SC</string>
</edit>
</match>
<!-- "lang=zh-hans" or "lang=zh-hans-*" -->
<match target="pattern">
<test name="lang" compare="contains">
<string>zh-hans</string>
</test>
<test name="family">
<string>serif</string>
</test>
<edit name="family" mode="append" binding="strong">
<string>Noto Serif CJK SC</string>
</edit>
</match>
<!-- "lang=zh-hant" or "lang=zh-hant-*" -->
<match target="pattern">
<test name="lang" compare="contains">
<string>zh-hant</string>
</test>
<test name="family">
<string>serif</string>
</test>
<edit name="family" mode="append" binding="strong">
<string>Noto Serif CJK TC</string>
</edit>
</match>
<!-- Compatible -->
<!-- "lang=zh-cn" or "lang=zh-cn-*" -->
<match target="pattern">
<test name="lang" compare="contains">
<string>zh-cn</string>
</test>
<test name="family">
<string>serif</string>
</test>
<edit name="family" mode="append" binding="strong">
<string>Noto Serif CJK SC</string>
</edit>
</match>
<!-- "lang=zh-tw" or "lang=zh-tw-*" -->
<match target="pattern">
<test name="lang" compare="contains">
<string>zh-tw</string>
</test>
<test name="family">
<string>serif</string>
</test>
<edit name="family" mode="append" binding="strong">
<string>Noto Serif CJK TC</string>
</edit>
</match>
<!-- Sans CJK -->
<!-- Default sans-serif when the "lang" attribute is not given -->
<!-- You can change this font to the language variant you want -->
<match target="pattern">
<test name="family">
<string>sans-serif</string>
</test>
<edit name="family" mode="append" binding="strong">
<string>Noto Sans CJK SC</string>
</edit>
</match>
<!-- Japanese -->
<!-- "lang=ja" or "lang=ja-*" -->
<match target="pattern">
<test name="lang" compare="contains">
<string>ja</string>
</test>
<test name="family">
<string>sans-serif</string>
</test>
<edit name="family" mode="append" binding="strong">
<string>Noto Sans CJK JP</string>
</edit>
</match>
<!-- Korean -->
<!-- "lang=ko" or "lang=ko-*" -->
<match target="pattern">
<test name="lang" compare="contains">
<string>ko</string>
</test>
<test name="family">
<string>sans-serif</string>
</test>
<edit name="family" mode="append" binding="strong">
<string>Noto Sans CJK KR</string>
</edit>
</match>
<!-- Chinese -->
<!-- "lang=zh" or "lang=zh-*" -->
<match target="pattern">
<test name="lang" compare="contains">
<string>zh</string>
</test>
<test name="family">
<string>sans-serif</string>
</test>
<edit name="family" mode="append" binding="strong">
<string>Noto Sans CJK SC</string>
</edit>
</match>
<!-- "lang=zh-hans" or "lang=zh-hans-*" -->
<match target="pattern">
<test name="lang" compare="contains">
<string>zh-hans</string>
</test>
<test name="family">
<string>sans-serif</string>
</test>
<edit name="family" mode="append" binding="strong">
<string>Noto Sans CJK SC</string>
</edit>
</match>
<!-- "lang=zh-hant" or "lang=zh-hant-*" -->
<match target="pattern">
<test name="lang" compare="contains">
<string>zh-hant</string>
</test>
<test name="family">
<string>sans-serif</string>
</test>
<edit name="family" mode="append" binding="strong">
<string>Noto Sans CJK TC</string>
</edit>
</match>
<!-- "lang=zh-hant-hk" or "lang=zh-hant-hk-*" -->
<match target="pattern">
<test name="lang" compare="contains">
<string>zh-hant-hk</string>
</test>
<test name="family">
<string>sans-serif</string>
</test>
<edit name="family" mode="append" binding="strong">
<string>Noto Sans CJK HK</string>
</edit>
</match>
<!-- Compatible -->
<!-- "lang=zh-cn" or "lang=zh-cn-*" -->
<match target="pattern">
<test name="lang" compare="contains">
<string>zh-cn</string>
</test>
<test name="family">
<string>sans-serif</string>
</test>
<edit name="family" mode="append" binding="strong">
<string>Noto Sans CJK SC</string>
</edit>
</match>
<!-- "lang=zh-tw" or "lang=zh-tw-*" -->
<match target="pattern">
<test name="lang" compare="contains">
<string>zh-tw</string>
</test>
<test name="family">
<string>sans-serif</string>
</test>
<edit name="family" mode="append" binding="strong">
<string>Noto Sans CJK TC</string>
</edit>
</match>
<!-- "lang=zh-hk" or "lang=zh-hk-*" -->
<match target="pattern">
<test name="lang" compare="contains">
<string>zh-hk</string>
</test>
<test name="family">
<string>sans-serif</string>
</test>
<edit name="family" mode="append" binding="strong">
<string>Noto Sans CJK HK</string>
</edit>
</match>
<!-- Mono CJK -->
<!-- Default monospace when the "lang" attribute is not given -->
<!-- You can change this font to the language variant you want -->
<match target="pattern">
<test name="family">
<string>monospace</string>
</test>
<edit name="family" mode="append" binding="strong">
<string>Noto Sans Mono CJK SC</string>
</edit>
</match>
<!-- Japanese -->
<!-- "lang=ja" or "lang=ja-*" -->
<match target="pattern">
<test name="lang" compare="contains">
<string>ja</string>
</test>
<test name="family">
<string>monospace</string>
</test>
<edit name="family" mode="append" binding="strong">
<string>Noto Sans Mono CJK JP</string>
</edit>
</match>
<!-- Korean -->
<!-- "lang=ko" or "lang=ko-*" -->
<match target="pattern">
<test name="lang" compare="contains">
<string>ko</string>
</test>
<test name="family">
<string>monospace</string>
</test>
<edit name="family" mode="append" binding="strong">
<string>Noto Sans Mono CJK KR</string>
</edit>
</match>
<!-- Chinese -->
<!-- "lang=zh" or "lang=zh-*" -->
<match target="pattern">
<test name="lang" compare="contains">
<string>zh</string>
</test>
<test name="family">
<string>monospace</string>
</test>
<edit name="family" mode="append" binding="strong">
<string>Noto Sans Mono CJK SC</string>
</edit>
</match>
<!-- "lang=zh-hans" or "lang=zh-hans-*" -->
<match target="pattern">
<test name="lang" compare="contains">
<string>zh-hans</string>
</test>
<test name="family">
<string>monospace</string>
</test>
<edit name="family" mode="append" binding="strong">
<string>Noto Sans Mono CJK SC</string>
</edit>
</match>
<!-- "lang=zh-hant" or "lang=zh-hant-*" -->
<match target="pattern">
<test name="lang" compare="contains">
<string>zh-hant</string>
</test>
<test name="family">
<string>monospace</string>
</test>
<edit name="family" mode="append" binding="strong">
<string>Noto Sans Mono CJK TC</string>
</edit>
</match>
<!-- "lang=zh-hant-hk" or "lang=zh-hant-hk-*" -->
<match target="pattern">
<test name="lang" compare="contains">
<string>zh-hant-hk</string>
</test>
<test name="family">
<string>monospace</string>
</test>
<edit name="family" mode="append" binding="strong">
<string>Noto Sans Mono CJK HK</string>
</edit>
</match>
<!-- Compatible -->
<!-- "lang=zh-cn" or "lang=zh-cn-*" -->
<match target="pattern">
<test name="lang" compare="contains">
<string>zh-cn</string>
</test>
<test name="family">
<string>monospace</string>
</test>
<edit name="family" mode="append" binding="strong">
<string>Noto Sans Mono CJK SC</string>
</edit>
</match>
<!-- "lang=zh-tw" or "lang=zh-tw-*" -->
<match target="pattern">
<test name="lang" compare="contains">
<string>zh-tw</string>
</test>
<test name="family">
<string>monospace</string>
</test>
<edit name="family" mode="append" binding="strong">
<string>Noto Sans Mono CJK TC</string>
</edit>
</match>
<!-- "lang=zh-hk" or "lang=zh-hk-*" -->
<match target="pattern">
<test name="lang" compare="contains">
<string>zh-hk</string>
</test>
<test name="family">
<string>monospace</string>
</test>
<edit name="family" mode="append" binding="strong">
<string>Noto Sans Mono CJK HK</string>
</edit>
</match>
<!-- System UI CJK -->
<!-- Default system-ui when the "lang" attribute is not given -->
<!-- You can change this font to the language variant you want -->
<match target="pattern">
<test name="family">
<string>system-ui</string>
</test>
<edit name="family" mode="append" binding="strong">
<string>Noto Sans CJK SC</string>
</edit>
</match>
<!-- Japanese -->
<!-- "lang=ja" or "lang=ja-*" -->
<match target="pattern">
<test name="lang" compare="contains">
<string>ja</string>
</test>
<test name="family">
<string>system-ui</string>
</test>
<edit name="family" mode="append" binding="strong">
<string>Noto Sans CJK JP</string>
</edit>
</match>
<!-- Korean -->
<!-- "lang=ko" or "lang=ko-*" -->
<match target="pattern">
<test name="lang" compare="contains">
<string>ko</string>
</test>
<test name="family">
<string>system-ui</string>
</test>
<edit name="family" mode="append" binding="strong">
<string>Noto Sans CJK KR</string>
</edit>
</match>
<!-- Chinese -->
<!-- "lang=zh" or "lang=zh-*" -->
<match target="pattern">
<test name="lang" compare="contains">
<string>zh</string>
</test>
<test name="family">
<string>system-ui</string>
</test>
<edit name="family" mode="append" binding="strong">
<string>Noto Sans CJK SC</string>
</edit>
</match>
<!-- "lang=zh-hans" or "lang=zh-hans-*" -->
<match target="pattern">
<test name="lang" compare="contains">
<string>zh-hans</string>
</test>
<test name="family">
<string>system-ui</string>
</test>
<edit name="family" mode="append" binding="strong">
<string>Noto Sans CJK SC</string>
</edit>
</match>
<!-- "lang=zh-hant" or "lang=zh-hant-*" -->
<match target="pattern">
<test name="lang" compare="contains">
<string>zh-hant</string>
</test>
<test name="family">
<string>system-ui</string>
</test>
<edit name="family" mode="append" binding="strong">
<string>Noto Sans CJK TC</string>
</edit>
</match>
<!-- "lang=zh-hant-hk" or "lang=zh-hant-hk-*" -->
<match target="pattern">
<test name="lang" compare="contains">
<string>zh-hant-hk</string>
</test>
<test name="family">
<string>system-ui</string>
</test>
<edit name="family" mode="append" binding="strong">
<string>Noto Sans CJK HK</string>
</edit>
</match>
<!-- Compatible -->
<!-- "lang=zh-cn" or "lang=zh-cn-*" -->
<match target="pattern">
<test name="lang" compare="contains">
<string>zh-cn</string>
</test>
<test name="family">
<string>system-ui</string>
</test>
<edit name="family" mode="append" binding="strong">
<string>Noto Sans CJK SC</string>
</edit>
</match>
<!-- "lang=zh-tw" or "lang=zh-tw-*" -->
<match target="pattern">
<test name="lang" compare="contains">
<string>zh-tw</string>
</test>
<test name="family">
<string>system-ui</string>
</test>
<edit name="family" mode="append" binding="strong">
<string>Noto Sans CJK TC</string>
</edit>
</match>
<!-- "lang=zh-hk" or "lang=zh-hk-*" -->
<match target="pattern">
<test name="lang" compare="contains">
<string>zh-hk</string>
</test>
<test name="family">
<string>system-ui</string>
</test>
<edit name="family" mode="append" binding="strong">
<string>Noto Sans CJK HK</string>
</edit>
</match>
</fontconfig>
- 将
fontconfig.conf
复制到/etc/fonts/local.conf
并设置权限
sudo cp fontconfig.conf /etc/fonts/local.conf
sudo chmod 644 /etc/fonts/local.conf
3.4.2 安装额外字体
- Windows 10的整个
C:\Windows\Fonts
文件夹 - Windows XP的
simkai.ttf
和simfang.ttf
(为了兼容带“_GB2312”名字的楷体和仿宋字体,注意不要替换Windows 10中的相应字体文件,建议分开文件夹存储) - Microsoft Office的
MTEXTRA.TTF
、WINGDNG2.TTF
、WINGDNG3.TTF
- 需要用的其他字体,例如公文要用的方正小标宋
- 把准备好的字体文件(夹)放到
/usr/share/fonts
3.4.3 刷新字体缓存
sudo fc-cache -fv
fc-cache -fv
3.4.4 设置系统字体
gsettings set org.gnome.desktop.interface font-name "Noto Sans 11"
gsettings set org.gnome.desktop.interface document-font-name "Noto Sans 11"
gsettings set org.gnome.desktop.interface monospace-font-name "Noto Sans Mono 11"
gsettings set org.gnome.desktop.wm.preferences titlebar-font "Noto Sans Bold 11"
3.4.5 Flatpak字体设置
- 把3.4.1中的字体配置文件复制到
~/.config
mkdir -p ~/.config/fontconfig
cp fontconfig.conf ~/.config/fontconfig/fonts.conf
flatpak --user override --filesystem=xdg-config/fontconfig:ro
注:不能使用软链接,会导致flatpak程序无法读取配置文件。
3.5 高DPI设置(以125%为例)
由于GNOME目前仍不支持非整数缩放(在使用Wayland时可开启实验性功能非整数缩放,但兼容性很差),所以只能通过调整字体缩放比例以实现类似高DPI的效果。这也是GNOME官方推荐的设置方法。125%效果最好。如果要200%缩放就不用设置这个,直接到显示设置中设置200%缩放就好。如果要250%缩放,就需要在GNOME设置中设置200%缩放的基础上再把字体缩放系数调整为1.25。
- 设置字体缩放系数
gsettings set org.gnome.desktop.interface text-scaling-factor 1.25
-
Qt程序workaround:Qt程序可以非整数缩放,而且只放大字体的效果很不好,所以建议Qt程序单独缩放
- 新建
/etc/profile.d/qt-hidpi.sh
export QT_AUTO_SCREEN_SCALE_FACTOR=1 export QT_ENABLE_HIGHDPI_SCALING=1 # export QT_SCALE_FACTOR=1.25 如果要手动设置缩放比例,就把前两个设置为0 export QT_FONT_DPI=96
- 新建
-
XWayland兼容模式的Qt程序(例如WPS):这样的Qt程序不支持非整数缩放,还需要在启动器中单独设置启动参数,恢复到只放大字体的设置
- 修改
.desktop
启动器,在Exec=
一行前面加入(注意要额外加一个空格)
env -u QT_AUTO_SCREEN_SCALE_FACTOR -u QT_ENABLE_HIGHDPI_SCALING -u QT_FONT_DPI
- 修改
-
修改鼠标指针大小
gsettings set org.gnome.desktop.interface cursor-size 30
3.6 登录界面设置
3.6.1 字体和缩放设置
- 新建
/etc/dconf/db/gdm.d/10-local-gdm-settings
,内容如下(text-scaling-factor
按实际情况修改)
[org/gnome/desktop/interface]
font-name="Noto Sans 11"
document-font-name="Noto Sans 11"
monospace-font-name="Noto Sans Mono 11"
text-scaling-factor=1.25
cursor-size=30
[org/gnome/desktop/wm/preferences]
titlebar-font="Noto Sans Bold 11"
- 新建
/etc/dconf/profile/gdm
,内容如下
user-db:user
system-db:gdm
file-db:/usr/share/gdm/greeter-dconf-defaults
- 执行命令
sudo dconf update
3.6.2 分辨率设置
sudo cp ~/.config/monitors.xml /var/lib/gdm/.config/
sudo chown gdm:gdm /var/lib/gdm/.config/monitors.xml
3.7 界面扩展设置
首先使用flatpak install com.mattjakeman.ExtensionManager
安装扩展管理器。
3.7.1 任务栏
- 如果你要用dock,就直接跳到下一节
- 在扩展管理器“浏览”中搜索并安装“Dash to Panel”
- 扩展设置
- Position页
- Panel thickness:面板高度,推荐设置为40(125%缩放为50)
- 关闭“显示应用程序”,“日期菜单”移动到“系统菜单”和“‘桌面’按钮”之间
- Style页
- App Icon Margin设为1
- App Icon Padding推荐设为6(125%缩放为8)
- 打开Override panel theme background opacity和Override panel theme gradient,将Panel background opacity改为60
- Behavior页
- 打开Disable show overview on startup
- Action页
- Click action改为Toggle single / Preview multiple,点击旁边的设置按钮,Shift+Click action改为Launch new instance
- 打开Use hotkeys to activate apps
- Position页
3.7.2 Dock
- 如果你配置了任务栏,就不要用Dock,这两个不建议同时使用
- 在扩展浏览器“浏览”中搜索并安装“Dash to Dock”
- 扩展设置
- 位置和大小
- 智能隐藏的设置按钮,关闭“推压以显示”
- 图标大小限制默认是48(125%缩放请改为60)
- 行为
- 点击动作的设置按钮,Shift+点击动作改为启动新实例
- 点击动作改为聚焦、最小化或显示预览
- 外观
- 打开收缩Dash
- 关闭启动时显示概览
- 显示窗口个数指示器改为圆点
- 自定义不透明度改为固定
- 位置和大小
3.7.3 开始菜单
- 在扩展管理器“浏览”中搜索并安装“ArcMenu”
3.7.3.1 任务栏模式配置
- 常规
- 打开隐藏启动时的概述
- 菜单
- 菜单布局选择传统中的ArcMenu
- 菜单视觉外观中的各项数值,如果是125%缩放请放大1.2倍;覆盖图标大小中的应用改为大
- 微调中打开禁用新应用程序跟踪器
- 布局调整中默认视图改为所有程序;应用程序快捷方式按照自己喜好更改;上下文菜单按照自己喜好更改(可以把默认的扩展管理器换成flatpak版的)
- 菜单按钮
- 图标按自己喜好更改
- 图标大小改为28(125%缩放为34)
- 打开悬停背景颜色、激活背景颜色、激活前景色、边框圆角设为0、边框宽度设为0
3.7.3.2 Dock模式配置
- 常规
- 打开隐藏启动时的概述
- 菜单
- 菜单布局选择传统中的GNOME菜单
- 菜单视觉外观中的各项数值,把左面板宽度和右面板宽度对调,如果是125%缩放请放大1.2倍;覆盖图标大小中的应用改为大
- 微调中关闭按字母顺序排列所有程序类别,打开禁用新应用程序跟踪器
- GNOME菜单布局调整中类别激活改为鼠标悬停
- 额外类别中只打开所有应用程序,其他的关闭
- 菜单按钮
- 显示风格改为图标和文本
- 文本改为“应用程序”
- 图标大小改为16(125%缩放为20)
3.7.4 桌面图标
- 在扩展管理器“浏览”中搜索并安装“Desktop Icons NG (DING)”
- 不要装GTK4的版本,不好用而且有bug
- 按自己喜好设置即可
- 如果要创建桌面图标,可以在之前配置的ArcMenu扩展中找到要添加的程序,右键菜单中点击创建桌面快捷方式,并在新出现的图标上右键选择允许运行
3.7.5 托盘图标
- 在扩展管理器“浏览”中搜索并安装“AppIndicator and KStatusNotifierItem Support”
3.7.6 Alt-Tab窗口切换器
- 在扩展管理器“浏览”中搜索并安装“Coverflow Alt-Tab”
- 扩展设置
- 循环方式改为走马灯
- 关闭隐藏面板
- 打开图标阴影
- 打开使应用切换器行为类似窗口切换器
3.7.7 安全删除硬件
- 在扩展管理器“浏览”中搜索并安装“Removable Drive Menu”
3.7.8 键盘锁定指示灯
- 在扩展管理器“浏览”中搜索并安装“Lock Keys”
- 扩展设置
- Indicator Style改为Show/Hide Caps-Lock Only(台式机)或者Show/Hide(笔记本)
- Notifications改为OSD
3.7.9 时间格式
- 在扩展管理器“浏览”中搜索并安装“Date Menu Formatter”
- 扩展设置
- Font size改为9(任务栏模式)或11(Dock模式)
- 关闭Use default locale
- 打开Remove unread messages indicator
- 打开Apply to all panels
- Pattern改为
- 任务栏模式:
H:mm\ny/M/d
- Dock模式:
H:mm y/M/d
- 任务栏模式:
3.7.10 界面微调
- 在扩展管理器“浏览”中搜索并安装“Just Perfection”
- 扩展设置
- 显示页
- 关闭辅助功能菜单
- 图标页
- 如果是台式机,可以考虑关闭电源图标
- 行为页
- 启动状态改为桌面
- 定制页
- 时钟菜单位置改为左边(这样会把时钟放到右边,不确定是不是翻译问题)
- 时钟菜单位置偏移改为20
- 通知横幅位置:任务栏模式选择底端,Dock模式选择高端
- 显示页
3.7.11 模糊效果
- 在扩展管理器“浏览”中搜索并安装“Blur my Shell”
- 扩展设置
- 如果用任务栏模式,可以考虑关闭Panel Blur
- 关闭Dash to Dock Blur(为了防止bug,有Dash to Dock自己的半透明就够了)
3.7.12 阴历
-
安装并编译依赖
- 到https://github.com/yetist/lunar-date/releases下载最新版依赖库源码tarball,解压并进入目录
- 安装依赖和编译
sudo dnf install glib2-devel gobject-introspection-devel vala gtk-doc meson build --prefix /usr -Ddocs=true -Dintrospection=true -Dvapi=true -Dtests=true ninja -C build/ sudo ninja -C build install
-
在扩展管理器“浏览”中搜索并安装“Lunar Calendar 农历”
-
扩展设置
- 关闭显示时间
3.7.13 屏幕分享或录屏时自动免打扰
- 在扩展管理器“浏览”中搜索并安装“Do Not Disturb While Screen Sharing Or Recording”
3.7.14 去除“窗口已就绪”提示
- 在扩展管理器“浏览”中搜索并安装“Grand Theft Focus”
4 软件设置
4.1 输入法
- 安装软件包
sudo dnf install fcitx5 fcitx5-autostart fcitx5-chinese-addons fcitx5-configtool fcitx5-gtk fcitx5-gtk2 fcitx5-qt
- 重新启动
- 在扩展管理器“浏览”中搜索并安装“Input Method Panel”
- 按照个人习惯对输入法进行配置(提示,“输入法”页面选中输入法后中间有个设置按钮,“全局选项”也要设置,“附加组件”中的“经典用户界面”也要设置)
4.2 Emoji选择器
- 安装flatpak软件包:
flatpak install com.tomjwatson.Emote
- 在GNOME设置-键盘-查看及自定义快捷键中选择自定义快捷键,添加快捷键,名称Emote,命令
flatpak run com.tomjwatson.Emote
,设置快捷键时按下Win+.(和Windows上一样的配置)
4.3 终端和“任务管理器”快捷键
- 在GNOME设置-键盘-查看及自定义快捷键中选择自定义快捷键,添加快捷键
- 终端:命令
gnome-terminal
,快捷键Ctrl+Alt+T - “任务管理器”:命令
gnome-system-monitor
,快捷键Ctrl+Shift+Esc
- 终端:命令
4.4 浏览器
- 推荐使用flatpak安装浏览器,flatpak版的浏览器通常有额外的编解码器支持
- 如果是AMD64架构,可以安装Chrome:
flatpak install com.google.Chrome
- 其他架构也就用个Firefox吧:
flatpak install org.mozilla.firefox
4.5 硬件编解码器VAAPI
- 可以用
vainfo
查看,这个命令在包libva-utils
中提供 - Intel用户需要额外配置,在RPM Fusion源中安装
intel-media-driver
等等,具体配置参考https://discussion.fedoraproject.org/t/intel-graphics-best-practices-and-settings-for-hardware-acceleration/69944 - AMD用户通常不需要额外配置,直接查看
vainfo
即可;如果需要配置,说明显卡太老该扔了 - NVIDIA用户,你都不该用Linux桌面,还来看硬解配置?(此处插入Linus名言)
4.6 其他软件
- 诸如VLC播放器、OBS之类的软件都推荐用flatpak安装。可以用
flatpak search
命令搜索想要的软件,或者软件商店应该也可以用。推荐flatpak的原因是安装方便,更新快,有各种专有软件(例如云服务的客户端)。 - 微信,zxlnmsl
4.7 设置默认应用
- 安装好所需应用后,在“应用-默认应用”中设置默认应用
4.8 Wine/Proton
待补充
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫