keymap CentOS xrdp

Содержание
Введение
Пример файла
Модификации
setxkbmap

Введение

Пример файла

#!/bin/bash # # This script is an example. You might need to edit this script # depending on your distro if it doesn't work for you. # # Uncomment the following line for debug: # exec xterm # Execution sequence for interactive login shell - pseudocode # # IF /etc/profile is readable THEN # execute ~/.bash_profile # END IF # IF ~/.bash_profile is readable THEN # execute ~/.bash_profile # ELSE # IF ~/.bash_login is readable THEN # execute ~/.bash_login # ELSE # IF ~/.profile is readable THEN # execute ~/.profile # END IF # END IF # END IF pre_start() { if [ -r /etc/profile ]; then . /etc/profile fi if [ -r ~/.bash_profile ]; then . ~/.bash_profile else if [ -r ~/.bash_login ]; then . ~/.bash_login else if [ -r ~/.profile ]; then . ~/.profile fi fi fi return 0 } # When loging out from the interactive shell, the execution sequence is: # # IF ~/.bash_logout exists THEN # execute ~/.bash_logout # END IF post_start() { if [ -r ~/.bash_logout ]; then . ~/.bash_logout fi return 0 } #start the window manager wm_start() { if [ -r /etc/default/locale ]; then . /etc/default/locale export LANG LANGUAGE fi # debian if [ -r /etc/X11/Xsession ]; then pre_start . /etc/X11/Xsession post_start exit 0 fi # el if [ -r /etc/X11/xinit/Xsession ]; then pre_start . /etc/X11/xinit/Xsession post_start exit 0 fi # suse if [ -r /etc/X11/xdm/Xsession ]; then # since the following script run a user login shell, # do not execute the pseudo login shell scripts . /etc/X11/xdm/Xsession exit 0 elif [ -r /usr/etc/X11/xdm/Xsession ]; then . /usr/etc/X11/xdm/Xsession exit 0 fi pre_start xterm post_start } #. /etc/environment #export PATH=$PATH #export LANG=$LANG # change PATH to be what your environment needs usually what is in # /etc/environment #PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" #export PATH=$PATH # for PATH and LANG from /etc/environment # pam will auto process the environment file if /etc/pam.d/xrdp-sesman # includes # auth required pam_env.so readenv=1 wm_start exit 1

Модификации

Если вы используете MATE Desktop

#Multi user MATE Desktop echo 'mate-session' > ~/.xsession chmod +x ~/.xsession

systemctl restart xrdp

setxkbmap

Изучить раскладку текущей сессии

setxkbmap -print -verbose 10

Setting verbose level to 10 locale is C Trying to load rules file ./rules/evdev... Trying to load rules file /usr/share/X11/xkb/rules/evdev... Success. Applied rules from evdev: rules: evdev model: pc105 layout: us,us variant: , Trying to build keymap using the following components: keycodes: evdev+aliases(qwerty) types: complete compat: complete symbols: pc+us+us:2+inet(evdev) geometry: pc(pc105) xkb_keymap { xkb_keycodes { include "evdev+aliases(qwerty)" }; xkb_types { include "complete" }; xkb_compat { include "complete" }; xkb_symbols { include "pc+us+us:2+inet(evdev)" }; xkb_geometry { include "pc(pc105)" }; };

Изменить раскладку текущей сессии

setxkbmap -layout fr
setxkbmap -print -verbose 10

Setting verbose level to 10 locale is C Trying to load rules file ./rules/evdev... Trying to load rules file /usr/share/X11/xkb/rules/evdev... Success. Applied rules from evdev: rules: evdev model: pc105 layout: fr Trying to build keymap using the following components: keycodes: evdev+aliases(azerty) types: complete compat: complete symbols: pc+fr+inet(evdev) geometry: pc(pc105) xkb_keymap { xkb_keycodes { include "evdev+aliases(azerty)" }; xkb_types { include "complete" }; xkb_compat { include "complete" }; xkb_symbols { include "pc+fr+inet(evdev)" }; xkb_geometry { include "pc(pc105)" }; };

Добавить язык

Допустим нужно добавить бельгийский вариант французского.

Перейдите в /etc/xrdp и отредактируйте файл xrdp_keyboard.ini

cd /etc/xrdp
vi xrdp_keyboard.ini

Допустим нужно изменить бельгийский язык - по умолчанию был немецкий вариант, а нужен французский.

#rdp_layout_be=0x00000813 rdp_layout_be=0x0000080C

Если у нужной кодировки нет своего файла km-XXXX.ini в директории /etc/xrdp его можно сгенерировать командой

xrdp-genkeymap km-XXXX.ini

У меня возникли проблемы с генерацией этих файлов через удалённое подключение к виртуальной машине при попытке генерации получал ошибку

xrdp-genkeymap: unable to open display ''

- приходилось делать это в родном терминале виртуалки.

vi /etc/xrdp/xrdp_keyboard.ini

rdp_layout_us=0x00000409 rdp_layout_us_dvorak=0x00010409 rdp_layout_us_dvp=0x19360409 rdp_layout_dk=0x00000406 rdp_layout_de=0x00000407 rdp_layout_es=0x0000040A rdp_layout_fi=0x0000040B rdp_layout_fr=0x0000040C rdp_layout_it=0x00000410 rdp_layout_jp=0x00000411 rdp_layout_jp=0xe0010411 rdp_layout_jp=0xe0200411 rdp_layout_jp=0xe0210411 rdp_layout_kr=0x00000412 rdp_layout_no=0x00000414 rdp_layout_pl=0x00000415 rdp_layout_br=0x00000416 rdp_layout_ru=0x00000419 rdp_layout_se=0x0000041D rdp_layout_ch=0x00000807 rdp_layout_ch_fr=0x0000100C rdp_layout_gb=0x00000809 rdp_layout_latam=0x0000080A #rdp_layout_be=0x00000813 rdp_layout_be=0x0000080C rdp_layout_pt=0x00000816 rdp_layout_tr=0x0000041F

00000405 cs Czech 00000407 de German 00000409 en-us US English 0000040c fr French 00000410 it Italian 00000416 br Portuguese (Brazil) 00000419 ru Russian 0000041d se Swedish 00000809 en-uk UK English

locales

Похожие статьи
CentOS
X Window System CentOS
XRDP: Удалённый рабочий стол
VNC: Удалённый рабочий стол
keymap: Клавиатура
startwm

Поиск по сайту

Подпишитесь на Telegram канал @aofeed чтобы следить за выходом новых статей и обновлением старых

Перейти на канал

@aofeed

Задать вопрос в Телеграм-группе

@aofeedchat

Контакты и сотрудничество:
Рекомендую наш хостинг beget.ru
Пишите на info@urn.su если Вы:
1. Хотите написать статью для нашего сайта или перевести статью на свой родной язык.
2. Хотите разместить на сайте рекламу, подходящую по тематике.
3. Реклама на моём сайте имеет максимальный уровень цензуры. Если Вы увидели рекламный блок недопустимый для просмотра детьми школьного возраста, вызывающий шок или вводящий в заблуждение - пожалуйста свяжитесь с нами по электронной почте
4. Нашли на сайте ошибку, неточности, баг и т.д. ... .......
5. Статьи можно расшарить в соцсетях, нажав на иконку сети: