▍一、寫在前面
作為 MacBook 十年老用戶,讓我換 Windows 電腦是很難的。但我有時又確實需要 Windows 軟體,這種時候常常就需要用到虛擬機或模擬器。目前,虛擬 Windows 作業系統的應用程序,我用過付費的 Parallels Desktop 和免費版的 UTM;直接運行 Windows 軟體而無需安裝作業系統的,我用過付費的 CrossOver 和免費的 Whisky。有時不能用,有時不好用,費的心思很多,實際效果有限,且每年都得重新付費以獲得更新。每次運行新軟體,最難受的地方莫過於在幾個軟體中來回切換嘗試,控制變量找問題,更新也未必總是解決問題,而可能是創造新的困難。
最近買了一台迷你主機,決定徹底解決這個問題,方法也很直觀——用 MacBook 遠程訪問放在家裡的 Windows 11 作業系統主機即可。一番折騰之後,實際效果不錯。現在,我不論在家或在外,只要有網,就可以遠程打開家裡的電腦主機,用更為熟悉的 MacBook 鍵盤、觸控板和螢幕遠程使用 Windows 作業系統。
一個額外的驚喜是,在 iPad 上打開相同的遠程控制軟體時,我的 iPad 變成了 Windows 平板,可以觸屏,可以使用 Apple Pencil,利用 Mac 和 iPad 的通用控制,還可以使用 Mac 的鍵鼠和觸控板。

