- xrdp server, Windows compatible numpad
Преамбула
У меня привычка при редактировании кода использовать цифровую клавиатуру при выключенном numlock-е, как управление стрелочками, а при нажатом Shift+Numpad, как выделение, то что носит в Linux-е название "Numk Lock on:digits; Shift for arrows. Num Lock off: arrows (as Windows)". В Linux-е при нажатом Shift вместо стрелочек будет выводиться цифра.
При работе на удаленном столе VNC Windows фича вообще не работала, а на xrdp работала, если ее включить, но нужно было включать при каждом начале сессии, что утомительно. Нужно было лезть в настройки клавиатуры, в параметры раскладки, дальше лезть и ставить галку. Но мы же в Linux-е, значит можно запускать каким-то образом работу автоматически В принципе я знал, что нужно копать в сторону setxkbmap, она отвечает за клавиатуру. Но как-то не получалось найти ключик включающий "as Windows". Сегодня забрался в /usr/share/X11/xkb, пошерстил, нашел в types/numpad
partial xkb_types "microsoft" {
type "KEYPAD" {
modifiers = Shift+NumLock;
map[None] = Level1;
preserve[Shift] = Shift;
map[NumLock] = Level2;
level_name[Level1] = "Base";
level_name[Level2] = "Number";
};
include "extra(keypad)"
};
Значит "as Windows" включается из командной строки:
setxkbmap -option numpad:microsoft
Осталось теперь эту команду запускать при начале каждой сессии xrdp.
Нашел в /etc/xrdp файл reconnecttwm.sh, который запускается при каждом начале сессии удаленного рабочего стола. Записал команду, перезапустил - мимо. Полез в интернет. Нашел совет, поставить паузу на пару секунд, после этого запуск команды, попробовал - получилось. Всё заработало.
Амбула
Ubuntu/Mint: Для включения Numpad "as Windows" для удаленной сессии xrdp необходимо в файл
/etc/xrdp/reconnectwm.sh
дописать в конец следующие строки:
sleep 2
/usr/bin/setxkbmap -option numpad:microsoft
LJ Video
;( Оставить комментарий )