linux 建立體積小桌面環境以執行微信和WPS
使用 linux 做主力一年多了,最近準備重灌系統。目前看來一些常用的閉源軟體裡,QQ 和搜狗輸入法已經算是可以穩定使用了,但微信和 WPS 還有一堆問題,比如:
- 微信:沒有 linux 版,使用優麒麟的版本,那個是用網頁版微信封裝的,目錄亂的很,我不希望這玩意出現在我的電腦上。微信可以說是信創路上的一大障礙了。
- WPS:有 linux 版,功能算不上全面,但提供的功能相比於體積來說也算是物超所值,這一點上和北太天元有所類似。不過 linux 版看起來也很有些問題,比如不知道會新增什麼啟動項,導致每次登入都會產生一個目錄
~/模板
而不是遵循XDG_TEMPLATES_DIR
(參見~/.config/user-dirs.dirs
),跟開發人員說了他們覺得這是 feature 而不是 bug,那我也覺得你這玩意是虛擬機器軟體而不是規範軟體。另外從終端啟動根本不列印錯誤資訊,執行錯誤都不知道怎麼錯的。
另外,這倆我從 docker 啟動都沒法正常執行。綜上我打算使用一個小的虛擬機器來執行微信和 WPS
建立小的、效率高的、具有桌面環境的虛擬機器
這裡我使用 qemu 和 debian,Debian 下載 netinstaller,下載後路徑為 ~/download/debian-12.5.0-amd64-netinst.iso
:
連結:https://mirrors.ustc.edu.cn/debian-cd
sudo apt install qemu-system-x86_64
cd /dev/shm # 實驗路徑
實驗的時候路徑在記憶體盤 /dev/shm
裡,記得實際使用中,虛擬機器配好之後把它從記憶體盤移出來。
建立虛擬磁碟:
qemu-img create -f qcow2 debian.qcow2 8G # 建立最大 8GB 的虛擬磁碟,以後可以調整
安裝系統:
qemu-system-x86_64 -m 8G -smp 2 -enable-kvm -cdrom ~/download/debian-12.5.0-amd64-netinst.iso debian.qcow2
# -m:記憶體大小
# -smp:使用的處理器數量
為了減小安裝體積,同時便於觀察系統輸出,安裝時語言請選擇英文。另外,安裝到最後這個頁面的時候,取消全部勾選(這是中文安裝介面,英文的忘了截圖了。另外這是普通 install 而不是 graphics install,graphics也有類似的頁面),因為如果在這裡安裝圖形介面,會使得安裝結果比較大:
安裝之後會自動重啟,但除此之外,以後啟動就不用帶 installer 了:
qemu-system-x86_64 -m 8G -smp 2 -enable-kvm debian-xfce3.qcow2
啟動後登入,安裝圖形介面:
sudo apt install xfce4 lightdm xorg xfce4-terminal --no-install-recommends
sudo systemctl enable lightdm.service
重啟即可獲取 xfce4 下的一個很小的圖形介面,安裝完畢之後這個系統佔有體積大約 1.6 GB;說明:
1. 想省事就:sudo apt install xfce4,不用 systemctl,這樣安裝之後大約有 2.0GB,同時帶有 Debian 的一些主題(上邊那樣沒有主題,相比來說比較簡陋)。
2. 不裝 xfce4-terminal 也可以獲得桌面環境,但是沒法使用命令列,甚至不能關機。
3. 此時 qcow2 檔案大概 2.6GB
4. 選擇 xfce4 而不是 lxde 的原因是,首先我常用 xfce4,其次 lxde 並不能小太多,第三 lxde 過於簡陋了。
啟用 lightdm 自動登入,畢竟都是自己用,不需要登入驗證:
sudoedit /etc/lightdm/lightdm.conf
操作:把 [Seat:*]的如下兩行:
#autologin-user=
#autologin-user-timeout=0
註釋去掉,第一行後面加上自己的使用者名稱。
刪除使用者密碼,畢竟都是自己人:
sudo passwd -d 使用者名稱
sudo passwd -d root
設定 sudo 免密碼:
sudo visudo
操作:在檔案最後幾行的
root ALL=(ALL:ALL) ALL
下面新增一行:
使用者名稱 ALL=(ALL) NOPASSWD:ALL
重啟之後,可以直接進入使用者頁面,sudo 也不需要密碼。
和主機通訊
參考 連結,為了傳輸方便使用共享資料夾。
啟動命令:
# 主機,掛載點為 ~/document/qemu
mkdir ~/document/qemu
qemu-system-x86_64 -m 8G -smp 2 -enable-kvm debian.qcow2 -virtfs local,path=/home/主機使用者名稱/document/qemu,mount_tag=host0,security_model=passthrough,id=host0
虛擬機器掛載命令在上文中寫過了,但那個畢竟要每次手動掛載一遍,如果改為開機自啟也不怎麼美觀,所以我嘗試寫入 /etc/fstab
裡:
# 虛擬機器,掛載點為 ~/Documents
echo "host0 /home/虛擬機器使用者名稱/Documents 9p trans=virtio,version=9p2000.L" | sudo tee /etc/fstab
# 掛載引數看不懂什麼意思,但這確實管用
重啟,如果把主機檔案放進這裡,就能在虛擬機器裡讀取:
安裝微信和 WPS
安裝中文字型
從自己的作業系統裡選一些字型安裝到新的作業系統裡,我選的是 msyh.ttc(微軟雅黑)和 consolas.ttf,放到虛擬機器的 /usr/share/fonts/myfont
裡。然後設定系統字型為 YaHei,終端字型為 consolas,重啟終端。
執行:
sudo nano /etc/locale.gen # 修改 zh_CN.UTF-8 那一行去掉註釋
sudo /sbin/locale-gen
生成中文支援。
安裝微信
下載優麒麟微信
安裝:
sudo apt install ~/Documents/weixin.deb
如果遇到報錯:
The package <package-name> needs to be reinstalled, but I can't find an archive for it.
執行(沒錯可以跳過):
sudo nano /var/lib/dpkg/status # 把 weixin 那一段都刪了
sudo apt install libasound2
sudo dpkg -i ~/Documents/weixin.deb
複製微信圖示到桌面:
cp /usr/share/applications/weixin.desktop ~/Desktop
chmod a+x ~/Desktop/weixin.desktop
雙擊圖示即可執行。
安裝 WPS
官網下載 wps
安裝依賴:
# 又一個不好好解決依賴的,害得我debug一個多小時
sudo apt install libxslt1.1 qt5-style-plugins
# 如果是 docker 還得裝 xdg-utils 和 bsdmainutils
執行
sudo dpkg -i ~/Documents/wps.deb
雙擊桌面圖示 WPS,新建一個文字文件,點選右上角第二行、從右數第四個 A 圖示,語言改為中文。
解決缺失字型:
# 主機
wget https://github.com/dv-anomaly/ttf-wps-fonts/archive/refs/heads/master.zip # 連不上 GitHub 的自己想辦法
unzip master.zip -d ~/document/qemu
# 虛擬機器
cd ~/Documents/ttf-wps-fonts-master
sudo bash ./install.sh
# 主機
rm -r ~/document/*