分類: Linux

安裝 X2Go/Mate 遠端桌面

No Comments

前面文章的 SSH,是本地端以 shell 的方式,安全加密地對遠端電腦做操作互動。也就是以文字的形式做互動。當然我們也可以透過 GUI/使用者圖形界面/桌面的方式來操控遠端。如此,我們看到的不再是我們本地端所屬的桌面了,而是遠端的。可想而知,原本是呈現在遠端的桌面畫面,將被轉成資料,透過網路,本地端接收到資料後再轉成畫面呈現到本地端的螢幕上來。

X2Go Server 是遠端桌面畫面的資料來源 Server 端,X2Go Client 則是接收 Server 來源端傳過來的畫面資料,並將之呈現到本地端螢幕上的用戶 Client 端。並且還包含了可互動事件,滑鼠,鍵盤等。因此就等同於我們在本地端以 GUI 互動的方式遙控伺服器。

X2Go 是目前比較後期發展(但延用前期傑出的函式庫)的遠端桌面,並且支援很多種 GUI 界面,即桌面環境,desktop environment,例如 Gnome,KDE 等。而且網路連線上既定就是走 SSH 加密通道。其安裝上與使用上簡單,安全性和效能上都有相當高的接受程度。 缺點是,目前似乎只有一種 X2Go client 可使用。也就是說我們應無法像 VNC 一樣,能從 Android 手機做遠端桌面遙控。Android 則有很多 VNC viewer apps。

可想而知,本地端 (本機)只要安裝 X2Go Client,遠端(VM)只要安裝 X2Go Server 如此就可以達到我們的目的了。再來,雖然我們本地端使用的是 Ubuntu,其是 Gnome 桌面,假設遠端/即伺服器上是使用了 KDE 桌面環境,那麼我們本地端就會看到 X2Go Client 呈現出 KDE 桌面。

更實際地說,我們將在 VM 上安裝使用另一個桌面環境 Mate。

補充:已測試過,server 使用 mate 且正處於某 user 的 x-window 下(即存在此狀態),可於 client 端啟動顯現同一 user 新的(即非前述)的 x-window。

首先加入套件來源:sudo add-apt-repository ppa:x2go/stable

本機:sudo apt install x2goclient

VM:sudo apt install mate-desktop-environment

VM:x2gomatebindings 這支可能也要裝,筆者曾沒裝造成桌面 icons 無法開啟的問題(不過裝了似乎也沒有修正)

VM:sudo apt install x2goserver x2goserver-xsession

以上,就這麼簡單地安裝完成了。不過,執行上會出現一些錯誤訊息,故以下,包含設定,我們逐步處理:

  • 因為是遠端桌面伺服器,用戶端是主動連上我們的,所以仍舊要對撥接寬頻設定埠的轉發。又因為是使用 VM,所不免又要對主機及 VM 再設定一次 port forwarding。傳統慣例 VNC 是使用 5900 port,故筆者便錯開,讓 X2Go 使用 5902 port。前文設定 SSH shell 也是走 5902 port。因為 X2Go 就是走 SSH 通道。換言之,先前設定好 SSH 通道,X2Go 便直接延用。
  • 本機:毌需轉接
  • VM:port forwarding 設成 5902 < — > 22
  • 在主機上啟動 X2Go client,便可連上遠端桌面。不過,如果會出現一個 SCP 的錯誤訊息,基本上可以忽略。若有出現並且想要消除它,步驟如下(不會出現的話就跳過此設定):
  • 找到套件的所有版本別:apt policy libssh-4
  • 降級安裝:sudo apt install libssh-4=”0.8.0~20170825.94fa1e38-1build1″(留意雙引號)
  • 鎖定該套件不讓之後又被更新
  • sudo apt-mark hold libssh-4
  • (以後要解鎖定的話:sudo apt-mark unhold libssh-4
  • sudo systemctl restart sshd.service
  • 這一步 workaround 的操作是對主機/ client 端,VM /host 端不用
  • 一進入桌面畫面,可能會有一個控制面版的錯誤訊息,就刪除它即可。另外可能會跳出輸入密碼的訊息,也取消它即可。
  • 再來到 VM home 下,cat .xsession-x2go-*-errors 查看錯誤訊息。基本上使用上遇到錯誤再由此記錄來判斷。

補充:VirtualBox 本身就有提供遠端桌面的功能了,然而它是使用 RDP 系列的控制,所以很可能可以透過 Android 來連線操控。筆者並沒有/有興趣者可自行摸索嘗試。
筆者後來將它補充在此處:
https://waterfalls.ddns.net/2019/12/19/rdp---virtualbox-的遠端桌面/

參考資料:Mate 使用上可能會出現一些問題,以下記錄與之相關之資訊片斷

  • https://ubuntu-mate.org/blog/
  • https://launchpad.net/ubuntu/+source/mate-indicator-applet
  • https://github.com/mate-desktop/mate-indicator-applet/issues/34
  • https://ubuntu-mate.community/t/tip-on-re-ordering-the-indicators/5346
  • IndicatorAppletCompleteFactory::IndicatorAppletComplete
  • 可加裝的套件:sudo apt install mate-dock-applet plank mate-hud mate-applet-brisk-menu mate-menu mate-applet-appmenu。或者與 Mate 相關的所有套件:sudo apt install mate-*
  • reinstalled indicator-messages along with a few other updates. Before doing this, MATE Tweak just showed GNOME2 as a layout, after doing the install/update, MATE Tweak now displays the eight layouts that are expected.
  • I’m looking at the mate-tweak and basically every single layout depends on the indicators being available.
    Tweak determines whether it’s available or not by checking all the necessary libraries and services associated with it:
    indicator-application-service
    indicator-sound-service
    indicator-messages-service
    indicator-power-service
    indicator-session-service
    libapplication.so
    org.ayatana.panel.IndicatorApplet.mate-panel-applet
    If any of those files are missing, it determines that indicators are not available, and that effectively gets rid of all the layouts. The code seems to reference *-no-indicator versions of each of the layouts, but those don’t exist in the repo, so I guess it would support them, they are just not shipped…
    I’m assuming @Wimpy wants to keep the indicators arounds as the default (there’s actually a lot of good work being put into them). So I would suggest re-enabling the indicators, removing the indicator applet from whichever layouts you’d like to keep around, save those layouts, and then remove the indicators again. I think that could work to give you the list without indicators.
    Alternatively, we could submit a pull request to the ubuntu-mate-settings 5 repository with the *-no-indicators versions in there (which seems like it would just be the same layout files but without the indicators section in it).

Categories: Linux 架設網站

Tags:

PHP Code Snippets Powered By : XYZScripts.com