我的 Windows 平板(偽)
寫這篇文章,一方面是記錄實現的過程,以便於我在未來搬家 / 換路由器 / 換網時能夠回憶起這番操作;另一方面,也分享一下方法,給有興趣採用同樣方案使用 Mac 和 Windows 的讀者一點參考,了解其實現的複雜度,以及實現後仍然存在的缺憾。
本文分享的經驗對以下讀者可能有幫助:
-
在家/單位擁有 Windows 作業系統電腦,但在外常用 MacBook 筆記本或 iPad 移動辦公;
-
已經擁有以上的任意一種,猶豫是否需要補上另一種,猶豫的原因之一是,macOS 和/或 iPadOS 系統相較於 Windows 作業系統缺少某些功能或無法兼容某些軟體,在一些時候不得不使用 Windows 系統;
-
理論上,被訪問的主機為 Linux 或者其他版本的 Windows 作業系統,訪問的客戶端是 Windows 系統或 Android 系統等情況,也可以通過類似的方式實現;
-
我理解,其中的一部分操作,比如遠程連接和遠程喚醒,對於搭建家庭 NAS 也是適用的。如果未來要搭建 NAS,或許可以考慮先嘗試一下實現 Windows 遠程桌面。
需要說明的是,我並非專業人士,以下過程純粹是摸索而來。同時,這篇文章不會特別詳細地介紹每一步的實現,而是更像一個步驟清單。對於類似我這樣純粹的外行來說,可能會一次性看到不少陌生名詞。這麼做的原因在於,一方面,本文所寫的內容,基本上都可以在網際網路上找到大量教學,只是未必有這麼集中,沒有必要在這篇文章中再複述一遍,對於不理解的名詞或不了解具體操作,可以通過文章里的關鍵詞來檢索;另一方面,實現的路徑上可選的方案眾多,每個人所處的網路環境和路由器也有所不同,具體的操作步驟可能因實際環境而異,也就沒有必要在一篇文章里寫盡。
不過,我會儘量列出我在摸索過程中看到的各種方法,哪怕是我沒有實際嘗試採用的那些。
▍二、整體清單
綜合來看,實現遠程桌面需要完成以下四步:
-
第一步,在局域網內實現 Windows 遠程桌面,這個過程需要 Windows 10 / 11 專業版或其他支持遠程桌面的版本,以及訪問遠程桌面的軟體;
-
第二步,在外網訪問 Windows 遠程桌面,這個過程需要公網 IP,橋接(可選),可能需要使用 DDNS,並開啟 DMZ,或埠轉發,或 upnp;或乾脆用其他方式實現內網穿透;
-
第三步,在外網遠程開機 / 喚醒 Windows 主機,這個過程可能需要支持 WoL 的路由器,或手寫腳本,或其他 app,或開機棒、智能插座等其他替代方案;
-
第四步,進一步優化體驗,比如圖形性能,比如統一遠程桌面與 macOS 作業系統的快捷鍵。
而為了實現以上全部目標,可能至少需要以下硬體設施:
-
MacBook 或 iPad 或 iPhone;
-
安裝 Windows 作業系統的主機;
-
路由器,網線;
-
顯示器,鼠標。
此外,可能會額外需要:
-
顯卡欺騙器 / 壞掉的顯示器;
-
帶 WoL 功能的路由器 / 開機棒 / 智能電源插座。
在實現目標的過程中,可能會用到以下軟體 / 應用:
-
Microsoft Remote Desktop,或其他遠程桌面軟體;
-
路由器 app,或其他支持遠程喚醒的 app;
-
路由器固件;
-
優化效果、提升性能的工具,比如英偉達為遠程桌面提供的優化工具;
-
AutoHotkey,或其他快捷操作工具;
-
網盤工具;
-
自動操作(Automator)。
▍三、具體步驟
(一)在局域網內訪問遠程桌面
為什麼要在局域網內訪問遠程桌面?
除了這是進行下面的步驟的前置和測試以外,在局域網內訪問遠程桌面或許也是不少人的需求——比如,像我這樣桌面空間不大,不願意再展開一組螢幕鍵盤鼠標的人,可以用一台電腦使用兩種作業系統,加上 iPad,選擇就豐富至 3 個作業系統共享一套操控和 2 塊螢幕(筆記本 平板);比如,在家或單位想要將 Mac 或 iPad 作為 Windows 的擴展屏;再比如,想要躺在床上拿著 iPad 假裝是 Windows 平板,偶爾運行一些負擔較小的獨立遊戲或老遊戲……
不過,以防你在沒有看到最後一節就抱有過高期待地上手,需要提前說明的是,這種做法有性能損耗,特別是對顯示要求較高的應用程序,效果上可能比主機差很多,因此遠程桌面的效果,可能不如無線投屏。
以下正式開始:
一、首先需要在主機端打開遠程桌面服務。對於 Windows 10 / 11 專業版 / 企業版的主機,打開設置-系統-遠程桌面即可。對於家庭版用戶以及其他的一些本身無法打開「遠程桌面」的系統版本,有一些方法可以讓你「解鎖」這個功能,這種做法是否違反用戶協議可見此討論。
當然,一些其他的遠程桌面軟體並不依賴微軟的遠程桌面協議(RDP),那麼也就不需要開啟遠程桌面的服務。
二、在 macOS 上下載 Microsoft Remote Desktop(MRD)客戶端,在 App Store 下載,iOS 上同樣可以下載到 Microsoft Remote Desktop 客戶端(RD Client)。
三、令 Windows 主機和安裝有 MRD 客戶端的 Mac / iOS 設備處於同一局域網內,在 Windows 系統中找到「網路與 Internet 設置」,或打開路由器設置頁面,或其他網路工具,查看該 Windows 主機的 IP 地址(大概率是形如 192.168.x.x 的內網地址)。
四、打開 MRD 客戶端,添加桌面,在 PC name 位置填入上面的 IP 地址,在 User account 填寫 Windows 用戶的賬戶密碼。如果主機沒有設置用戶登錄密碼(空白密碼),那麼可能需要在設置-賬戶-登錄選項-密碼的位置設置一個密碼。或者在本地安全策略(secpol.msc)-本地策略-安全選項中禁用「使用空密碼的本地賬戶只允許進行控制台登錄」。考慮到將來的外網登錄,我理解還是設置一個密碼為好。
五、雙擊點開添加的桌面,可能會彈出證書驗證,選擇 Show Certificate,勾選 Always trust… 那一行字,之後點擊 Continue 即可。
六、如果順利進入 Windows 系統,那麼這一步就完成了。可以右鍵點擊該桌面選擇編輯,進一步設置顯示方案、共享文件夾等。其中,勾選 Optimize for Retina displays 可以在很大程度上提升在 Mac 上的顯示效果,值得一試,但有可能會影響性能。
七、利用其他軟體也可以實現遠程桌面,這可能需要在主機端和客戶端同時打開軟體,登錄同一個賬號,或使用「投屏碼」等。有些軟體可能需要收費,就目前我體驗的其他免費軟體來看,使用效果均不如 MRD。
此外,部分實現遠程桌面的軟體,強制要求主機連接有顯示器,如果沒有顯示器或不想在使用遠程桌面時打開 Windows 的顯示器,可以用一個便宜的顯卡欺騙器或者壞掉的顯示器來替代,筆記本則可以打開蓋上不熄屏的模式。
(二)在外網訪問遠程桌面
僅在局域網內使用畢竟不夠「遠程」,因此,接下來的目標是在外網訪問 Windows 遠程桌面。從這一節開始,路由器將成為折騰的重心,雖然最終實際的操作步驟不多,但要找到一條最適合自己的路徑仍然需要一定的嘗試。此外,本節開始涉及的公網訪問等事項,是否存在以及存在多大風險,請自行判斷。
從剛才的步驟可以看出,用 MRD 訪問遠程桌面使用的是 Windows 主機的 IP 地址,這個邏輯也適用於在外網遠程訪問桌面。不過,剛才我們查看到的地址,是一個形如「192.168.x.x」的內網 IP 地址,離開了局域網,就不可能根據這個地址定位到這台主機。因此,接下來一系列操作的最終目標,其實就是獲得一個能夠在外網定位到這台主機的地址。以下具體說明:
首先,最好的情況是有一個公網 IP。有公網 IP,才能夠在外網與家裡的主機通信。並不是所有的家庭都有公網 IP,網上可以找到很多判斷家裡是否公網 IP 的方法。其中最簡單的是在瀏覽器搜索本機 IP(注意搜索時不要使用代理),將看到的結果與登錄路由器設置頁面查看到的 WAN IP 對比,二者一致意味著有公網 IP。需要注意的是,如果你家裡同時有光貓和路由器,需要分別登錄二者的路由器設置界面看。進入路由器設置頁面的地址、賬號和密碼一般就貼在路由器上。
如果你沒有公網 IP,那麼就需要向運營商申請,具體方式可以上網搜索。如果你無法申請到公網 IP,那麼可能就只能搜索「內網穿透」,通過其他方式來實現在沒有公網 IP 的情況下,從外網訪問家裡的一個主機。但這有可能需要額外租用伺服器,產生費用。
在有公網 IP 的前提下,下面我先介紹我自己的具體方案,後面再列舉我了解到的其他方案:
-
分別查看光貓和路由器的 WAN IP,發現光貓的 WAN IP 為我的公網 IP。這也說明我家裡的光貓採用的是「路由模式」,也就是光貓同時起到了路由器的功能。因此,連接光貓的路由器只分配到了內網 IP,其 WAN IP 地址同樣為形如「192.168.x.x」的內網 IP。
-
聯繫運營商工作人員,要到了光貓的超級管理員賬號密碼,以及上網的賬號密碼。在光貓的路由器設置界面修改狀態為「橋接模式」。然後在路由器設置頁面,修改 WAN 聯機類型為 PPPOE,輸入賬號和密碼,撥號上網。重啟路由器後,可以看到路由器的 WAN IP 已經變化為公網 IP。
-
但是,重啟路由器後看到的公網 IP,與之前在光貓看到的 WAN IP 不同,意味著這是一個動態 IP,每次重啟都可能帶來新的 IP 地址,這顯然不利於外網訪問。因此,在路由器設置頁面,啟動 DDNS(動態 DNS)並註冊一個網址,這個固定的地址將被解析為我當下的公網 IP 地址。
-
接下來,設置埠轉發 / 埠映射。目的是將主機的某個埠映射到路由器的一個埠上,這樣,通過公網 IP 這個埠的通信,就能夠被自動轉發到被指定的這台主機的埠上。具體操作上,在路由器設置頁面,啟用埠轉發,通信協議選擇 BOTH(TCP 和 UDP),外部埠隨便填寫一個數字,內部埠填寫 3389,這是 Windows 遠程桌面的默認埠,可以在系統內需改,本地 IP 地址填寫 Windows 主機 IP。
-
接下來,在任意一個 MRD 客戶端上,添加一個新的遠程桌面,地址不再是之前的內網 IP,而是「註冊的 DDNS 服務域名 : 外部埠號」。使用流量或在外網雙擊該遠程桌面,發現同樣能夠正常進入 Windows 主機。至此,這一步就完成了。
在有公網 IP 的前提下,實現「獲得一個能夠在外網定位到 Windows 主機的地址」這一目的,顯然不只有我上面的操作方法,同樣是光貓(路由模式)-路由器的情況下,至少還有如下路徑:
-
兩次埠轉發。在光貓上,將外網 IP 的某個埠(比如3000),與路由器的一個埠(比如3500)建立埠轉發,再將路由器的這個埠(3500),與 Windows 主機的遠程桌面埠(3389)建立埠轉發。那麼,理論上也就可以通過「公網 IP 地址:3000」的形式訪問該 Windows 主機。但這麼做讓我不能夠正常開啟路由器的 DDNS 功能,不確定是否有解決辦法。
-
設置 DMZ 主機。DMZ 相當於映射所有埠,將主機暴露在公網上,因此,在光貓和路由器上分別設置 DMZ 主機,也當然可以實現從外網訪問 Windows 主機的埠。
-
設置 UPnP。看定義為「通用即插即用」,我對此沒有仔細研究,大意應該也是暴露所有埠。
-
以上埠轉發、DMZ 和 UPnP,以及前面提到的橋接模式,理論上可以在光貓和路由器上有不同的組合,比如在光貓上設置路由器為 DMZ 主機,再在路由器上做埠轉發。相關風險大小,請自行判斷。
-
為了避免動態 IP 帶來的問題,一般都需要設置 DDNS,讓原來的會變化的公網 IP 地址變成一個固定的網址。
(三)在外網遠程開機
如果你嘗試了上面的局域網訪問和遠程訪問 Windows 主機,你應該已經發現了一個問題,那就是當主機處於關機或睡眠狀態時,遠程桌面是無法正常打開的。對此,有兩個選擇,第一,讓主機 24*7 開機,但這不苹(huan)果(bao),可能對於一些其他的需求,比如搭建伺服器是適用的;第二,想辦法遠程打開電腦,也就是實現遠程喚醒 Wake-on-LAN(WoL)。
在這一節中,有一些需要被訪問主機的 BIOS 和路由器支持才能夠實現的功能,也因為各家主板和路由器不同,這部分無法特別細緻地說明。
首先先列出我完全未嘗試的方案,倒不是因為不好用,只是因為需要額外付費,目前我已經通過其他方式基本解決,就沒有進一步探索:
-
購買「開機棒」類產品,連接路由器,遠程通過這個設備喚醒家裡的主機。
-
購買「智能插座」類產品,就是可以遠程控制是否通電的插座,將主機設置為來電開機(應當需要 BIOS 支持),實現遠程開機。
-
理論上,如果你能遠程控制局域網內的一台常備的智能設備,那麼有可能可以通過這台設備打開主機,比如說安卓手機。
下面是我自己的實現方法,其中的一些準備工作可能與上面的其他方式有重合,這些準備工作包括:
-
進入主機的 BIOS,打開有關網路喚醒(Wake on Lan)的選項,不同主板描述可能不同。這裡提一嘴,我是沒有鍵盤的,進入 BIOS 的方式是進入設置-Windows更新-高級選項-恢復-高級啟動,而這個選項在使用 MRD 時是被隱藏掉的。
-
運行(Win R)「ncpa.cpl」打開「網路鏈接」,當然還有很多方式進入這個位置,包括控制面板和網路設置。右鍵其中的有線網卡,依次點擊屬性-配置-電源管理,打開「允許此設備喚醒電腦」和「只允許幻數據包喚醒電腦」,切換至「高級」標籤,確定「關機 網路喚醒」、「魔術封包喚醒」等選項處於打開狀態。這裡不勾選「只允許幻數據包喚醒電腦」似乎也是可以的,但如此一來所有數據都可以喚醒 Windows 電腦,意味著其在連接網線時可能會永遠保持喚醒狀態,因此還是勾選比較好。

