以前聽資工系教授說過,他們早期學電腦都是用終端機連線到UNIX大型機作業,眼前的電腦不過是一個輕型終端而已。
現在我開始搞這種復古運動了。
晨之雲雀#
一直想讓Linux可以隨時遠端存取,並且可以遠端工作。
一開始,我採用的是類似Qubes OS的做法,想要同時用Linux桌面與虛擬機。
因此設定了 Ubuntu + QEMU/KVM + Looking Glass的用法,將第二個GPU直通進去。讓我在處理一般事務的時候用Ubuntu KDE桌面,有需要Windows的時候開一個視窗就能把虛擬機拉到主畫面,當實體機用。此外給虛擬機開了個內網穿透的口子,使虛擬機內的遠端桌面也可從外網存取。
這可以類比為安裝Proxmox,卻安裝X11桌面環境的用法。
今天凌晨,現在卻想把這個主力Linux桌面也虛擬化了。
夜之帷幕#
今天早上,我把電腦桌機的螢幕全部拔掉,Ubuntu設定開機僅啟動純文字模式,以及啟動SSH、 Cockpit網頁界面、 Portainer服務。
sudo systemctl set-default multi-user.target
然後再額外跑一個Fedora Linux虛擬機,把那個Linux虛擬機當「桌面」用。 Sunshine裝在QEMU/KVM虛擬機裡,從Linux宿主機串流玩遊戲
此時,桌機就不會接上任何螢幕。
上面同時跑了Windows和Linux的虛擬機,啟用GPU直通。因為有Intel CPU內顯和Nvidia獨顯,所以兩個虛擬機各直通一個GPU,這樣他們就有跑Sunshine的資本。
要操作這些虛擬機,就是從另一臺平板或者筆電,以Sunshine遠端桌面存取(我很重視效能,所以不會用RDP)。如果螢幕太小,就把平板接到原本電腦螢幕放大。
總之虛擬機都是透過遠端控制的。
所以桌機就變成一臺伺服器,所有服務都得遠端控制。
夢之終結#
同時跑Linux和Windows虛擬機電腦當掉的時候我就知道這傢伙不行了呀。
4核心的Intel i5-7400根本負荷不了二個虛擬機同時運作,一啟動連SSH連線都會當掉卡死。
等我以後買更強的電腦再來搞多重虛擬化吧,屆時,我要買8核心以上的處理器,主機板還要雙GPU插槽的豪華配置!
更新:幾個月後發現,喵的我被Cockpit陰了,低估了電腦潛力。用Cockpit啟動第二個虛擬機,整個系統包含SSH在內就會當掉無回應。改用Virt Manager測試,ㄟ!我的電腦明明就可以撐住二個KVM呀!
不過Virt Manager難以從非Linux系統的電腦存取的說,這是它相對Cokckpit網頁版不便的地方。得在SSH工作階段打virsh指令啟動虛擬機。
可能是我測試當下處於Ubuntu 24.04剛出來的時候還不穩定,經過幾個月更新後Cockpit便能正常啟動多個虛擬機了。
所以,我成功了做了更完整的嘗試: KVM虛擬機當主力機使用,Linux + Windows的虛擬機多開實踐