Erro porque a variável de ambiente $DISPLAY não está definida corretamente

Erro porque a variável de ambiente $DISPLAY não está definida corretamente

É possível iniciar uma sessão xfreerdp no Microsoft Windows a partir de uma instalação somente de linha de comando do Linux?

O comando que uso em uma instalação completa do Linux é este:

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

Este comando funciona bem. No entanto, quando executo o mesmo comando em uma instalação de linha de comando do Linux, recebo a seguinte mensagem de erro:

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

Tanto a instalação do Linux baseada em GUI quanto a instalação somente de linha de comando do Linux que tenho são Ubuntu 12.04. Ambas as instalações possuem xfreerdp versão 1.2.0-beta1

Responder1

Presumo que o xfreerdp seja um programa GUI (um "cliente X"). Portanto, no Linux, você precisa de um “servidor X” para executá-lo.
Isso é o que você tem na caixa Linux baseada em GUI.
Você não pode executá-lo apenas no Linux de linha de comando.

Dependendo do que você está tentando fazer, pode fazer sentido executá-lo no Linux somente com linha de comando e mostrar a GUI em algum outro lugar da rede. É para isso que serve o DISPLAY.

Você poderia fazer algo como:

export DISPLAY=guilinuxbox:0.0
xfreerdp ...

(mas você precisaria configurar as permissões para fazer isso)

Para ilustrar o que esperar ao executar um servidor X simples (conforme discutido nos comentários por enquanto):

Esta é a aparência de um servidor X simples - você está vendo a janela raiz com seu padrão padrão. Haveria também um ponteiro em forma de "X":

X11-vazio-rootwindow-default

Responder2

  1. su root
  2. xdpyinfo
  3. encontre a string atrás de "nome de exibição", por exemplo, nome de exibição: 127.0.0.1: 1.0 (que é "1.0")
  4. export DISPLAY=:1.0

informação relacionada