Ubuntu

獲取在 Ubuntu 14.04 上執行的遠端桌面伺服器

  • November 13, 2015

好的 - 這是我過去工作過很多次的東西 - 一個啟用 XDMCP 的 X 伺服器,它提供漂亮而閃亮的會話,包括一個登錄處理程序。

是)我有的:

  • 在 ESXi 上執行的虛擬 Ubuntu 機器 - 我希望這台機器類似於 Windows 終端伺服器。
  • 一個有效的 VNC 設置通過x11vnc- 如果您有一個正在執行的會話,這是可以的,但如果您想登錄並創建一個新會話,則不行。另外 - 在多使用者盒子上相當混亂
  • lightdm對and進行了大量實驗gdm,試圖XDMCP啟動並執行該功能。編輯/etc/lightdm/lightdm.conf/etc/gdm/*在某種程度上正在工作。我可以通過 lightdm 執行登錄管理器,但是一旦登錄,使用者就會掛起,沒有會話可以玩。

lightdm(這是我現在所在的位置),我lightdm.conf有這個:

[SeatDefaults]
allow-guest=false
[XDMCPServer]
enabled=true
port=177

這裡有一些東西我想我只是沒有得到 - 這是我想要一些非常棒的答案的地方:

  • XDMCP 仍然存在(通過 SSH 或不通過 SSH),儘管它有點老舊。有什麼新的東西(比如新協議)我不知道應該改用嗎?
  • 這種事情的使用者群是否正在縮小,我應該採用不同的策略嗎?我真的不想,因為我喜歡終端伺服器。

而且 - 這當然是我真正想要的答案:

  • 有人可以指出我需要在完全預設的 Ubuntu 14.04.2 桌面版(64 位)中更改的gdm或配置文件中的確切位置嗎?lightdm

我意識到那裡有像 LTSP 這樣的項目,但這不是我想要的,因為我不希望我的客戶啟動到 Ubuntu 設置或任何東西 - 他們只需要能夠像他們正在使用一樣登錄遠端桌面啟動 Windows 會話。在這一點上,我真的感到非常沮喪——十年前我的工作非常順利,但現在我完全無法找到一個可行的解決方案。

好的 - 所以我終於想通了。正如@gnur 建議的那樣,xrdp是可以使用的東西,但不是開箱即用的。看來 Ubuntu 附帶的 XRDP 是舊的(ish),所以:

  • XRDP 必須從原始碼建構。在此處獲取原始碼並按照此處非常好的手冊進行操作,以使事情處於合理的工作狀態。沒有這個,會話重新連接將不起作用,這有點令人討厭。

我做了一些額外的事情來讓事情完全成型:

  • XRDP 不像其他 X 的東西那樣工作xmodmap,所以如果你的鍵盤在 XRDP 會話中沒有像你希望的那樣工作,你必須:

    • 登錄到一個真正的控制台會話(即不通過 XRDP,但可能通過 ESXi 控制台或物理)並在該會話中調整您的鍵盤佈局。嘗試setxkbmap -model pc104 -layout <your-layout>dk在我的情況下)
    • 然後將工作佈局轉儲到.iniXRDP 可以載入的文件中。做這個:xrdp-genkeymap mymap.ini
    • 通過查看/var/log/xrdp.log類似local keymap file for 0x0406 found. 然後命名你的文件/etc/xrdp/km-0406.ini。這需要一段時間才能弄清楚。
  • 修改您/etc/xrdp/xrdp.ini的會話描述,如下所示: [xrdp1] name=sesman-Xvnc lib=libvnc.so username=ask password=ask ip=127.0.0.1 port=-1 delay_ms=2000 關鍵部分是lib-delay_ms沒有延遲,登錄 XRDP 會話後我沒有桌面。似乎底層 VNC 會話需要一些時間才能準備好,如果連接嘗試過早,您將一無所獲。

  • ~/.xsession在你的文件中放一些合理的東西。我有xfce4-session,但這帶來了另一個奇怪的地方 - 終端視窗中的選項卡完成不起作用。顯然,XFCE 使用 tab 鍵進行視窗切換。要解決此問題,您需要編輯(也許還有 GUI 的東西)並應用此處~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml描述的修復。

這就對了!通過這個執行,我有一個很好的 XDMCP 替代品,它可以讓使用者像對待 Windows 會話一樣對待 Ubuntu 會話。正如我所願:-)

編輯 使用了一段時間後,我發現該解決方案可行但不是那麼穩定。有時,會話重新連接將無法正常工作,使用者將處於不確定狀態,根本無法登錄。重新啟動服務解決了這個問題,但它並沒有真正堅持下去。

所以 - 我尋找了更多可行的解決方案 - 並找到了一個!我最好的新朋友是x2go,它是一個獨立的 X 伺服器,帶有一個特殊的客戶端包,有多種作業系統版本。

編輯 2: 好的 - 所以更多關於這個。我發現雖然 X2go 相當不錯,但 Windows 客戶端有一個怪癖,幾乎無法使用基於密鑰的 SSH 登錄,因此我不得不為我的桌面主機啟用正常 PW 登錄。不是最優的,但它並沒有改變 X2go 在所有其他方面都執行良好的事實。

編輯 3: Scarygliders 在這一點上有一個非常好的腳本,它可以獲取、編譯和安裝閃亮的 RDP 會話設置所需的一切。我幾乎不需要我找到的其他東西。通過複製在此處獲取腳本。然後執行X11rdp-o-matic.sh --justdoit。我現在有一個桌面主機,為五個使用者提供服務,他們都在做 Python 開發等。非常好。

引用自:https://serverfault.com/questions/685298