本篇文章將驗證「最小」的Linux發行版之一是否能作為日常桌面系統使用,包括使用非傳統的Flatpak方式來設定中文注音輸入法。
Alpine Linux是一個體積很小的Linux發行版,主打給嵌入式設備使用,docker鏡像更是只有3MB,甚至可以在RAM執行。目前支援x86和ARM架構。
Alpine Linux預設的shell是ASH,init是OpenRC,套件管理員為APK。
因為小容量、啟動快速的特性,被應用在iOS的 iSH Shell裡面當作基本系統,甚至還有讓舊款手機變身成Linux手機的衍生發行版: postmarketOS。
不過Alpine使用比較少見的musl作為C函式庫以增進效能,使得無法執行AppImage,頂多只有 glibc相容層。且套件之間為保持簡潔依賴性比較低,所以安裝某些東西會分成很多個指令,甚至預設不支援多語種顯示。
儘管如此,Alpine Linux同樣可以安裝成一個含有圖形環境的桌面作業系統。
1. 安裝Alpine Linux基本系統#
到 官網下載ISO,選擇Extended版本
開機後輸入
root
登入系統。輸入
setup-alpine
執行安裝系統腳本,此安裝腳本不會安裝任何圖形界面。接著會問一系列問題:
#鍵盤配置
Select keyboard layout: [us]
Select variant: [us-alt-int]
#主機名稱
Enter system hostname: [alpine]
#啟用網路界面
Which one do you want to initialize? [eth0]
#使用DHCP
Ip address for eth0? [dhcp]
Do you want to do any manual netowrk configuration? [n]
#設定Root密碼
New password:
#設定時區
Which timezone are you in? [Asia/Taipei]
#是否設定代理伺服器
HTTP/FTP proxy URL? [none]
#讓Alpine自動抓取速度最快的軟體庫站點
Enter mirror number: [f]
#建立普通使用者和密碼
Setup a user? [ivon]
New password for ivon:
Enter ssh key or URL for ivon: [none]
#安裝OpenSSH
Which ssh server? [openssh]
#將系統安裝至硬碟,Alpine會自動安裝GRUB
Which disk would you like to use? [sda]
How would you like to use it? [sys]
WARNING: Erase the above disk(s) and continue? [y]
#安裝完成
- 安裝完成之後輸入
poweroff
關機,退出ISO。
2. Alpine安裝圖形界面#
安裝後開機進入系統,登入
root
帳號。用vi編輯
/etc/apk/repositories
這個檔案,將所有軟體庫來源都取消#
註解。然後執行
apk update
更新軟體庫。安裝XFCE4桌面環境、中文字體、musl locales、Flatpak
setup-xorg-base
apk add vim sudo xfce4 xfce4-terminal xfce4-screensaver lightdm-gtk-greeter gvfs udisks2 elogind polkit-elogind dbus gnupg font-noto-cjk musl-locales flatpak firefox
- 加入開機服務
rc-service dbus start
rc-update add dbus
rc-update add udev
rc-update add lightdm
- 編輯
/etc/environment
,設定系統語言為中文
LANG=zh_TW.UTF-8
LC_CTYPE="zh_TW.UTF-8"
LC_NUMERIC="zh_TW.UTF-8"
LC_TIME="zh_TW.UTF-8"
LC_COLLATE="zh_TW.UTF-8"
LC_MONETARY="zh_TW.UTF-8"
LC_MESSAGES="zh_TW.UTF-8"
LC_PAPER="zh_TW.UTF-8"
LC_NAME="zh_TW.UTF-8"
LC_ADDRESS="zh_TW.UTF-8"
LC_TELEPHONE="zh_TW.UTF-8"
LC_MEASUREMENT="zh_TW.UTF-8"
LC_IDENTIFICATION="zh_TW.UTF-8"
LC_ALL=
- 將一般使用者加入wheel群組以使用sudo
addgroup ivon wheel
- 執行
visudo
,在root下面加入一樣的字串
ivon ALL=(ALL:ALL) ALL
- 輸入
reboot
重開機,用一般使用者登入XFCE桌面,用Flatpak安裝Fcitx5
flatpak remote-add --user flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install org.fcitx.Fcitx5 org.fcitx.Fcitx5.Addon.ChineseAddons org.fcitx.Fcitx5.Addon.Chewing
- 編輯
/etc/environment
,設定Fcitx5環境變數
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
SDL_IM_MODULE=fcitx
GLFW_IM_MODULE=ibus
- 編輯
~./profile
,加入以下參數,並設定Fcitx5登入桌面自動啟動:
flatpak run org.fcitx.Fcitx5 &
- 重開機,之後系統匣就會出現新酷音輸入法圖示,按CTRL+空白鍵切換,按CTRL+SHIFT+F啟用繁簡轉換。至此,裝完系統約只佔用3GB。然而很多程式因為musl預設只會認到英文版語言, glibc相容層似乎也沒什麼幫助。