跳到正文

Wiki

其他可選配置

約 21 分鐘閱讀

本文由簡體中文內容確定性轉換,並受版本化術語表保護。

根據自己是否有需求再選擇對應的功能進行配置

1.KDE的Wayland和X11互相切換


# Ubuntu
sudo apt install plasma-workspace-x11 plasma-workspace-wayland

# Fedora,Rocky
sudo dnf install plasma-workspace-x11 plasma-workspace-wayland

然後重啟,在kde的登陸介面的左下角可以選擇X11還是Wayland!

2.修改DNS

使用 NetworkManager(最推薦,適用於大多數現代發行版)這是最靈活的方法,NetworkManager 是 Ubuntu、Fedora、CentOS 等大多數主流發行版的預設網路管理工具。

  1. 修改全域性配置檔案(對所有連線生效):建立或編輯 /etc/NetworkManager/conf.d/dns.conf檔案:
sudo nano /etc/NetworkManager/conf.d/dns.conf

新增以下內容:

[main]dns=none
systemd-resolved=falserc-manager=unmanaged

這告訴 NetworkManager 不要管理 DNS 設定。

  1. 建立靜態 resolv.conf 檔案:編輯 /etc/resolv.conf檔案(如果檔案不存在則建立):
sudo nano /etc/resolv.conf

新增您想要的 DNS 伺服器,例如:

nameserver 223.5.5.5
nameserver 119.29.29.29
options timeout:1 attempts:2
  1. 防止檔案被覆蓋:為防止系統其他服務覆蓋此檔案,將其設定為不可更改:
sudo chattr +i /etc/resolv.conf

(如需修改此檔案,先使用 sudo chattr -i /etc/resolv.conf解除鎖定)

重啟 NetworkManager:

sudo systemctl restart NetworkManager
  1. 使用 resolvectlsystemd-resolve檢視是否成功(最推薦)

這是最直接的方法,可以檢視系統預設的 DNS 配置。

resolvectl status

或者(對於舊版系統)

systemd-resolve --status

3.截圖快捷鍵

KDE自帶的截圖工具賊好用,同時這個截圖工具同樣可以錄屏,但是OBS比截圖工具更加專業,所以我們一般只用這個截圖工具進行截圖。

QQ和微信的截圖在Wayland下截至2025年還都有些小問題,所以我們選擇KDE自帶的截圖工具。

這裡在捕獲矩形區域的自定義快捷鍵在這裡輸入自己想用的快捷鍵即可。

4.搜尋工具

KDE自帶的搜尋工具也很好用,可以快速開啟自己想開啟的應用。就像這樣,所以我們也設定一個快捷鍵進行撥出。

Meta這個按鍵就是Win鍵,上面是一個微軟LOGO。

5.關閉SELinux

這玩意在個人電腦沒必要開,純給自己找麻煩,Android倒是可以開。

這個目前Feodra是預設開的(enforcing模式),所以需要關一下。

停用有倆方式,disabledpermissive模式,下面是這倆模式的區別:

特性 Disabled 模式 Permissive 模式
SELinux 核心模組狀態 完全停用 SELinux,核心模組不執行137。 SELinux 核心模組正常執行,但僅記錄違規行為,不阻止訪問126。
訪問控制策略 不執行任何策略,所有訪問均被允許29。 檢查策略並記錄違規行為,但不會阻止操作36。
日誌記錄 不生成 SELinux 相關的審計日誌37。 記錄所有違反策略的行為到 /var/log/audit/audit.log26。
安全性 最低,完全依賴傳統 Linux DAC(自主訪問控制)28。 高於 Disabled 模式,提供除錯環境,同時保留日誌分析能力36。
切換方式 必須修改配置檔案 /etc/selinux/config 並重啟系統34。 可通過命令 setenforce 0 臨時切換,無需重啟34。
適用場景 僅用於徹底規避 SELinux 相容性問題(如老舊軟體),不推薦長期使用19。 用於除錯策略、排查許可權問題,或在開發階段測試 SELinux 規則367。