-
完成以上步驟,確定 Windows 主機以有線的方式連接路由器以後,理論上就可以通過各種方式遠程喚醒電腦了。這些方法可能包括:路由器網路設置頁面,路由器 app,其他第三方 app(比如 Fing)。通常來說,可以在設置頁面和 app 中類似「網路工具」的選項里找到喚醒網路的選項,此時需要輸入有線網卡的 MAC 地址。這個地址可以在很多地方找到,包括但不限於路由器設置頁面和 app 的連接詳情,或運行(Win R)「cmd」打開「命令提示符」,輸入「ipconfig -all」查看。需要特別注意的是有線網卡與無線網卡的 MAC 地址是不同的,需要的是有線網卡的 MAC 地址,以下提到 MAC 地址時也都默認如此。
-
在局域網內成功喚醒 Windows 主機後,下一步的問題是如何遠程操作,在前面已經設置 DDNS 域名的情況下,路由器設置界面和路由器 app,一般都存在遠程連接或允許遠程訪問路由器的設置,開啟即可。第三方 app 或許也有類似的遠程功能。這樣一來,就可以在外網遠程訪問路由器選擇網路喚醒 Windows 主機了。
雖然說是準備工作,但到上面位置已經能夠實現遠程喚醒了,只是我還不滿意。原因是不管是 app 還是路由器設置頁面的連接速度都很慢,需要等待路由器資訊全部加載,並且喚醒功能藏得比較深,需要好幾步操作,增加了喚醒的複雜度。因此,我想要用別的方式來喚醒。經歷了前面這麼多步驟,不難將兩個事情聯繫到一起:其一,我可以從外網通過註冊的 DDNS 服務域名 埠的方式與家裡的主機通信;其二,要網路喚醒只需要向目標主機發送名為「幻數據包」的東西。從而,進一步地:
-
經過檢索得知,幻數據包最簡單的構成是 6 字節的 255(FF),連接上重複 16 次的目標電腦 MAC 地址,通常使用 UDP 協議發送,發送數據的埠一般是9。此外,python 的 scocket 庫,終端 / 命令行里的 netcat 命令可以用來發送和讀取 UDP 數據。實際操作的時候,我在主機端用 netcat 監聽(Windows 11 需要另外下載,還會被報有威脅),在客戶端 macOS 上寫 python 的快捷操作。
-
在已經設置好 DDNS 的情況下,增加一個埠轉發,外部埠隨意,內部埠為 9,本地 IP 地址填寫 Windows 主機 IP。在此基礎上,還需要設置 ARP,綁定被遠程訪問主機的內網 IP 地址和其 MAC 地址,雖然靜態 DHCP 也有這個作用,但對於遠程喚醒主機是無效的。如果路由器沒有提供 ARP 設置的功能,可能需要通過 ssh 命令登錄路由器,輸入 arp -s IP MAC地址 來綁定,但這個綁定會在路由器重啟後失效,要麼每次重新輸入,要麼想辦法設置路由器開機啟動這個腳本。這部分內容因路由器而異,可能需要刷固件等,請自行檢索。
-
接下來是客戶端的操作,在 macOS 上打開自動操作(Automator),新建一個快捷操作(Quick Action),添加一個運行 Shell 腳本(Run Shell Script)。Shell 選擇 python,最上方我選擇收到 no input,位於訪達(Finder.app)和 MRD,這樣就可以在這兩個應用的服務(Services)位置中找到這個保存的快捷操作。我的代碼如下:
import socket
IP = 't.a.com' #此處填寫公網 IP 或註冊的 DDNS 服務域名
MAC = 'AA-AA-AA-AA-AA-AA' #此處填寫 MAC 主機地址
PORT = 3999 #此處填寫前面設置的埠轉發外部埠
packet = bytes.fromhex("F" * 12 MAC.replace(MAC[2], "") * 16)
with socket.socket(socket.AF_INET, socket.SOCK_DGRAM) as s:
s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
s.sendto(packet, (IP, PORT))
-
運行上面的快捷操作,可以實現遠程喚醒的功能。但實際使用的時候,我發現用 socket 解析 DDNS 服務域名得到的 IP 有時會延遲,得到的是上一個動態 IP 地址,特別是在路由器重啟以後,有時更新比較慢。為此,我又寫了一個可以手動輸入 IP 的快捷操作,這個僅放在 MDR 軟體上,偶爾使用,中間用到一個 Ask for Text 接收 IP 地址,這裡也放出代碼供參考:
Run Shell Script:
# 這裡將 socket 解析得到的 IP 地址傳入到下一步去作為默認答案,以便於對比發現無法喚醒是否是地址解析問題。
import socket
de_ip = socket.gethostbyname('t.a.com') #此處填寫公網 IP 或註冊的 DDNS 服務域名
print(de_ip)
Ask for Text:
輸入實際 IP 地址:
$1
Run Shell Script:
import sys
import socket
IP = sys.argv[ 1]
MAC = 'AA-AA-AA-AA-AA-AA' #此處填寫 MAC 主機地址
PORT = 3999 #此處填寫前面設置的埠轉發外部埠
packet = bytes.fromhex( "F" * 12 MAC.replace(MAC[ 2], "") * 16)
with socket.socket(socket.AF_INET, socket.SOCK_DGRAM) as s:
s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
s.sendto(packet, (IP, PORT))
(四)進一步優化
到這一步為止,遠程喚醒和遠程訪問均已實現,並且基本可以通過少量點擊打開,速度上部分取決於 Windows 主機開機 / 喚醒速度和網速,已經相當可用。不過,實際使用中還是會遇到一些問題,優化永遠在路上,這裡簡單寫兩點,一是顯示方面的性能優化,二是快捷鍵。
MRD 使用 RDP 協議,運行時會虛擬一張名為 Microsoft Remote Display Adapter 的顯卡,影響圖形性能。網上很容易找到有關 RDP 優化的文章,具體效果請自行判斷,我測試起來是有一些作用的:
-
打開組策略(gpedit.msc),依次選擇電腦配置-管理模板-Windows 組件-遠程桌面服務-遠程桌面會話主機-遠程會話環境,打開「將硬體圖形適配器應用於所有遠程桌面服務會話」,「配置遠程桌面連接的 H.264 / AVC 硬體編碼」等選項。
-
啟動註冊表編輯器(regedit),找到HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminalServerWinStations,修改或新建名為 DWMFRAMEINTERVAL 的 DWORD 值,修改數據為 15(10 進制下)。
-
N 卡用戶可以去找英偉達官方提供的 nvidia-opengl-rdp 工具,以實現在 RDP 下使用 OpenGL 加速。
其次是快捷鍵,作為十年 MacBook 老用戶,我早已習慣使用 macOS 系統快捷鍵,特別是大拇指位置的 Command 鍵的組合按鍵。在 MRD 下,微軟還是比較貼心地提供了一些快捷鍵的,包括複製、剪切、粘貼、全選、撤銷和搜索,但仍不夠全。比如,我習慣於使用 Command W 這個組合來關閉窗口 / 標籤頁,這在 MRD 下會直接關閉當前的遠程桌面窗口,非常煩人,急需解決。總體來說,解決快捷鍵問題分為兩步:

