快轉到主要內容

安裝FreeBSD QEMU/KVM虛擬機 + KDE桌面 + Fcitx5中文輸入法紀錄

分類   資訊科技 作業系統安裝教學
標籤   Libvirt FreeBSD
🗓️ 民國113年 甲辰年
✍ 切換正體/簡體字
目錄

安裝一個中文桌面環境的FreeBSD系統。

上次安裝FreeBSD是兩年前暑假心情煩悶的時候安裝的,我還嘗試安裝FreeBSD 13在實機上,結果因為對Xorg不熟悉卡在純文字界面,遂 改用懶人版的GhostBSD,可這怎麼會有趣呢!隨後換回Arch Linux。

這次我要再次挑戰手工安裝FreeBSD,這次的理由除了心情煩悶,還有些東西想在FreeBSD測試。於是就來安裝FreeBSD解悶,結果是越debug越悶…所幸後來還是裝成功了。

本次用QEMU/KVM虛擬機練習,之後會搞PCI Passthrough直通使其逼近實機狀況。

用Linux的Virt Manager安裝FreeBSD虛擬機,並不像安裝其他Linux發行版一樣簡單。Libvirt會透過SPICE與虛擬機溝通,大部份Linux發行版會自動偵測,開箱即用,但是FreeBSD得手動設定服務,否則沒畫面,滑鼠也不會動。…怎覺得比裝Gentoo還麻煩,但起碼比Hackintosh簡單。要謹記,雖然Linux跟FreeBSD很像,但是檔案系統目錄不同,觀念要轉一下,尤其這裡沒有Systemd。Linux慣用的操作不見得適用FreeBSD,故安裝前需以FreeBSD手冊的內容為準。

桌面環境部份,我是有想過裝GNOME 42,但太多功能依賴Linux了,不少GNOME核心程式沒移植,且目前FreeBSD的Wayland支援度不佳,只得用X11。FreeBSD的GNOME相較Linux殘廢許多,實測也有很多問題。所以,我選KDE Plasma 5;如果想要輕量的桌面環境可以裝XFCE 4。

1. 環境
#

  • 宿主機:Ubuntu 24.04 LTS
  • 虛擬機:FreeBSD 14.0 Release
  • 虛擬機軟體:Virt Manager + QEMU/KVM 8.0

2. 新增FreeBSD虛擬機組態
#

  1. 安裝 QEMU/KVM與Virt Manager

  2. FreeBSD官網下載FreeBSD 14.0-RELEASE的DVD ISO,這是目前的最新穩定版本

  3. 開啟Virt Manager,新增Q35+UEFI的機器

  4. 將FreeBSD的ISO掛接為CDROM

  5. 新增硬體「Evtouch圖形數位板」,這樣才能在虛擬機與宿主機間切換滑鼠

  6. 音效卡設定為HDA (ICH9)

  7. QXL在FreeBSD理論上是有xf86-video-qxl驅動支援…但我不知道怎設定,開機黑螢幕,許是Ubuntu的QXL有bug?所以顯示卡不使用QXL,改用支援度較佳的VMware vmvga。但這個似乎只能在QEMU命令行使用,故手動編輯顯示卡區段的XML,填入以下內容:

<video>
  <model type="vmvga" vram="65536" heads="1" primary="yes"/>
  <alias name="video0"/>
  <address type="pci" domain="0x0000" bus="0x00" slot="0x01" function="0x0"/>
</video>
  1. 然後開機安裝

3. 安裝FreeBSD基本系統
#

  1. 開機按1進入安裝器

  2. 按照畫面指示,安裝base system和kernel

  3. 系統分區使用Auto (ZFS)

  4. 新增一般使用者user,並將其加入到wheel群組

  5. 安裝後重開機

  6. 開機後應該是純文字環境,登入root

root
  1. 安裝sudo
pkg install sudo vim
  1. 將一般使用者加入到sudo群組
visudo
  1. 填入:
root ALL=(ALL:ALL) ALL
user ALL=(ALL:ALL) ALL
  1. 登出,用一般使用者登入
exit
  1. 將shell改成較為常見的bash
sudo pkg install bash

sudo chsh -s /usr/local/bin/bash root
sudo chsh -s /usr/local/bin/bash user