由於Disabled模式,SELinux 完全關閉,核心模組未載入。所有程序和檔案的訪問僅受傳統 Linux 使用者/組許可權控制(如 rwx),所以我們選擇Permissive模式,該模式下SELinux 策略正常載入,但僅記錄違規行為(如程序嘗試訪問未授權檔案)。

下面是修改模式的教程:

sudo vim /etc/selinux/config


# This file controls the state of SELinux on the system. 

# SELINUX= can take one of these three values: 

#     enforcing - SELinux security policy is enforced. 

#     permissive - SELinux prints warnings instead of enforcing. 

#     disabled - No SELinux policy is loaded. 

# See also: 

# https://docs.fedoraproject.org/en-US/quick-docs/getting-started-with-selinux/#getting-started-with-selinux-selinux-states-and-modes 
# 

# NOTE: In earlier Fedora kernel builds, SELINUX=disabled would also 

# fully disable SELinux during boot. If you need a system with SELinux 

# fully disabled instead of SELinux running with no policy loaded, you 

# need to pass selinux=0 to the kernel command line. You can use grubby 

# to persistently set the bootloader to boot with selinux=0: 
# 

#    grubby --update-kernel ALL --args selinux=0 
# 

# To revert back to SELinux enabled: 
# 

#    grubby --update-kernel ALL --remove-args selinux 
# 
SELINUX=permissive 

# SELINUXTYPE= can take one of these three values: 

#     targeted - Targeted processes are protected, 

#     minimum - Modification of targeted policy. Only selected processes are protected. 

#     mls - Multi Level Security protection. 
SELINUXTYPE=targeted

SELINUXTYPE是修改selinux的策略,targeted 策略是 SELinux 的 預設策略,主要對 高風險的網路服務(如 Apache、MySQL、SSH)進行強制訪問控制,其他非關鍵程序沿用傳統的 Linux 使用者/組許可權(DAC)。這種設計在安全性和易用性之間取得了平衡,所以無需修改。

重啟即可

sudo reboot

6.UEFI啟動介面rEFInd

https://www.bilibili.com/video/BV1qh411Q7d4

6.1.安裝rEFInd


# Ubuntu
sudo apt update
sudo apt install refind

# Fedora
sudo dnf makecache
sudo dnf install rEFInd

注:如果安裝了三系統,儘量把refind安裝到Linux盤的第一個系統上。

6.2.確認refind是否安裝成功

如圖在/boot/efi/EFI資料夾裡,有個refind.

如果你沒有這個refind檔案的話,需要手動進行安裝。

手動安裝方式一:

找到/usr/share/rEFInd/資料夾,看看裡面是否有refind-install,直接執行下方命令即可。

cd /usr/share/rEFInd/
sudo ./refind-install
sudo reboot

手動安裝方式二:

cd /usr/share/rEFInd/
sudo cp -r /usr/share/rEFInd/refind /boot/efi/EFI/
sudo reboot

安裝完畢後,可以看看/boot/efi/EFI資料夾裡,是否有refind了.

6.3.配置 refind.conf

cd /boot/efi/EFI/refind
sudo vim ./refind.conf

最後一行加上(vim編輯器不會用自己百度)

dont_scan_dirs ESP:/EFI/boot,EFI/ubuntu,EFI/boot,EFI/deepin_os,EFI/UOS,EFI/fedora

sduo reboot
#如果使用refind-install安装的refind,默认自动将rEFInd启动项作为第一项,如果没有进BIOS手动配置

完成!!!

6.4.美化

rEFInd-glassy主題:https://pan.baidu.com/s/1HgfXG3m4j57VIk4k6inI-g

提取碼:zimo

記得解壓出來。

cd /boot/efi/EFI/refind
mkdir -p ./themes

# 你把美化包解压到哪里了,就cd到哪里
cd ~/Downloads
sudo cp -r ./rEFInd-glassy /boot/efi/EFI/refind/themes

然後

cd /boot/efi/EFI/refind
sudo vim ./refind.conf

