快轉到主要內容
  1. Posts/

Gentoo Linux 安裝指南 (桌面設定篇)

·4635 字·10 分鐘
作者
Zakk
Gentoo 中文社区现网站改版与内容维护
目錄

文章特別說明
#

本文是 Gentoo Linux 安裝指南 系列的第二部分:桌面設定

系列導航

  1. 基礎安裝:從零開始安裝 Gentoo 基礎系統
  2. 桌面設定(本文):顯示卡驅動程式、桌面環境、輸入法等
  3. 進階優化:make.conf 優化、LTO、系統維護

上一步基礎安裝

12. 重新啟動後的設定
#

恭喜你!你已經完成了 Gentoo 的基礎安裝併成功進入了新系統(TTY 介面)。

接下來的章節是按需設定。你可以根據自己的需求(伺服器、桌面辦公、遊戲等)選擇性地進行設定和安裝。

重要提示:檢查 Profile 與更新系統

在開始設定之前,請再次確認 Profile 設定正確,並確保系統處於最新狀態:

eselect profile list          # 列出所有可用 Profile
eselect profile set <編號>    # 設定選定的 Profile (例如 desktop/plasma/systemd)
emerge -avuDN @world          # 更新系統

現在我們來設定圖形介面和多媒體功能。

12.0 網路檢查 [必選]
#

登入後,請確保網路連接正常。

  • 有線網路:通常會自動連接。
  • 無線網路:使用 nmtui (NetworkManager) 或 iwctl (iwd) 連接 Wi-Fi。

12.1 全局設定 (make.conf) [必選]
#

/etc/portage/make.conf 是 Gentoo 的全局設定檔。在此階段,我們只需設定輸入設備和本機化選項。

重要說明

基礎的 make.conf 設定已在 基礎安裝篇 5.2 節 完成。本節只需補充桌面相關設定。

如需詳細的編譯優化、USE 標誌、許可證管理等進階設定,請查閱 進階篇 13 章

設定 make.conf
#

vim /etc/portage/make.conf

添加或修改以下設定:

# 輸入設備
INPUT_DEVICES="libinput"

# 本機化設定
L10N="en zh zh-CN zh-TW"
LINGUAS="en zh_CN zh_TW"

# 桌面環境支援
USE="${USE} wayland X pipewire pulseaudio alsa"

設定顯示卡驅動程式 (VIDEO_CARDS)
#

推薦做法

根據 Gentoo Handbook,推薦使用 package.use 而非在 make.conf 中設定 VIDEO_CARDS,這樣可以更靈活地管理顯示卡驅動程式依賴。

創建 package.use 文件並設定顯示卡驅動程式:

mkdir -p /etc/portage/package.use
vim /etc/portage/package.use/video-cards

根據你的硬體選擇對應設定(參考下表):

# NVIDIA 顯示卡
*/* VIDEO_CARDS: nvidia

# AMD 顯示卡 (Sea Islands 及更新)
# */* VIDEO_CARDS: amdgpu radeonsi

# Intel 顯示卡
# */* VIDEO_CARDS: intel

# 虛擬機 (QEMU/KVM)
# */* VIDEO_CARDS: virgl
顯示卡硬體對照表(點擊展開)
硬體平臺獨立顯示卡VIDEO_CARDS 值說明
Intel x86無獨顯intel詳見 Intel 特性支援
x86/ARMNVIDIAnvidia閉源驅動(推薦)
任意平臺NVIDIA(除 Maxwell/Pascal/Volta)nouveau開源驅動(性能較差)
任意平臺AMD Sea Islands 及更新amdgpu radeonsi推薦(GCN 1.2+)
任意平臺ATI 和較舊的 AMDRadeon 特性支援舊款顯示卡
任意平臺Intelintel集成顯示卡
Raspberry PiN/Avc4VideoCore IV
QEMU/KVM任意virgl虛擬 GPU
WSL任意d3d12DirectX 12

詳細資訊

12.2 應用設定與更新系統 [必選]
#

應用新的 USE flags:

emerge --ask --newuse --deep @world

12.3 顯示卡驅動程式 [必選]
#

  • NVIDIA 專有驅動emerge --ask x11-drivers/nvidia-drivers
  • AMD:在 /etc/portage/package.use/video-cards 中啟用 VIDEO_CARDS: amdgpu radeonsi
  • Intel:在 /etc/portage/package.use/video-cards 中啟用 VIDEO_CARDS: intel

