快轉到主要內容

用RDP+ZeroTier存取遠端Linux的Windows虛擬機的桌面

分類   Linux系統 虛擬機與容器技術
標籤   Remote Desktop Windows Linux ZeroTier QEMU
🗓️ 民國112年 癸卯年
✍ 切換正體/簡體字
目錄

雖說現在用Linux,可以開虛擬機解決需要跑Windows軟體的情況,但一旦外出就會遇到問題。在只有帶Linux筆電的情況下,為解決臨時需要用到Windows系統的問題,我選擇:從Linux筆電存取另一台Linux電腦上的Windows虛擬機的遠端桌面。

過程:

  1. 將Linux電腦加入ZertoTier網路,啟用SSH
  2. 在Windows設定啟用RDP,加入ZeroTier
  3. 將Linux筆電加入ZeroTier,SSH到Linux電腦
  4. 用virsh指令啟動虛擬機
  5. Linux筆電開啟Remmina,輸入Windows虛擬機的ZeroTier的IP連線。
  6. ????
  7. Profit

還可以給QEMU啟用Hyper-V,存取Windows虛擬機中的WSL哩!如果KVM直通GPU,再裝 Moonlight,就能Linux遠端遊玩Windows虛擬機裡的遊戲了!

RDP是Windows內建的遠端桌面協定,效率比VNC好,即使在低網速下仍表現優異。

我知道有個更複雜的方案,就是我將Linux遠端做通訊埠轉發,然後連線到虛擬機的區域網路的Windows虛擬機,但是我覺得好麻煩:P

考慮到Windows常有各種奇怪病毒等著入侵,把Windows放在虛擬機跑,防火牆全擋掉僅用ZeroTier存取是個不錯的方案。

1. 設定ZeroTier
#

三個系統都要安裝ZeroTier,並設定開機自動啟動。

參見 ZeroTier安裝

這樣會有三組Zerotier的IP。

Linux電腦必須啟用SSH服務,並開放防火牆允許連線。

2. 啟用Windows RDP遠端桌面
#

此節步驟建議坐在電腦前面設定。

  1. 用Virt Manager 安裝Windows 11虛擬機

  2. 參照 Microsoft說明,點選系統設定 → 系統,啟用遠端桌面。

RDP預設通訊埠為3389/TCP,預設帳號密碼則是登入Windows 11系統的Microsoft帳號。

3. 連線至Windows
#

  1. SSH到遠端Linux電腦
ssh <使用者名稱>:<ZeroTier虛擬IP>
  1. 用virsh指令啟動虛擬機
sudo virsh list --all
sudo virsh start Windows11
  1. 於Linux筆電安裝 Remmina,協定選RDP,IP輸入<Windows的Zerotier虛擬IP>:3389

  2. 接受憑證,輸入帳號密碼連線。

  3. 連線後記得按左邊的按鈕,啟用"Dynamic Resolution Update",這樣Windows解析度就會自動跟著Remmina視窗變化。

  4. 如果要顯示桌布,點選Remmina右上角的Preferences → RDP → Quality settings,將每個畫質的wallpaper都打勾,再重新連線。不過虛擬機若沒直通顯示卡,好像就解決不了黑桌布的樣子。

相關文章

在Linux安装Windows 11 QEMU虛擬機時啟用Secure Boot和TPM 2.0
分類   Linux系統 虛擬機與容器技術
標籤   Windows QEMU Libvirt
Android-x86 QEMU虛擬機安裝教學,在Linux上執行手機APP,支援GPU加速的VM
分類   Linux系統 虛擬機與容器技術
標籤   Android-X86 Linux QEMU VirGL Scrcpy
Ubuntu Linux如何安裝Windows 10虛擬機 (QEMU/KVM)
分類   Linux系統 虛擬機與容器技術
標籤   Ubuntu QEMU Windows

留言板

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

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

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