最後一行加上(vim編輯器不會用自己百度)

include themes/rEFInd-glassy/theme.conf

# 重新启动电脑
sudo reboot

7.KDE主題

先從kde store下載一個心儀的主題,然後解壓出來。

https://store.kde.org/


# cd进主题的文件夹
cd ~/Downloads

# 把主题文件复制到KDE的主题
sudo cp -r ./Apple.BigSur.Dark.P6 /usr/share/plasma/look-and-feel

進入設定就可以看到啦,如果看不到,就重啟下電腦。

8.自啟應用與指令碼

在右上角可以新增指令碼和應用,新增指令碼前先要確認指令碼是否擁有可執行許可權。也可以選擇開機時執行指令碼和關機時執行指令碼。

例子:拿docker_x11的命令xhost +local:docker為例。

先找到一個存放指令碼的資料夾,你自己在home分割槽創一個就可以了。

touch docker_x11.bash
sudo chmod a+x ./docker_x11.bash
sudo vim ./docker_x11.bash

在vim編輯器裡輸入:

#!/bin/bash
# 等待 X Server 就绪(最多等 10 秒)
for i in {1..10}; do
    if [ -n "$DISPLAY" ] && xset q >/dev/null 2>&1; then
        /usr/bin/xhost +local:docker
        exit 0
    fi
    sleep 1
done

在vim編輯器裡先按ESC,然後:wq儲存並退出.

在kde6設定裡找到autostart,然後新增登陸指令碼,而不是登出指令碼。

🟢 Login Script(登入指令碼)

  • 什麼時候執行? 當用戶登入系統時(例如通過終端、TTY 或 SSH)自動執行。

🔴 Logout Script(登出指令碼)

  • 什麼時候執行? 當用戶退出 shell 或登出登入會話時自動執行。

找到指令碼檔案新增進去即可。

重啟即可

9.從Bash切換到Zsh

9.1.什麼是shell?

簡單說,shell是你與應用程式互動的媒介。 通常情況下,你將你想要使用的應用程式和引數輸入到shell,shell在PATH中查詢你希望呼叫的應用程式,對引數進行解析,並傳入引數。最終將結果返回給你。

如果你使用的是bash shell,那麼你大機率正在使用某個linux發行版。 目前,大部分linux發行版使用的預設shell仍然是bashWindows預設使用Powershell。 從Catalina開始,MacOS已經將預設shell從bash切換到了zsh

9.2.zsh有什麼優勢?

相比bashzsh有龐大的外掛社群和成熟的外掛管理框架如oh my zsh,這使得zsh的功能擴充套件變得極為容易,你可以向管理vim外掛一樣管理zsh外掛。

9.3.zsh安裝與配置

先檢視自己現在是啥shell?(一般是bash)

echo $SHELL  # 应该会显示/usr/bin/bash

# 或
echo $0      # 应该显示 "-bash"

現在讓我們來安裝zsh吧。


# Debian系
sudo apt install zsh

#红帽系
sudo dnf install zsh

確認一下自己是否安裝成功


# 查看shell版本
bash --version
zsh --version

如何配置zsh呢?

bash差不多。

zsh的全域性配置檔案位於/etc/zsh.zshc, 單使用者配置檔案位於~/.zshrc

但不推薦你現在修改任何一個檔案,因為我們有更加優雅的配置方式:

9.4.oh my zsh!

專案地址:

https://github.com/ohmyzsh/ohmyzsh

oh my zsh是當下最流行的zsh外掛管理工具,相當於vim中的vim-plug或vundle。

安裝oh my zsh


# 方式一(可能需要科学上网)
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

# 方式二
sh -c "$(curl -fsSL https://install.ohmyz.sh/)"

下圖可選是否現在就把zsh設定成預設的。

如上圖即安裝成功。

9.5.配置oh my zsh

現在檢視.zshrc檔案,你會發現oh my zsh已經幾乎幫你配置好了。

如果你想使用外掛,可以找到plugins,在其中新增即可。