設定 VAAPI 影片加速

可參考VAAPI · nvidia-vaapi-driver

  1. 全局啟用 VAAPI: 在 /etc/portage/make.confUSE 中添加 vaapi

    # 重新編譯受影響的包
    emerge --ask --changed-use --deep @world
  2. 安裝驅動與工具

    emerge --ask media-video/libva-utils # 安裝 vainfo 用於驗證

    NVIDIA 使用者特別步驟

    emerge --ask media-libs/nvidia-vaapi-driver

注意

nvidia-vaapi-driver 在 Wayland 下可能存在不穩定性(如 CUDA/OpenGL 互操作問題)。 詳情參考:NVIDIA ForumsRedditGitHub Issue

NVIDIA 使用者還需要在核心參數中啟用 DRM KMS: 編輯 /etc/default/grub,在 GRUB_CMDLINE_LINUX_DEFAULT 中添加 nvidia_drm.modeset=1

grub-mkconfig -o /boot/grub/grub.cfg

Intel/AMD 使用者: 通常安裝好顯示卡驅動程式後即可直接支援。

  1. 驗證: 運行 vainfo 查看輸出,若無錯誤且顯示支援的 Profile 即為成功。

關於 Firefox 與硬體加速

  • 系統中的 ffmpeg 主要提供 H.264, AAC, HEVC, MP3 等格式的軟體解碼支援。
  • Firefox (特別是 firefox-bin) 自帶了 FFmpeg 庫,不會自動利用系統 FFmpeg 提供的 NVDEC/NVENC 進行硬體解碼。
  • 請訪問 about:support 頁面查看 Firefox 的實際硬體加速狀態。
NVIDIA Chromium 硬體加速設定 (推薦方法)(無需 VAAPI,點擊展開)

提示

以下設定適用於 Chromium、Chrome、Edge、Electron 應用(如 VSCode)。

方法一:使用 Flags 設定檔(推薦)

這種方法不需要修改 .desktop 文件,瀏覽器能正確識別為預設瀏覽器。

1. 環境變量 創建 ~/.config/environment.d/chromium-nvidia.conf

# NVIDIA 環境變量
__GLX_VENDOR_LIBRARY_NAME=nvidia
__VK_LAYER_NV_optimus=NVIDIA_only
GBM_BACKEND=nvidia-drm

2. Chromium/Chrome Flags 設定 創建對應的 flags 文件:

  • Chrome Stable: ~/.config/chrome-flags.conf
  • Chrome Unstable: ~/.config/chrome-dev-flags.conf
  • Chromium: ~/.config/chromium-flags.conf
  • Edge Beta: ~/.config/microsoft-edge-beta-flags.conf
  • Edge Dev: ~/.config/microsoft-edge-dev-flags.conf

內容如下:

# Vulkan 影片加速設定
# NVIDIA + Wayland 硬體加速優化

--enable-features=VulkanVideoDecoder,Vulkan,VulkanFromANGLE,DefaultANGLEVulkan
--ozone-platform=x11
--use-vulkan=native
--enable-zero-copy
--enable-gpu-rasterization
--ignore-gpu-blocklist
--enable-native-gpu-memory-buffers

3. 應用設定 重新登入。

驗證:訪問 chrome://gpu/edge://gpu/,查看 Vulkan 是否顯示為 Enabled

Chromium GPU Vulkan

12.4 音訊與藍牙 [可選]
#

可參考PipeWire · Bluetooth

# 安裝 PipeWire 音訊系統與 WirePlumber 會話管理器
emerge --ask media-video/pipewire media-video/wireplumber

# 安裝藍牙協定棧、工具與管理器 (Blueman 為 GUI 管理器)
emerge --ask net-wireless/bluez net-wireless/bluez-tools net-wireless/blueman

啟動服務 (OpenRC)

rc-update add bluetooth default
/etc/init.d/bluetooth start

啟動服務 (Systemd)

# 設定藍牙服務 (系統級):
sudo systemctl enable --now bluetooth
# 啟用 PipeWire 核心與 PulseAudio 兼容層
systemctl --user enable --now pipewire pipewire-pulse
# 啟用 WirePlumber 會話管理器
systemctl --user enable --now wireplumber

12.5 桌面環境與顯示管理器 [可選]
#

KDE Plasma(Wayland)
#

可參考KDE

