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行后面的rhgbquiet参数
  • 保存后运行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.ttfsimfang.ttf(为了兼容带“_GB2312”名字的楷体和仿宋字体,注意不要替换Windows 10中的相应字体文件,建议分开文件夹存储)
  • Microsoft Office的MTEXTRA.TTFWINGDNG2.TTFWINGDNG3.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

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

待补充

posted @   Secant1006  阅读(660)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
点击右上角即可分享
微信分享提示