快轉到主要內容
Gentoo Linux 安裝指南 (桌面配置篇)
  1. Posts/

Gentoo Linux 安裝指南 (桌面配置篇)

·3836 字·8 分鐘
作者
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) [必選]
#

可參考make.conf

/etc/portage/make.conf 是 Gentoo 的全域設定檔。在此階段,我們只需配置顯卡、輸入設備和本地化選項。詳細的編譯最佳化配置將在 Section 13.0 中介紹。

vim /etc/portage/make.conf

添加或修改以下配置:

# 顯卡驅動 (根據硬體選擇)
VIDEO_CARDS="nvidia"        # NVIDIA
# VIDEO_CARDS="amdgpu radeonsi" # AMD
# VIDEO_CARDS="intel i965 iris" # Intel

# 輸入設備
INPUT_DEVICES="libinput"

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

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

12.2 應用配置與更新系統 [必選]
#

應用新的 USE flags:

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

12.3 顯示卡驅動 [必選]
#

可參考NVIDIA/nvidia-drivers

  • NVIDIA 專有驅動emerge --ask x11-drivers/nvidia-drivers
  • AMD:設定 VIDEO_CARDS="amdgpu radeonsi"
  • Intel:設定 VIDEO_CARDS="intel i965 iris"

設定 VAAPI 影片加速

可參考VAAPInvidia-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 使用者: 通常安裝好顯卡驅動後即可直接支援。

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

關於 Firefox 與硬體加速

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

提示:以下配置適用於 Chromium、Chrome、Edge、Electron 應用(如 VSCode)。

1. 環境變數/etc/environment~/.bashrc 中添加:

export __GLX_VENDOR_LIBRARY_NAME=nvidia
export __VK_LAYER_NV_optimus=NVIDIA_only
export GBM_BACKEND=nvidia-drm

2. 啟動參數

請在啟動命令或 .desktop 檔案中添加以下參數:

--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

.desktop 檔案範例

[Desktop Entry]
Version=1.0
Type=Application
Name=Google Chrome
GenericName=Web Browser
Comment=Access the Internet with Vulkan Video Hardware Acceleration
Exec=/usr/bin/google-chrome-stable %U --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
Icon=google-chrome
Terminal=false
Categories=Network;WebBrowser;
StartupNotify=true
StartupWMClass=google-chrome
Actions=new-window;new-private-window;
Keywords=web;browser;internet;
X-GNOME-UsesNotifications=true

[Desktop Action new-window]
Name=New Window
Exec=/usr/bin/google-chrome-stable --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

[Desktop Action new-private-window]
Name=New Incognito Window
Exec=/usr/bin/google-chrome-stable --incognito --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
MimeType=x-scheme-handler/unknown;x-scheme-handler/about;text/html;text/xml;application/xhtml+xml;application/xhtml_xml;image/webp;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;

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

12.4 音訊與藍牙 [可選]
#

可參考PipeWireBluetooth

# 安裝 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 顯示管理器

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/GuideFonts

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

# 安裝 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)

    可參考Using Fcitx 5 on 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)。

  3. 啟動

    • 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 同步與 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]
sync-type = git
sync-uri = https://github.com/gentoo-mirror/gentoo.git
sync-depth = 1          # 只拉最新 commit,減小體積

3. 添加 Gentoo-zh Overlay/etc/portage/repos.conf/ 目錄下創建 gentoo-zh.conf 檔案,內容如下:

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

重要提示(更新時間: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. 電源管理 (筆記型電腦使用者推薦)

可參考Power management/Guide

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

方案 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 推薦: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

下一步進階優化

相關文章

網站從 Jekyll 遷移至 Hugo

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