echo "kde-plasma/plasma-meta wayland" >> /etc/portage/package.use/plasma
emerge --ask kde-plasma/plasma-meta # 安裝 Plasma 桌面
emerge --ask kde-apps/kde-apps-meta # (可選) 安裝全套 KDE 應用
emerge --ask x11-misc/sddm # 安裝 SDDM 顯示管理器

# OpenRC 設定 (SDDM 沒有獨立的 init 腳本)
# 參考:https://wiki.gentoo.org/wiki/Display_manager#OpenRC
emerge --ask gui-libs/display-manager-init # 安裝通用顯示管理器 init 腳本

# 編輯 /etc/conf.d/display-manager
# 設定 DISPLAYMANAGER="sddm" 和 CHECKVT=7
sed -i 's/^DISPLAYMANAGER=.*/DISPLAYMANAGER="sddm"/' /etc/conf.d/display-manager
sed -i 's/^CHECKVT=.*/CHECKVT=7/' /etc/conf.d/display-manager

rc-update add display-manager default
rc-service display-manager start  # 立即啟動 (可選)

# Systemd 設定
systemctl enable sddm
systemctl start sddm  # 立即啟動 (可選)

GNOME
#

可參考GNOME

emerge --ask gnome-base/gnome # 安裝 GNOME 核心組件
emerge --ask gnome-base/gdm # 安裝 GDM 顯示管理器
rc-update add gdm default # OpenRC
systemctl enable gdm # 啟用 GDM 顯示管理器 (systemd)

Hyprland (Wayland 動態平鋪視窗管理器)
#

可參考Hyprland

emerge --ask gui-wm/hyprland

提示

Hyprland 需要較新的顯示卡驅動程式支援,建議閱讀 Wiki 進行詳細設定。

其他選項
#

如果你需要輕量級桌面,可以考慮 Xfce 或 LXQt:

  • Xfce: emerge --ask xfce-base/xfce4-meta (Wiki)
  • LXQt: emerge --ask lxqt-base/lxqt-meta (Wiki)
  • Budgie: emerge --ask gnome-extra/budgie-desktop (Wiki)

更多選擇

如需查看其他桌面環境,請參考 Desktop environment

12.6 本機化與字體 [可選]
#

可參考Localization/Guide · Fonts

為了正常顯示中文,我們需要安裝中文字體。

# 安裝 Noto CJK (思源) 字體
emerge --ask media-fonts/noto-cjk

# 安裝 Emoji 字體
emerge --ask media-fonts/noto-emoji

# (可選) 文泉驛微米黑
emerge --ask media-fonts/wqy-microhei

刷新字體緩存:

fc-cache -fv

12.7 輸入法設定 (Fcitx5 & Rime) [可選]
#

可參考Fcitx5

Rime 是一款強大的輸入法引擎,支援朙月拼音 (簡體/繁體)、注音、地球拼音等多種輸入方案。

為了在 Wayland 下獲得最佳體驗,我們需要設定環境變量。

方案 A:Fcitx5 + Rime (KDE/通用推薦)

適合 KDE Plasma、Hyprland 等環境。

  1. 安裝

    emerge --ask app-i18n/fcitx app-i18n/fcitx-rime app-i18n/fcitx-configtool
  2. 設定環境變量 (Wayland)

編輯 /etc/environment

vim /etc/environment

寫入:

# 強制 XWayland 程式使用 Fcitx5
XMODIFIERS=@im=fcitx
  # (可選) 針對非 KDE 環境或特定程式
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx

KDE 使用者提示

在 KDE Plasma 5.27+ 中,建議直接在“系統設定” -> “鍵盤” -> “虛擬鍵盤”中選擇 Fcitx 5,而不需要手動設定上述環境變量(除了 XMODIFIERS)。

  1. 啟動
    • KDE/GNOME 通常會自動啟動。
    • Hyprland/Sway 需要在設定檔中添加 exec-once = fcitx5 -d

方案 B:IBus + Rime (GNOME 推薦)

可參考IBus

GNOME 對 IBus 集成最好,建議優先使用。

  1. 安裝

    emerge --ask app-i18n/ibus-rime
  2. 啟用 進入 GNOME 設定 -> 鍵盤 -> 添加輸入源 -> 選擇 “Chinese (Rime)"。

Rime 設定提示

  • 切換方案:按 F4 鍵。
  • 支援方案:朙月拼音 (簡體/繁體)、注音、地球拼音等。
  • 使用者設定目錄~/.local/share/fcitx5/rime (Fcitx5) 或 ~/.config/ibus/rime (IBus)。

