Ubuntu

錯誤,因為 $DISPLAY 環境變數未正確設置

  • September 3, 2018

是否可以從僅命令行安裝的 Linux 啟動 xfreerdp 會話到 Microsoft Windows?

我在完整的 Linux 安裝中使用的命令是這樣的:

$ sudo xfreerdp /v:farm.company.com /d:company.com \
   /u:oshiro /p:oshiro_password /g:rds.company.com

該命令工作正常。但是,當我從 Linux 的命令行安裝執行相同的命令時,我收到以下錯誤消息:

Please check that the $DISPLAY environment variable is properly set.
freerdp_set_last_error 0x20001
libfreerdp/core/freerdp.c:97: freerdp_pre_connect failed

我擁有的基於 GUI 的 Linux 安裝和僅命令行安裝的 Linux 都是 Ubuntu 12.04。兩種安裝都有 xfreerdp 版本 1.2.0-beta1

我假設 xfreerdp 是一個 gui 程序(一個“X 客戶端”)。所以在 Linux 上,你需要一個“X 伺服器”來執行它。

這就是您在基於 GUI 的 Linux 機器上所擁有的。

您不能在僅命令行的 Linux 本身上執行它。

根據您嘗試執行的操作,在純命令行 Linux 上執行它並通過網路在其他地方顯示 GUI 可能是有意義的。這就是 DISPLAY 的用途。

您可以執行以下操作:

export DISPLAY=guilinuxbox:0.0
xfreerdp ...

(但您需要設置權限才能這樣做)

為了說明在執行普通 X 伺服器時會發生什麼(如現在的評論中所討論的那樣):

這就是一個普通的 X 伺服器的樣子——你看到的是帶有預設模式的根視窗。還有一個“X”形的指針:

X11-empty-rootwindow-default

引用自:https://unix.stackexchange.com/questions/122094