Хорошо - вот то, с чем я работал множество раз в прошлом - X-сервер с поддержкой XDMCP, который обслуживает красивые и блестящие сеансы, включая обработчик входа в систему.
Что у меня есть:
x11vnc
- это нормально, если у вас есть текущая сессия, но не в том случае, если вы хотите войти в систему и создать новую сессию. Также - довольно грязный на многопользовательском ящикеlightdm
и gdm
, пытаясь получить XDMCP
функциональность запущена и работает. Редактирование /etc/lightdm/lightdm.conf
и /etc/gdm/*
в какой-то степени работает. Я могу запустить диспетчер входа в систему через lightdm, но после входа в систему пользователь просто остается висеть без сеанса для игры.В lightdm
(где я сейчас нахожусь), мой lightdm.conf
имеет это:
[SeatDefaults]
allow-guest=false
[XDMCPServer]
enabled=true
port=177
Здесь есть кое-что, что я просто не понимаю - вот где я хотел бы получить действительно супер-ответы:
XDMCP все еще жив (через SSH или нет), хотя он вроде старый и серый. Есть ли что-то новое (например, новый протокол), о котором я не знаю, что мне следует использовать вместо этого?
Сокращается ли пользовательская база для подобных вещей и следует ли мне использовать другую стратегию? Я действительно не хочу, потому что мне нравятся терминальные серверы.
И - это, конечно, ответ, который я действительно ищу:
gdm
или lightdm
config, которые необходимо изменить в настольной версии Ubuntu 14.04.2 по умолчанию (64-разрядная версия)?Я понимаю, что существуют такие проекты, как LTSP, но это не то, что я хочу, поскольку я не хочу, чтобы мои клиенты загружались с установкой Ubuntu или чем-то еще - им просто нужно иметь возможность входить в систему так же, как если бы они использовали Удаленный рабочий стол для запуска сеанса Windows. Я действительно чувствую себя довольно удрученным в этот момент - десять лет назад у меня это работало супер гладко, но теперь рабочее решение полностью ускользает от меня.
ОК - итак, я наконец понял. Как предлагает @gnur, xrdp
это то, что нужно использовать, но не сразу из коробки. Похоже, что XRDP, который поставляется с Ubuntu, устарел (иш), поэтому:
Я сделал пару дополнений, чтобы привести вещи в порядок:
xmodmap
, поэтому, если ваша клавиатура не работает должным образом в сеансе XRDP, вам необходимо: 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 и т. Д. Очень хорошо.