web-dev-qa-db-ja.com

$ DISPLAY環境変数が正しく設定されていないためエラーが発生しました

LinuxのコマンドラインのみのインストールからMicrosoftWindowsへのxfreerdpセッションを開始することは可能ですか?

本格的な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のコマンドラインのみのインストールはどちらもUbuntu12.04です。どちらのインストールにもxfreerdpバージョン1.2.0-beta1があります

1
oshirowanen

XfreerdpはGUIプログラム(「Xクライアント」)だと思います。したがって、Linuxでは、それを実行するために「Xサーバー」が必要です。
これがGUIベースのLinuxボックスにあるものです。
コマンドラインでのみ実行することはできません。Linux自体のみです。

何をしようとしているのかによっては、コマンドラインのみのLinuxで実行し、ネットワーク上の別の場所にGUIを表示するのが理にかなっている場合があります。それがDISPLAYの目的です。

あなたは次のようなことをすることができます:

export DISPLAY=guilinuxbox:0.0
xfreerdp ...

(ただし、そのためには権限を設定する必要があります)

プレーンXサーバーを実行するときに何を期待するかを説明するために(今のところコメントで説明されているように):

これは、プレーンXサーバーがどのように見えるかです-デフォルトのパターンでルートウィンドウが表示されています。 「X」字型のポインタもあります。

X11-empty-rootwindow-default

3
Volker Siegel
  1. su root
  2. xdpyinfo
  3. 「ディスプレイの名前」の後ろにある文字列を見つけます。例:ディスプレイの名前:127.0.0.1:1.0(つまり「1.0」)
  4. export DISPLAY=:1.0
0
Clement