這裡給出我的.zshrc供你參考。

9.6.定製獨一無二的zsh

還記得上文中我提到不建議修改.zshrc,這是因為我們在使用oh my zsh框架後,oh my zsh會建立一個~/oh-my-zsh目錄用於存放相關檔案,其中有一個名為custom的資料夾,我們可以將我們的配置指令碼放在此處,oh my zsh會自動載入這一目錄下的vim指令碼。

基本支援bash的配置命令。以博主為例,bashrc指令碼遷移到zsh未作任何改動。

我建立了一個名為myshrc.zsh的指令碼以儲存配置,檔案如下供你參考。

cd /home/用户名/.oh-my-zsh/custom
touch ./myshrc.zsh
vim ./myshrc.zsh

將自己~/.bashrc裡自己多新增的設定全部複製到該檔案中即可。

例如我的:


# 配置CUDA
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

# 配置ROS-DISTRO
export ROSDISTRO_INDEX_URL=https://mirrors.bfsu.edu.cn/rosdistro/index-v4.yaml

# 配置ROS1 Noetic

# source /opt/ros/noetic/setup.zsh

# export ROS_MASTER_URI=http://localhost:11311

# export ROS_HOSTNAME=localhost

# export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:/home/tungchiahui/UserFloder/MySource/ROS_WS/gazebo_models:/home/tungchiahui/UserFloder/MySource/ROS_WS/ign_models

# 配置ROS2 Humble
source /opt/ros/humble/setup.zsh
export ROS_DOMAIN_ID=6
export IGN_GAZEBO_RESOURCE_PATH=$IGN_GAZEBO_RESOURCE_PATH:/home/tungchiahui/UserFloder/MySource/ROS_WS/gazebo_models:/home/tungchiahui/UserFloder/MySource/ROS_WS/ign_models

接著可以重新整理當前終端環境


# 刷新环境
source ~/.zshrc

# 检查自己的配置是否生效
echo $LD_LIBRARY_PATH 

對應著我上面我的配置,會對應echo打印出下列即為成功。

/usr/local/cuda/lib64:/usr/local/cuda/lib64: 

9.7.切換預設shell

如果在下圖選擇了yes,就不用再重新設定了。

chsh -s $(which zsh)
echo $SHELL  # 应输出 "/usr/bin/zsh"
echo $0      # 若显示 "-zsh",表示已生效

完畢!

如果這裡發現無法設定成預設,如下圖:

那麼使用下方命令強制修改:


# 强制修改
sudo usermod -s /usr/bin/zsh tungchiahui(用户名)

# 验证
grep tungchiahui(用户名) /etc/passwd  # 检查是否显示 "/usr/bin/zsh"

# 重启
sudo reboot

重啟後驗證

echo $SHELL  # 应输出 "/usr/bin/zsh"
echo $0      # 若显示 "-zsh",表示已生效

再次完畢!

9.8.新增外掛教程

9.8.1.powerlevel10k

這個外掛是美化zsh的,優點是不會怎麼影響終端效能,速度比較快。

https://github.com/romkatv/powerlevel10k

安裝powerlevel10k


# 国外用户
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k
echo 'source ~/powerlevel10k/powerlevel10k.zsh-theme' >>~/.zshrc

# 国内用户
git clone --depth=1 https://gitee.com/romkatv/powerlevel10k.git ~/powerlevel10k
echo 'source ~/powerlevel10k/powerlevel10k.zsh-theme' >>~/.zshrc

下載字型

下面的任選其一


# 刷新当前环境变量
source ~/.zshrc

這裡需要檢查圖示是否都顯示正常,顯示不正常就證明字型有問題,關閉終端再重新開啟看看字型還有問題嗎?

沒問題就一直y.

建議參考這個教程的配置。

https://www.bilibili.com/video/BV1dX4y127JL

下面是配置好的樣子:

如果想重新配置就輸入:

p10k configure

VScode如果圖示顯示不全的話,如下操作即可。

  1. 搜尋 Terminal › Integrated: Font Family

