January 18, 2023
Определить текущую раскладку BASH (linux)
За управление раскладкой в консоли отвечает команда setxkbmap, а при запуске с параметром -print она показывает текущее положение дел.
$ setxkbmap -print
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete+ledscroll(group_lock)" };
xkb_symbols { include "pc+ru+us:2+inet(evdev)+compose(caps)" };
xkb_geometry { include "pc(pc105)" };
};Если немного поиграться, можно достать вот эти вот ru:
$ setxkbmap -print | sed -n 's#xkb_symbols[^"]*"\([^"]*\)".*$#\1#p' | awk -F+ '{print $2}'
ru