Есть Ubuntu 9.04.
Задача: с тонкого клиента через RDP (другого там нет) зайти на Ubuntu 9.04 и работать (Firefox, Openoffice).
Ставим xrdp, который тянет за собой vnc4server. Создаём пользователя, к примеру, userrdp.
/etc/xrdp/xrdp.ini:
Код: Выделить всё
[globals]
bitmap_cache=yes
bitmap_compression=yes
port=3389
crypt_level=low
channel_code=1
[xrdp1]
name=sesman-Xvnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1
[xrdp2]
name=console
lib=libvnc.so
ip=127.0.0.1
port=5900
username=na
password=ask
[xrdp3]
name=vnc-any
lib=libvnc.so
ip=ask
port=ask5900
username=na
password=ask
[xrdp4]
name=sesman-any
lib=libvnc.so
ip=ask
port=-1
username=ask
password=ask
[xrdp5]
name=rdp-any
lib=librdp.so
ip=ask
port=ask3389
[xrdp6]
name=sesman-X11rdp
lib=libxup.so
username=ask
password=ask
ip=127.0.0.1
port=-1
/etc/xrdp/sesman.ini:
Код: Выделить всё
[Globals]
ListenAddress=127.0.0.1
ListenPort=3350
EnableUserWindowManager=1
UserWindowManager=/etc/xrdp/startwm.sh
DefaultWindowManager=/etc/xrdp/startwm.sh
[Security]
AllowRootLogin=1
MaxLoginRetry=4
TerminalServerUsers=tsusers
TerminalServerAdmins=tsadmins
[Sessions]
MaxSessions=10
KillDisconnected=0
IdleTimeLimit=0
DisconnectedTimeLimit=0
[Logging]
LogFile=/var/log/sesman.log
LogLevel=DEBUG
EnableSyslog=0
SyslogLevel=DEBUG
[X11rdp]
param1=-bs
param2=-ac
[Xvnc]
param1=-bs
param2=-ac
/etc/xrdp/sesman.ini:
Код: Выделить всё
#!/bin/sh
. /etc/X11/Xsession
Рестартую (для проверки) xrdp:
Код: Выделить всё
/etc/init.d/xrdp restart
Всё ОК.
С тонкого клиента (HP t5530) лезу по RDP на терминальный сервер. Окно с логином xrdp, выбираю Sesman-Xvnc, логин userrdp, пароль. Видно, что клиент на сервер зашёл, но всё в окне моргает, хотя ВСЕ визуальные эффекты рабочего стола на Ubuntu выключены. Поковырявшись в логах и погуглив, решено убрать vnc4server и поставить tightvncserver. Устанавливаем tightvncserver. Конфиги xrdp остаются те же. Коннектимся заново. Ура. Рабочий стол открылся, даже звук стартовый проиграло, даже локальные ресурсы показало. Но весь интерфейс на английском. Ладно, это не важно, пока. Запускаю OO Writer, пробую ввести "qwe", идёт ввод не тех символов - "c.b" - какая-то кривая раскладка клавиатуры. Погуглив ещё некоторое время нашёл совет вставить в startwm.sh переменную LANG.
Код: Выделить всё
#!/bin/sh
export LANG=ru_RU.UTF-8
. /etc/X11/Xsession
После входа на сервер, установился русский интерфейс, Гном предложил обновить стандартные папки для текущего языка. Но, как не было корректного ввода символов, так и не стало после изменений в startwm.sh. Поковырявшись ещё в Гугле, нашёл описание бага с вводом символов, не соответствующих клавиатуре - https://bugs.launchpad.net/ubuntu/+source/xrdp/+bug/320393 - пофиксил - ввод латинских символов стал правильный, но, потом задумался - ведь это отключило апплет управления клавиатурой и раскладками вообще, в списке осталась только "US 105 клавиш".
Подскажите, пожалуйста, в какую сторону копать, чтобы сделать возможным ввод русских символов.
Вариант с freenx предлагать не надо, так как на тонком клиенте стоит Windows CE 5.0, под которую nx-клиента не существует, менять железку никто не будет. Решил залезть на терминальный сервер из рядом стоящей машины с Ubuntu 9.04 - результат такой же - кривой ввод символов, значит дело не в Винде, а в настройках xrdp и tightvncserver.
Xrdp v.0.4.0 и tightvncserver v.1.3.9-4.