輸入支援 Nerd Font 的字型名稱,例如:

MesloLGS NF

(注意 MesloLGS NF 必須放在首位)

  1. 用基礎連字支援

搜尋 Terminal › Integrated: Font Ligatures

勾選 Enabled(允許字型渲染特殊連字元號)

  1. 確保 GPU 加速開啟
  • 搜尋 Terminal › Integrated: Gpu Acceleration

  • 設定為 on(提升渲染效能)

若 GPU 加速導致問題

  • 嘗試設定為 off 後重啟終端

  • 檢查 Fallback Ligatures 是否生效

再重開終端即可(GPU設定必須重啟終端)

10.給終端加顏色

如果你的終端裡的文字一點顏色都沒有的話再新增這個,某些發行版比如RockyLinux預設是沒有顏色的,而Fedora,Ubuntu這種開箱即用的發行版一般預設都是有顏色的.

vim ~/.bashrc

把下面這些內容放到檔案最底部並儲存

# =========================================================
# Fedora / Ubuntu style colored bash prompt
# =========================================================

# Enable color support
case "$TERM" in
    xterm-color|*-256color) color_prompt=yes;;
esac

# Git branch function
parse_git_branch() {
    git branch 2>/dev/null | sed -n '/^\*/s/^\* //p'
}

if [ "$color_prompt" = yes ]; then
    if [ "$EUID" -eq 0 ]; then
        # root prompt (red)
        PS1='\[\e[1;31m\]\u@\h\[\e[0m\]:\[\e[1;34m\]\w\[\e[1;33m\]$(parse_git_branch)\[\e[0m\]\$ '
    else
        # normal user prompt (green)
        PS1='\[\e[1;32m\]\u@\h\[\e[0m\]:\[\e[1;34m\]\w\[\e[1;33m\]$(parse_git_branch)\[\e[0m\]\$ '
    fi
else
    PS1='\u@\h:\w\$ '
fi

# Enable colored commands
alias ls='ls --color=auto'
alias ll='ls -lh --color=auto'
alias la='ls -A --color=auto'

alias grep='grep --color=auto'
alias diff='diff --color=auto'
alias ip='ip -color=auto'

export CLICOLOR=1
source ~/.bashrc

11.Flatpak軟體管理工具

flatpak類似於apt和dnf等包管理工具,可以安裝軟體,但安裝的不是最基礎的軟體,是QQ,QQ音樂這種軟體。

當你的apt或者dnf沒有某個軟體時,可以去flathub上去看看是否有這個軟體。

11.1.flatpak安裝

https://flatpak.org/

  1. Ubuntu

# 安装flatpak
sudo apt update && sudo apt install flatpak

# 先添加官方国外源
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

# 再修改为中科大镜像源
sudo flatpak remote-modify flathub --url=https://mirrors.ustc.edu.cn/flathub

# 查看仓库详情
flatpak remotes --show-details

  1. Fedora

Fedora已經自帶。


# 先添加官方国外源
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

# 再修改为中科大镜像源
sudo flatpak remote-modify flathub --url=https://mirrors.ustc.edu.cn/flathub

# 查看仓库详情
flatpak remotes --show-details

11.2.字型問題解決

因為flatpak是沙盒,所以容易缺字型,先安裝字型

#Ubuntu
sudo apt install google-noto-sans-cjk-fonts google-noto-serif-cjk-fonts

# Fedora
sudo dnf install google-noto-sans-cjk-fonts google-noto-serif-cjk-fonts

實際上這套字型叫: Noto Sans CJK / Noto Serif CJK 它同時包含: 中文(Simplified + Traditional) 日文(JP) 韓文(KR)

然後設定 Flatpak 的字型訪問許可權(override),讓所有 Flatpak 應用能“看到”這些字型:

sudo flatpak override --filesystem=/usr/share/fonts
sudo flatpak override --filesystem=~/.local/share/fonts

