Назад | Перейти на главную страницу

Получение работающего сервера удаленного рабочего стола под управлением Ubuntu 14.04

Хорошо - вот то, с чем я работал множество раз в прошлом - X-сервер с поддержкой XDMCP, который обслуживает красивые и блестящие сеансы, включая обработчик входа в систему.

Что у меня есть:

В lightdm (где я сейчас нахожусь), мой lightdm.conf имеет это:

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

Здесь есть кое-что, что я просто не понимаю - вот где я хотел бы получить действительно супер-ответы:

И - это, конечно, ответ, который я действительно ищу:

Я понимаю, что существуют такие проекты, как LTSP, но это не то, что я хочу, поскольку я не хочу, чтобы мои клиенты загружались с установкой Ubuntu или чем-то еще - им просто нужно иметь возможность входить в систему так же, как если бы они использовали Удаленный рабочий стол для запуска сеанса Windows. Я действительно чувствую себя довольно удрученным в этот момент - десять лет назад у меня это работало супер гладко, но теперь рабочее решение полностью ускользает от меня.

ОК - итак, я наконец понял. Как предлагает @gnur, xrdp это то, что нужно использовать, но не сразу из коробки. Похоже, что XRDP, который поставляется с Ubuntu, устарел (иш), поэтому:

  • XRDP должен быть построен из исходников. Получить исходник Вот и следуйте очень красивому руководству Вот чтобы привести вещи в разумное рабочее состояние. Без этого повторное подключение сеанса не работает, что немного мешает работе.

Я сделал пару дополнений, чтобы привести вещи в порядок:

  • XRDP не работает, как другие вещи X, с xmodmap, поэтому, если ваша клавиатура не работает должным образом в сеансе XRDP, вам необходимо:
    • Войдите в реальный консольный сеанс (то есть не через XRDP, но, возможно, через консоль ESXi или физически) и адаптируйте вещи к своей раскладке клавиатуры в этом сеансе. Пытаться setxkbmap -model pc104 -layout <your-layout> (dk в моем случае)
    • Затем выгрузите рабочий макет в .ini файл, который может загрузить XRDP. Сделай это: 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 использует клавишу табуляции для переключения окон. Чтобы исправить это, вам нужно отредактировать (может быть, есть и графический интерфейс) ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml и примените описанное исправление Вот.

Это все! Благодаря этому у меня есть очень хорошая замена XDMCP, которая позволяет пользователям обрабатывать сеансы Ubuntu так же, как и сеансы Windows. Как я и хотел :-)

РЕДАКТИРОВАТЬ Пользуясь этим некоторое время, я обнаружил, что решение работает, но не настолько стабильно. Время от времени переподключение сеанса не будет работать, и пользователи будут оставаться в подвешенном состоянии, не имея возможности войти в систему. Это исправляет перезапуск служб, но на самом деле это не помогает.

Итак - я поискал еще какое-то рабочее решение - и нашел его! Мой новый лучший друг x2go, который представляет собой автономный X-сервер со специальным клиентским пакетом, который поставляется в нескольких вариантах ОС.

РЕДАКТИРОВАТЬ 2: ОК - так об этом даже подробнее. Я обнаружил, что, хотя X2go довольно хорош, у клиента Windows есть особенность, которая в значительной степени мешает ему работать с логинами SSH на основе ключей, поэтому мне пришлось включить регулярные входы в PW для моего настольного компьютера. Не оптимально, но это не меняет того факта, что X2go действительно хорошо работает во всех остальных отношениях.

РЕДАКТИРОВАТЬ 3: На данный момент у Scarygliders есть очень хороший скрипт, который собирает, компилирует и устанавливает все необходимое для блестящей настройки сеанса RDP. Я в значительной степени избавляюсь от необходимости в остальном, что нашел. Получите скрипты Вот путем клонирования. Тогда беги X11rdp-o-matic.sh --justdoit. Теперь у меня есть настольный компьютер, который обслуживает пять пользователей, которые занимаются разработкой на Python и т. Д. Очень хорошо.