Для поддержки русской раскладки и возможности сменять раскладки нет необходимости влезать в исходный код. На сайте проекта есть пример файла xrdp_keyboard.ini как раз для русского языка. Причем в этой конфигурации учтено что клавиатура у клиента в момент подключения может быть в русской раскладке.
[rdp_keyboard_ru]
keyboard_type=4
keyboard_type=7
keyboard_subtype=1
model=pc105
options=grp:alt_shift_toggle
rdp_layouts=default_rdp_layouts
layouts_map=layouts_map_ru
[layouts_map_ru]
rdp_layout_us=us,ru
rdp_layout_ru=us,ru
А что бы не зависеть от раскладки на клиентской стороне попробуйте:
cp km-00000409.ini km-00000419.ini
добавил строки в файл xrdp_keyboard.ini
[rdp_keyboard_ru]
keyboard_type=4
keyboard_subtype=1
model=pc105
options=grp:alt_shift_toggle
rdp_layouts=default_rdp_layouts
layouts_map=layouts_map_ru
[layouts_map_ru]
rdp_layout_us=us,ru
rdp_layout_ru=us,ru
все работает как надо…
в файле xrdp.ini есть параметр autorun указывающий секцию по умолчанию. Соответственно нужно его выставить:
autorun=Xorg