如果你之前安裝過flatpak軟體,那麼上面的操作對已安裝的軟體不生效, 拿QQ音樂舉例,我們需要讓他生效.

進入 Flatpak 沙盒環境,這條命令讓你進入 QQ 音樂的沙盒終端,就像“進入容器”一樣。 裡面的路徑和主系統是隔離的。

flatpak run --command=bash com.qq.QQmusic

刪除舊的 fontconfig 快取,Flatpak 會在自己的沙盒裡快取字型索引。 刪掉舊快取後,新的字型才能重新被識別。

rm -rvf ~/.var/app/com.qq.QQmusic/cache/fontconfig/

重建字型快取,這一步會強制重新掃描字型路徑(包含 /usr/share/fonts 和使用者字型路徑), 生成新的快取檔案,修復顯示問題。

fc-cache -f -v

11.3.安裝軟體

https://flathub.org/

去上面的官網搜尋軟體+下載軟體。

flatpak install flathub com.obsproject.Studio

11.4.執行軟體

方法一(官方)

flatpak install flathub com.obsproject.Studio

方法二(直接當普通軟體執行即可)

12.Appimage

比如說,QQ音樂只提供deb,appimage.並不提供rpm格式的安裝包(1.1.7版本是這樣的,以後估計rpm會給。純純開發者欠C了,連rpm都不給。)所以說我想在Fedora上安裝QQ音樂要麼用appimage,要麼選擇用flatpak.(這裡使用appimage)

先下載appimage

https://y.qq.com/download/download.html

再去google下載個QQ音樂圖示(因為google可以下載透明圖示)

給他們放在/home/用户名的某個資料夾中(這個自己定,比如我是/home/tungchiahui/UserFloder/Applications/qqmusic/資料夾)

先給QQ音樂執行許可權

cd ~/UserFloder/Applications/qqmusic
sudo chmod +x ./qqmusic-1.1.7.AppImage

給QQ音樂配置 快捷方式

cd ~/.local/share/applications/
touch ./qqmusic.desktop
vim ./qqmusic.desktop
sudo chmod +x ./qqmusic.desktop

內容如下

[Desktop Entry]
Name=QQ音乐
Exec=/home/tungchiahui/UserFloder/Applications/qqmusic/qqmusic-1.1.7.AppImage
Icon=/home/tungchiahui/UserFloder/Applications/qqmusic/QQ_Music2023.svg
Type=Application
Categories=Audio;Music;Player;
Comment=QQ Music Client for Linux

此時找到軟體就可以打開了,如果找不到,請重啟,部分不先進的發行版重新整理圖示列表不會很快。

如果QQ音樂閃退,這個只是QQ音樂自己軟體的問題,按下圖這樣做。

如果你用的不是KDE,那麼也可以直接修改qqmuic.desktop:在exec的末尾加上--no-sandbox

[Desktop Entry]
Name=QQ音乐
Exec=/home/tungchiahui/UserFloder/Applications/qqmusic/qqmusic-1.1.7.AppImage --no-sandbox
Icon=/home/tungchiahui/UserFloder/Applications/qqmusic/QQ_Music2023.svg
Type=Application
Categories=Audio;Music;Player;
Comment=QQ Music Client for Linux

如果qq音樂缺字型,那麼請安裝字型(這個字型是多種語言合一的字型)

sudo dnf install google-noto-sans-cjk-fonts google-noto-serif-cjk-fonts

13.修改HOSTNAME

例如我要修改為Dell-G15-5511

sudo hostnamectl set-hostname "Dell-G15-5511"

hostnamectl | grep "Static hostname"      # 验证静态主机名

sudo systemctl restart systemd-hostnamed  # 重启主机名服务
sudo systemctl restart NetworkManager      # 重启网络服务
sudo reboot

echo $HOSTNAME           # 验证主机名

14.刪掉應用配置

有的應用配置有問題,可以刪掉他的快取。

快取在~/.config資料夾下。

比如VScode出問題了:

這樣刪掉他就結束了。

而下面的這個~/.vscode是擴充套件。