12.8 安全啟動 (Secure Boot) [可選]
#

可參考Secure Boot

如果你需要開啟 Secure Boot,Gentoo 推薦使用 sbctl 來簡化設定。

  1. 安裝 sbctl
    emerge --ask app-crypt/sbctl
  2. 進入 BIOS 設定:重新啟動電腦進入 BIOS,將 Secure Boot 模式設為 “Setup Mode” (清除原有金鑰) 並開啟 Secure Boot。
  3. 創建並註冊金鑰: 進入系統後執行:
    sbctl create-keys
    sbctl enroll-keys -m # -m 包含 Microsoft 金鑰 (推薦,否則可能無法引導 Windows 或加載某些韌體)
  4. 簽名核心與引導程式
    # 自動尋找並簽名所有已知文件 (包括核心、systemd-boot 等)
    sbctl sign-all
       # 或者手動簽名 (例如 GRUB)
    # sbctl sign -s /efi/EFI/Gentoo/grubx64.efi
  5. 驗證
    sbctl verify

12.9 Portage Git Sync & Overlay [可選]
#

為什麼需要這一步?

預設的 rsync 同步較慢。使用 Git 同步不僅速度更快,而且方便管理。

1. 安裝 Git

emerge --ask dev-vcs/git

2. 設定 Git 同步

mkdir -p /etc/portage/repos.conf
cp /usr/share/portage/config/repos.conf /etc/portage/repos.conf/gentoo.conf

編輯 /etc/portage/repos.conf/gentoo.conf

[DEFAULT]
main-repo = gentoo

[gentoo]
location = /var/db/repos/gentoo
sync-type = git
sync-uri = https://github.com/gentoo-mirror/gentoo.git
auto-sync = yes

可用的 Gentoo Portage Git 鏡像站(擇一):

更多鏡像請參考:鏡像列表頁面

  • 可用的 Portage Git 儲存庫(擇一)
    • https://mirrors.ustc.edu.cn/git/gentoo-portage.git - 中國科學技術大學
    • https://mirrors.tuna.tsinghua.edu.cn/git/gentoo-portage.git - 清華大學
    • https://mirrors.bfsu.edu.cn/git/gentoo-portage.git - 北京外國語大學
  • 官方源
    • https://github.com/gentoo-mirror/gentoo.git - GitHub

3. 添加 Gentoo-zh Overlay

詳細說明請參考:Overlay 頁面

/etc/portage/repos.conf/ 目錄下創建 gentoo-zh.conf 文件,內容如下:

[gentoo-zh]
location = /var/db/repos/gentoo-zh
sync-type = git
sync-uri = https://github.com/microcai/gentoo-zh.git
auto-sync = yes

可用的 gentoo-zh Git 鏡像站(擇一):

  • 官方源(GitHub)https://github.com/microcai/gentoo-zh.git
  • 重慶大學https://mirrors.cqu.edu.cn/git/gentoo-zh.git
  • 南京大學https://mirror.nju.edu.cn/git/gentoo-zh.git

gentoo-zh distfiles 鏡像(可選):

為加速 gentoo-zh overlay 中軟體套件的下載,可使用以下 distfiles 鏡像:

  • 原始源https://distfiles.gentoocn.org/
  • 重慶大學https://mirrors.cqu.edu.cn/gentoo-zh
  • 南京大學https://mirror.nju.edu.cn/gentoo-zh

使用幫助:https://t.me/gentoocn/56

重要提示(更新時間:2025-10-07)

根據 Gentoo 官方公告,Gentoo 已停止為第三方倉庫提供緩存鏡像支援。從 2025-10-30 起,所有第三方倉庫(包括 gentoo-zh)的鏡像設定將從官方倉庫列表中移除。

這意味著什麼?

  • eselect repositorylayman 等工具仍可正常使用。
  • 官方將不再提供緩存鏡像,改為直接從上游源(GitHub)同步。
  • 官方倉庫(::gentoo::guru::kde::science)不受影響,仍可使用鏡像。

如果您之前已添加 gentoo-zh overlay,請更新同步 URI

# 查看已安裝的倉庫
eselect repository list -i

# 移除舊設定
eselect repository remove gentoo-zh

# 重新啟用(將自動使用正確的上游源)
eselect repository enable gentoo-zh

4. 執行同步

emerge --sync

5. 軟體安裝演示

例如安裝 flclash-bin

emerge -pv flclash-bin

