RustDesk 遠端連 Mac 時,注音輸入法偶發失靈的排查筆記
RustDesk 遠端連 Mac 時,注音輸入法偶發失靈的排查筆記
問題背景
最近我很常使用 RustDesk,從遠端電腦連回目前這台 Mac。整體連線其實很順,延遲也不錯,平常操作沒有太大問題。
真正困擾的是輸入法。
我常常需要在繁體中文與英文之間切換,尤其是使用注音輸入繁體中文。但在 RustDesk 遠端連線中,偶爾會遇到一種很詭異的狀況:
- 右上角選單明明顯示目前是「注音」
- 實際打字卻只會輸入英文
- 有時候會輸出注音符號,例如 ㄅㄆㄇ,但就是不會合成中文字
- 有時候會變成全形英文,例如
now、can’t這種樣子
最一開始的臨時解法是:斷開 RustDesk 連線,再重新連一次。這通常可以暫時恢復,但過一陣子問題又可能再次發生。
所以這次的目標不是馬上改設定,而是先釐清:這到底是 macOS 注音輸入法的問題,還是 RustDesk 遠端輸入造成的問題。
初步懷疑方向
一開始可能的原因有幾個:
- macOS 注音輸入法本身卡住。
- RustDesk 遠端鍵盤事件傳送有問題。
- 遠端控制端的系統不同,造成鍵盤 layout 或快捷鍵行為不同。
- macOS 的 Secure Input 或權限問題影響遠端輸入。
- RustDesk 某個版本對 IME 組字支援不穩。
後來確認過,無論是 Windows 連到 Mac,還是 Mac 連到 Mac,都會遇到同樣問題。
這個資訊很關鍵,因為它讓問題焦點從「控制端的鍵盤或作業系統」轉移到「被控端 Mac + RustDesk for macOS 的輸入處理」。
換句話說,這比較不像 Windows 鍵盤配置造成,也不像單一遠端電腦造成,而是目前這台被控 Mac 上的 RustDesk session 與 macOS TextInput/IME 狀態不同步。
現場狀態檢查
在問題發生當下,做了幾個只讀檢查。
macOS 系統選中的輸入法是注音:
Bundle ID = com.apple.inputmethod.TCIM
Input Mode = com.apple.inputmethod.TCIM.Zhuyin
InputSourceKind = Input Mode
RustDesk 正在執行,版本是:
RustDesk 1.4.6
同時也檢查過,沒有看到明顯的 macOS Secure Input 卡住訊號。
這個結果很有意思:macOS 系統層面確實認為目前選的是注音,但 RustDesk 遠端輸入進來的字卻沒有正常進入注音組字狀態。
也就是說,問題不是「使用者切錯輸入法」。
踩坑與試錯
嘗試 RustDesk 的 Input source 1 / 2
RustDesk 在遠端連線工具列中有 keyboard/input source 相關選項。當時嘗試切換:
- 選
Input source 2:無法正常輸入。 - 切回
Input source 1:可以輸入,但仍然只輸出英文或全形英文,沒有恢復注音組字。
這表示問題不是單純選錯 RustDesk input source。Input source 1 / 2 可以影響鍵盤事件路徑,但當 macOS 的注音 IME 狀態已經卡住時,單靠切這個不一定能修復。
嘗試 Shift + Space
因為問題發生時會出現全形英文,例如:
now
can’t
work
所以一開始懷疑會不會只是全形/半形狀態卡住。
於是測試 Shift + Space。
結果:無效。
這也排除了「只是全形/半形切換錯誤」這個單純原因。
觀察全形英文這個症狀
全形英文其實是一個重要線索。
如果 RustDesk 完全沒有把輸入送進中文輸入法,理論上比較可能得到一般半形英文,例如 now。
但實際看到的是 now 這類全形英文字,代表 macOS 中文輸入法的某一層狀態其實有被觸發,只是沒有進入正常的注音組字流程。
這讓問題更像是:
- 右上角選單顯示「注音」
- 中文輸入法層有部分啟動
- 但 TextInput/IME 組字狀態與 RustDesk 傳進來的鍵盤事件不同步
最後確認有效的解法
後續反覆使用後,確認以下方法可以穩定解決問題,而且不需要斷線:
- 失靈時不要斷線。
- 用滑鼠點右上角輸入法選單。
- 選
ABC。 - 再選回
注音。
做完之後,注音輸入就會恢復正常。
這個結果非常關鍵,因為它證明:
- macOS 注音輸入法本身沒有壞。
- RustDesk 連線也不需要整個重建。
- 問題主要是 macOS 顯示的輸入法狀態與實際 IME 組字狀態不同步。
- 用滑鼠強制選
ABC -> 注音,可以讓 macOS 重新建立注音 IME 狀態。
目前結論
這次排查後,我會把問題定性為:
RustDesk 1.4.6 在遠端控制 Mac 時,偶發讓 macOS 注音輸入法進入「顯示是注音,但實際組字狀態沒有正常啟動」的不同步狀態。
症狀可能包含:
- 右上角顯示注音,但實際輸入英文。
- 輸出注音符號,但不合成中文字。
- 輸出全形英文。
- 斷線重連可以恢復。
- 不斷線時,用滑鼠切
ABC -> 注音也可以恢復。
實用 workaround
目前最實用的處理方式:
失靈時不要斷線
用滑鼠點右上角輸入法
選 ABC
再選 注音
可以把這個動作理解成:不用重連 RustDesk,而是直接讓 macOS TextInput 重新同步輸入法狀態。
後續可能的根治方向
如果要繼續追根治本,可以往幾個方向測試:
- 測試 RustDesk 新版是否修復 IME 行為。
- 測試降回 RustDesk 1.4.5,確認是否為 1.4.6 附近版本的 regression。
- 整理 bug report 回報給 RustDesk,重現條件可包含:
- 被控端是 macOS。
- 使用繁體中文注音輸入法。
- Windows -> Mac 與 Mac -> Mac 都會發生。
- 問題發生時右上角仍顯示注音。
- 實際輸入可能變成英文、注音符號不組字、或全形英文。
- 滑鼠手動切
ABC -> 注音可以恢復。
一句話總結
這不是注音壞掉,而是 RustDesk 遠端輸入讓 macOS 注音 IME 狀態偶發不同步;目前最快的解法不是斷線重連,而是用滑鼠強制切一次 ABC -> 注音。
留言
張貼留言
歡迎留下您的心靈足跡👍