用 Windows 遠端 Ubuntu 22.04

最近換了新工作後,終於又回到了 Ubuntu 的懷抱,用原生 Linux 開發真香。

由於新工作突發狀況感覺比較多,因此為了避免萬一,興起了要在 Ubuntu 上設定遠端的念頭。但不知道到底是 GNOME 還是 Wayland 的鍋,設定方式教學居然有兩種!

在經過實際嘗試後,決定寫一篇筆記記錄一下兩者的操作以及差異。

設定

環境:
Ubuntu 22.04 + GNOME 42.5
視窗系統:Wayland

xrdp

首先第一個想到的就是 xrdp,畢竟是經典的。而操作部份我是參考 DigitalOcean 的教學:https://www.digitalocean.com/community/tutorials/how-to-enable-remote-desktop-protocol-using-xrdp-on-ubuntu-22-04

基本上就是安裝 xrdp 並設定 session 類型等等,完全照著教學文章做就搞定了。但是要注意:

使用 xrdp 的話,Ubuntu 電腦上要被遠端的使用者不可登入

如果你要登入的使用者剛好是登入狀態(不論螢幕有無鎖定)在 Windows 遠端的時候畫面就會閃一下就跳掉。

這是 bug 還是什麼問題我不清楚。唯一可以確認的是,那個遠端不是在電腦前登入看到的畫面,會變得有點奇妙。這邊借用 DigitalOcean 教學文的照片:

Windows 透過 xrdp 遠端 Ubuntu 22.04,來自 DigitalOcean

雖然程式及各種設定都還在沒錯,但用起來總是有些不習慣,而且之後回到電腦上發現,麥克風和喇叭都變成一個奇怪的 dummy 裝置,要重開才正常。要是一個沒注意忘記重開,線上會議大家等我一個就尷尬了,所以決定往下找其他的方法。

xrdp 遠端後,回到電腦上音訊裝置會變成 dummy 而無法使用,重開才會正常。
尚不確定是設定問題還是有 bug。

RDP&VNC

後來查到 Ubuntu 22.04 現在內建就有 RDP 支援了,於是決定改朝這方面下手。

在找了幾個教學後,我發現一件事:這個方法不可以讓螢幕鎖定!所以會推薦用自動登入(auto login)

挖靠,這未免也太不安全,如果是自己房間的電腦就算了,辦公室的電腦可不好。

正當我想放棄時,看到一部救世主影片: https://youtu.be/m5U1PgqfGiA

不想看影片或英文的請繼續往下,我會帶一次簡單的設定流程和加入一些自己的心得。

基本上就是先去設定裡面打開遠端:

設定→分享→遠端桌面

然後設定一下遠端桌面相關設定:

遠端桌面設定

要注意的地方我都標示編號了,只是最後這張圖請特別注意綠色框框處(編號④)的設定。該處的設定是使用 Windows 遠端時驗證用的,不一定要和現有使用者相同。可以依照 Windows 使用者名稱設定,連線時可以少打一點字。

接著是重要的部分了:讓 GNOME 在鎖定時也能接受遠端請求。

什麼意思?依照這篇前人的教學所說,gnome-remote-desktop 這個服務是以使用者的權限執行的,所以一旦電腦鎖定了或是沒登入就無法使用。

或許你會疑問怎麼剛好和前面提到的 xrdp 相反?不過如果對這些系統程式執行和權限有點概念的話,看了剛剛的說明或是上面大大的文章應該就會明白為什麼。

RDP&VNC 沒另外安裝擴充套件的話,Ubuntu 電腦上要被遠端的電腦不可鎖定

總之,接下來就是影片大神與其他人不同的地方了!

首先,打開 Ubuntu software,安裝擴充套件管理員(Extension Manager)(不想安裝這個,也可以靠 browser extension 安裝)


Extension Manager 圖示

然後再安裝 Allow Locked Remote Desktop


然後要重新啟動 GNOME,通常我都直接重開機,或是不想重開想下指令單純重啟 GNOME 也行。

之後就能到 Windows 上測試遠端了。實測電腦鎖定且使用者有登入的情況下也可以成功遠端:

熟悉的 GNOME 最對味

安裝 Allow Locked Remote Desktop 後,Ubuntu 22.04 內建的遠端桌面的表現就和 Windows 比較接近了。
也就是鎖定情況下也能被遠端,然後再登入使用者。

注意!就算安裝了 Allow Locked Remote Desktop 套件,使用者也是要有登入(可鎖定)才能遠端。
如果重開機後完全沒登入仍是無法遠端的。
所以在可兼顧安全性的情況下,可以開啟開機後自動登入的選項。

參考資料