Xrdp: различия между версиями

Материал из support.qbpro.ru
imported>Vix
Нет описания правки
imported>Vix
Нет описания правки
Строка 1: Строка 1:
* [http://unixforum.org/index.php?showtopic=133976 сборка...]
* [http://unixforum.org/index.php?showtopic=133976 сборка...]


* Переключение клавиатуры с удаленной машины
==Переключение клавиатуры с удаленной машины==
Далее шрифты - этот бинарник ищет шрифты в /opt/X11rdp/lib/X11/fonts
Далее шрифты - этот бинарник ищет шрифты в /opt/X11rdp/lib/X11/fonts
Создал каталоги /opt/X11rdp/lib/X11, сделал симлинк fonts на папку со шрифтами уже стоящего X-сервера (у меня лежали в /usr/share/X11/fonts)
Создал каталоги /opt/X11rdp/lib/X11, сделал симлинк fonts на папку со шрифтами уже стоящего X-сервера (у меня лежали в /usr/share/X11/fonts)
Строка 33: Строка 33:


setxkbmap -layout "us,ru(winkeys)" -model "pc105" -option "grp:ctrl_shift_toggle,grp_led:scroll"
setxkbmap -layout "us,ru(winkeys)" -model "pc105" -option "grp:ctrl_shift_toggle,grp_led:scroll"
<hr>
==Удалённый рабочий стол в Ubuntu Linux==
Сначала устанавливаем xrdp, он есть в репозиториях. Потом нужно установить последнюю версию x11rdp - это нормальный RDP сервер для Linux. Вся проблема лично для меня заключалась в нахождении его исходников. :)
Компилируем x11rdp:
# apt-get install subversion gcc libice-dev pkg-config zlib1g-dev cvs autoconf libtool libssl-dev libpam0g-dev libx11-dev libxfixes-dev xfonts-base 
$ svn co svn://server1.xrdp.org/srv/svn/repos/main/x11rdp_xorg71
$ mkdir /usr/local/X11rdp
$ cd x11rdp_xorg71
# sh buildx.sh /usr/local/X11rdp
Это займёт некоторое время. После успешной компиляции стоит сделать ссылки на xserver для xrdp:
# ln -s /usr/local/X11rdp/bin/X11rdp /usr/local/bin
# ln -s /usr/share/fonts/X11 /usr/local/X11rdp/lib/X11/fonts
И, наконец, указываем настройки для xrdp, чтобы он использовал x11rd. Правим /etc/xrdp/xrdp.ini:
[globals]
bitmap_cache=yes
bitmap_compression=yes
port=3389
crypt_level=low
channel_code=1
[xrdp0]
name=sesman-X11rdp
lib=libxup.so
username=ask
password=ask
ip=127.0.0.1
port=-1
Вот и всё :) На самом деле всё очень просто! Это позволяет устанавливать одновременно несколько подключений, при нормальном rdp клиенте работают все сочетания клавиш и смены раскладок происходят без проблем. Если активных клиентов нет, работает только один процесс - xrdp. Я сейчас сижу на работе через удалённый рабочий стол ;)
* [http://hashcode.ru/questions/619/удалённый-рабочий-стол-в-ubuntu-linux статья тут]
* [http://rus-linux.net/nlib.php?name=/MyLDP/lvs/remote-graphical-desktops-on-linux.html еще руководство]

Версия от 02:32, 1 сентября 2013

Переключение клавиатуры с удаленной машины

Далее шрифты - этот бинарник ищет шрифты в /opt/X11rdp/lib/X11/fonts Создал каталоги /opt/X11rdp/lib/X11, сделал симлинк fonts на папку со шрифтами уже стоящего X-сервера (у меня лежали в /usr/share/X11/fonts) После этого X11rdp может запускаться, то есть уже можно виндовым клиентом терминалов заходить в sesman-X11rdp. Однако setxkbmap не работает, видимо этот бинарник X11rdp ищет папку xkb где-то в другом месте. Поэтому, создал в /usr/local/lib/xrdp файл rus.map следующего содержания:

xkb_keymap {
    xkb_keycodes  { include "xfree86+aliases(qwerty)"    };
    xkb_types     { include "complete"    };
    xkb_compat    { include "complete"    };
    xkb_symbols   { include "pc+ru(winkeys)+us:2+group(ctrl_shift_toggle)"    };
    xkb_geometry  { include "pc(pc104)"    };
};

Далее прописал в начале /usr/local/lib/xrdp/startwm.sh : для lxde - /usr/bin/startlxde

xkbcomp /usr/local/lib/xrdp/rus.map $DISPLAY

Все. Теперь при входе язык русский, Ctrl+Shift переключает на английский. взято: тут

if [ -r /etc/default/locale ]; then

. /etc/default/locale

export LANG LANGUAGE

fi

setxkbmap -layout "us,ru(winkeys)" -model "pc105" -option "grp:ctrl_shift_toggle,grp_led:scroll"


Удалённый рабочий стол в Ubuntu Linux

Сначала устанавливаем xrdp, он есть в репозиториях. Потом нужно установить последнюю версию x11rdp - это нормальный RDP сервер для Linux. Вся проблема лично для меня заключалась в нахождении его исходников. :)

Компилируем x11rdp:

# apt-get install subversion gcc libice-dev pkg-config zlib1g-dev cvs autoconf libtool libssl-dev libpam0g-dev libx11-dev libxfixes-dev xfonts-base   
$ svn co svn://server1.xrdp.org/srv/svn/repos/main/x11rdp_xorg71
$ mkdir /usr/local/X11rdp
$ cd x11rdp_xorg71
# sh buildx.sh /usr/local/X11rdp

Это займёт некоторое время. После успешной компиляции стоит сделать ссылки на xserver для xrdp:

# ln -s /usr/local/X11rdp/bin/X11rdp /usr/local/bin
# ln -s /usr/share/fonts/X11 /usr/local/X11rdp/lib/X11/fonts

И, наконец, указываем настройки для xrdp, чтобы он использовал x11rd. Правим /etc/xrdp/xrdp.ini:

[globals]
bitmap_cache=yes
bitmap_compression=yes
port=3389
crypt_level=low
channel_code=1

[xrdp0]
name=sesman-X11rdp
lib=libxup.so
username=ask
password=ask
ip=127.0.0.1
port=-1

Вот и всё :) На самом деле всё очень просто! Это позволяет устанавливать одновременно несколько подключений, при нормальном rdp клиенте работают все сочетания клавиш и смены раскладок происходят без проблем. Если активных клиентов нет, работает только один процесс - xrdp. Я сейчас сижу на работе через удалённый рабочий стол ;)