輸出示例:

These are the packages that would be merged, in order:

Calculating dependencies     ... done!
Dependency resolution took 0.45 s (backtrack: 0/20).

[ebuild  N     ] dev-libs/keybinder-0.3.2-r300:3::gentoo  USE="introspection" 371 KiB
[ebuild  N     ] x11-apps/xmessage-1.0.7::gentoo  126 KiB
[ebuild  N     ] net-proxy/flclash-bin-0.8.90::gentoo-zh  39,565 KiB

Total: 3 packages (3 new), Size of downloads: 40,061 KiB

確認無誤後,執行安裝:

emerge --ask flclash-bin

12.10 Flatpak 支援與軟體中心 [可選]
#

可參考Flatpak

如果你需要使用 Flatpak 或希望在軟體中心管理 Flatpak 應用:

  1. 安裝 Flatpak

    emerge --ask sys-apps/flatpak
  2. 啟用軟體中心支援 為了讓 GNOME Software 或 KDE Discover 支援 Flatpak,需要啟用相應的 USE flag。

    GNOME 使用者: 在 /etc/portage/package.use/gnome (或新建文件) 中添加:

    gnome-extra/gnome-software flatpak

    KDE 使用者: 在 /etc/portage/package.use/kde (或新建文件) 中添加:

    kde-plasma/discover flatpak
  3. 更新軟體中心

    # GNOME
    emerge --ask --newuse gnome-extra/gnome-software
    
    # KDE
    emerge --ask --newuse kde-plasma/discover

使用提示

Flatpak 非常適合安裝專有軟體 (如 QQ, WeChat)。它的沙盒隔離機制可以保證主系統的安全與整潔。

# 搜索應用
flatpak search qq
flatpak search wechat

# 安裝 QQ 和 WeChat
flatpak install com.qq.QQ
flatpak install com.tencent.WeChat

12.11 系統維護 (SSD TRIM & 電源管理) [可選]
#

1. SSD TRIM (延長 SSD 壽命)

可參考SSD

定期執行 TRIM 可以保持 SSD 性能。

檢查支援

運行 lsblk --discard。如果 DISC-GRAN 列非 0,則支援 TRIM。

  • Systemd 使用者
    systemctl enable --now fstrim.timer
  • OpenRC 使用者: 建議每週手動運行一次 fstrim -av,或設定 cron 任務。

2. 電源管理 (筆記型電腦使用者推薦)

請在以下方案中二選一 (不要同時安裝):

方案 A:TLP (推薦,極致省電) 自動優化電池壽命,適合大多數使用者。

emerge --ask sys-power/tlp
# OpenRC
rc-update add tlp default
/etc/init.d/tlp start
# Systemd
systemctl enable --now tlp

設定提示

TLP 預設設定已足夠優秀。如需微調,設定檔位於 /etc/tlp.conf。修改後需運行 tlp start 生效。

方案 B:power-profiles-daemon (桌面集成) 適合 GNOME/KDE 使用者,可在系統選單中直接切換"性能/平衡/省電"模式。

emerge --ask sys-power/power-profiles-daemon
# OpenRC
rc-update add power-profiles-daemon default
/etc/init.d/power-profiles-daemon start
# Systemd
systemctl enable --now power-profiles-daemon

3. Zram (記憶體壓縮)

推薦

Zram 可以創建壓縮的記憶體交換分區,有效防止編譯大型軟體時記憶體不足 (OOM)。

OpenRC 使用者

emerge --ask sys-block/zram-init
rc-update add zram-init default

設定位於 /etc/conf.d/zram-init

Systemd 使用者: 推薦使用 zram-generator

emerge --ask sys-apps/zram-generator
# 創建預設設定 (自動使用 50% 記憶體作為 Swap)
echo '[zram0]' > /etc/systemd/zram-generator.conf
systemctl daemon-reload
systemctl start dev-zram0.swap

下一步進階優化

相關文章

Gentoo Linux 安裝指南 (基礎篇)

·14610 字·30 分鐘
Gentoo Linux 基礎系統安裝教程,涵蓋分區、Stage3、核心編譯、引導程式設定等。也突出有 LUKS 全盤加密教學。

網站從 Jekyll 遷移至 Hugo

·1211 字·3 分鐘
經過多年使用 Jekyll 作為靜態站點產生器,Gentoo 中文社群網站現已成功遷移至 Hugo。本文介紹此次遷移的背景、原因和主要改進。