一方面,是修改 macOS 系統的快捷鍵,以上面提到的 Command W 組合鍵為例,在設置中找到 Keyboard 選項卡內的 Keyboard Shortcuts…,選擇 app Shortcuts,點加號,在 application 處選擇 MRD,Menu title 手動填寫 close,也就是原來 Command W 的關閉功能,下面的 Keyboard shortcut 修改為其他組合鍵,我這裡是修改為 Command Q,也就是原來「退出」(quit)功能的案件。因為在我看來,使用 MRD 時,用 Command Q 關閉當前遠程桌面是比較符合我使用習慣的操作。

另一方面,是增加 Windows 的快捷鍵,除了解決與 macOS 系統衝突的部分,也要修改部分習慣的內容。這裡我比較驚訝的是,Windows 系統居然不自帶修改快捷鍵的功能,因此需要第三方軟體,比如 autohotkey。這個工具看起來相當好用而小巧,卻能夠做除修改快捷鍵以外很多事情。這裡我先學著修改快捷鍵。我創建了如下 ahk 腳本,修改了 command 和 W、S 以及上下箭頭的組合功能,其中與上下箭頭的組合功能僅在資源管理器中使用,然後將其快捷方式放入啟動文件夾(Win R 運行 shell:startup 即可打開)以開機自行啟動。
; Commad w -> Ctrl w
#w::
Send, ^w
return
; Commad s -> Ctrl s
#s::
Send, ^s
return
; 僅在使用資源管理器時
; Commad ↑ -> Alt ↑
#IfWinActive ahk_class ExploreWClass
#Up::
#IfWinActive ahk_class CabinetWClass
#Up::
Send, !{Up}
return
; 僅在使用資源管理器時
; Commad ↓ -> Enter
#IfWinActive ahk_class ExploreWClass
#Down::
#IfWinActive ahk_class CabinetWClass
#Down::
Send, {Enter}
return
▍四、仍有缺憾
通過遠程桌面運行的,是完整的 Windows 系統,這是任何虛擬機和模擬器不能比擬的,但也說不上完美,至少在以下幾個方面仍有缺憾:
-
第一,性能比不上本地運行,但這是廢話。
-
第二,受網路影響,雖然現在有 5G 信號,但相比於虛擬機,總體還是受限於運行遠程桌面的客戶端所處的環境。
-
第三,主機和路由器位於家裡 / 單位,一旦出了什麼情況,有可能是無法遠程修復的——按不了電源鍵,虛擬機也沒有這個方面的問題。
-
第四,哪怕經過上面的各種處理,我已經儘量縮短了從遠程啟動到遠程桌面的時間,但到運行具體的軟體層面,比起虛擬機的融合模式,以及直接模擬運行 Windows 系統下的軟體,體驗上還是有差異。
-
第五,在使用 MDR 時,哪怕是在局域網,傳輸文件的速度都非常慢,對於大文件,最好還是需要一個不限速網盤。
儘管如此,我至少找到了一個在不用放棄 MacBook 的基礎上,能夠正常運行、調試各種 Windows 應用程序的方案,給我在家和在外的系統多了一個選擇。折騰還是有收穫的。