
Можно ли запустить сеанс xfreerdp в Microsoft Windows из установленной только в командной строке Linux?
Команда, которую я использую в полнофункциональной установке 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
У меня как установка Linux с графическим интерфейсом, так и установка Linux только с командной строкой — это Ubuntu 12.04. Обе установки имеют версию xfreerdp 1.2.0-beta1
решение1
Я предполагаю, что xfreerdp — это программа с графическим интерфейсом (клиент X). Поэтому в Linux для ее запуска вам понадобится «сервер X».
Это то, что у вас есть на Linux с графическим интерфейсом.
Вы не можете запустить ее в Linux, работающем только в командной строке.
В зависимости от того, что вы пытаетесь сделать, может иметь смысл запустить его в Linux только с командной строкой и показать GUI где-то еще по сети. Для этого и нужен DISPLAY.
Вы можете сделать что-то вроде:
export DISPLAY=guilinuxbox:0.0
xfreerdp ...
(но для этого вам нужно будет настроить разрешения)
Для иллюстрации того, чего следует ожидать при запуске простого X-сервера (как сейчас обсуждается в комментариях):
Вот как выглядит простой X-сервер — вы видите корневое окно с его шаблоном по умолчанию. Также будет указатель в форме «X»:
решение2
su root
xdpyinfo
- найдите строку после «имени дисплея», например, имя дисплея:127.0.0.1:1.0 (что равно «1.0»)
export DISPLAY=:1.0