4. 設定圖形驅動程式
#

  1. 安裝Xorg套件
sudo pkg install xorg
  1. 將使用者user加入video群組
sudo pw groupmod video -m user
  1. 顯示卡驅動使用vmware-xga的驅動。安裝以下套件,重開機後應該會自行載入,不需要手動寫xorg.conf。
sudo pkg install xf86-video-vmware
附錄:萬策盡的時候才使用xf86-video-scfb軟體渲染。

注意scfb驅動會鎖死解析度。

Virt Manager虛擬顯示卡選VGA,使用scfb驅動

pkg install xf86-video-scfb

調整Xorg設定

sudo vim /usr/local/etc/X11/xorg.conf/driver-scfb.conf

填入以下內容:

 Section "Device"
     Identifier    "Card0"
     Driver        "scfb"
 EndSection

xorg.conf.d目錄下應該只有scfb驅動的設定,不要有其他驅動的設定檔。

  1. 使用sysrc指令編輯開機啟動的項目(實際上是寫入到/etc/rc.conf這個檔案)

  2. 將HDA的音訊模組加入到開機自動啟動

sudo sysrc snd_hda_load="YES"
  1. 將dbus和hald加入開機自動啟動
sudo sysrc dbus_enable="YES"
sudo sysrc hald_enable="YES"
  1. 編輯/boot/loader.conf設定自動載入hms,這是USB滑鼠與光碟的驅動
hw.usb.usbhid.enable=1
usbhid_load="YES"
hms_load="YES"

5. 安裝KDE桌面環境
#

目前FreeBSD穩定的KDE版本是Plasma 5,不支援Wayland。

  1. 這個套件會把常用的KDE應用程式一併拉進來
sudo pkg install kde5 packagekit
  1. KDE開發者建議把local stream調大一點防止出bug:
echo "net.local.stream.recvspace=65536" | sudo tee -a /boot/loader.conf
echo "net.local.stream.sendspace=65536" | sudo tee -a /boot/loader.conf
  1. 不要用xinitrc,我覺得用顯示管理器登入比較簡單,所以安裝SDDM
sudo pkg install plasma5-sddm-kcm sddm
  1. 將SDDM加入到開機自動啟動
sudo sysrc sddm_enable="YES"
  1. 重開機後就可以登入KDE了。剛登入如果畫面太大請在桌面按右鍵調整解析度。KDE的Discover無法用來下載FreeBSD的套件,所以就當作擺設。

6. 中文化與輸入法
#

  1. 安裝Noto字體。這會把全部語言的字體拉進來,如果只要正體中文那就noto-sans-tc
sudo pkg install noto
  1. 編輯/etc/login.conf,找到default區塊的:lang:\,改成正體中文
:lang=zh_TW.UTF-8:\
  1. 更新資料庫
sudo cap_mkdb /etc/login.conf
  1. 編輯~/.profile,設定系統語言為正體中文
export LANG=zh_TW.UTF-8
export MM_CHARSET=zh_TW.UTF-8
  1. 最後安裝Fcitx5搭配新酷音輸入法
sudo pkg install fcitx5 fcitx5-configtool \
fcitx5-gtk-common fcitx5-gtk-3 fcitx5-gtk-4 \
fcitx5-qt-common zh-fcitx5-chewing zh-fcitx5-chinese-addons
  1. 編輯~/.profile,指定輸入法模組
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
  1. 設定登入桌面自動啟動Fcitx5
cp /usr/local/share/applications/org.fcitx.Fcitx5.desktop ~/.config/autostart/

參考資料
#

相關文章

在微星筆電安裝GhostBSD (FreeBSD)教學 & 使用感想
分類   資訊科技 作業系統安裝教學
標籤   FreeBSD MSI
Linux KVM啟用巢狀虛擬化,在虛擬機裡面跑虛擬機
分類   資訊科技 虛擬機與容器技術
標籤   Libvirt QEMU Linux
樹莓派5如何安裝Windows 11 ARM系統 & 效能測試
分類   資訊科技 作業系統安裝教學
標籤   Windows on ARM Raspberry Pi

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要Github帳號才能留言。支援markdown語法,若要上傳圖片請貼Imgur或Postimages。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請貼Imgur或Postimages。