maddot.ru Linux → Xubuntu - смена раскладки в обе стороны
dd
 
Рубрики
» Компьютеры
» Операционные системы
» Android
» Linux
» Windows
» Разное



» Все статьи (Списком)
Популярное
» Все заметки (Списком)
От Yuriy 23:27 28.09
От Айдар 10:48 04.02
От Роман 22:26 15.06
От Евгений 16:46 13.06
От Mike 00:01 23.04
От Вячеслав 20:44 22.04
От Сергей 18:15 11.02
От Надежда 10:51 24.05
От Надежда 10:42 24.05
От bakaut 17:33 14.02
От vlasmet 08:28 18.11
От Mike 11:51 17.05




Друзья
Хостинг Макхост
Качественный платный хостинг. Широкий спектр качественных хостинг услуг с 2004 года.
Ваш IP: 54.163.209.109
Вы на узле: 178.208.83.19
URL: maddot.ru
Время сервера: 2017-12-17T18:58:19+03:00

Xubuntu - смена раскладки в обе стороны

16 Июл 2014

Доброго дня или ночи, уважаемый читатель моего скромного блога. Сегодня я расскажу о небольшом трюке, который позволит переключать раскладку клавиатуры в Xubuntu Linux в обе стороны. Это окажется полезным, если ты используешь болшее количество раскладок в системе, нежели две стандартных для большинства пользователей - Русскую и Английскую.

Для начало следует определить, как пишутся краткие названия для установленных у тебя в системе раскладок. Для этого следует просмотреть каталог /usr/share/X11/xkb/symbols/:

$ ls /usr/share/X11/xkb/symbols/
af        cm            gn       kz              nec_vndr    sk
al        cn            gr       la              ng          sn
altwin    compose       group    latam           nl          sony_vndr
am        ctrl          hp_vndr  latin           no          srvr_ctrl
apl       cz            hr       level3          nokia_vndr  sun_vndr
ara       de            hu       level5          np          sy
at        digital_vndr  ie       lk              olpc        terminate
az        dk            il       lt              pc          th
ba        ee            in       lv              ph          tj
bd        empty         inet     ma              pk          tm
be        epo           iq       macintosh_vndr  pl          tr
bg        es            ir       mao             pt          tw
br        et            is       md              ro          typo
brai      eurosign      it       me              rs          tz
bt        fi            jp       mk              ru          ua
bw        fo            ke       ml              rupeesign   us
by        fr            keypad   mm              se          uz
ca        fujitsu_vndr  kg       mn              sgi_vndr    vn
capslock  gb            kh       mt              sharp_vndr  xfree68_vndr
cd        ge            kpdl     mv              shift       za
ch        gh            kr       nbsp            si
Для примера я буду использовать три раскладки - Русскую, Английскую и Украинскую. Для смены раскладки будет использоваться стандартная утилита: setxkbmap. Принцип будет такой - с помощью конструкции switch-case в скрипте мы укажем список необходимых вариантов раскладки клавиатуры, в первом скрипте раскладка будет производиться смена раскладки в одну сторону, а во втором в обратную. Для указания текущей позиции раскладки будет использоваться файл для текущей конфигурации - ~/xkb-switch/.xkb-switch.fb - ему необходимо задать права на запись и чтение. Это обычный текстовый файл, который можно создать самому (по умолчанию скрипт создаст его, если на каталог ~/xkb-switch будет задано право на запись) с помощью команды:
touch ~/xkb-switch/.xkb-switch.fb
chmod 0777 ~/xkb-switch/.xkb-switch.fb
Скрипты xkbsw-right.sh и xkbsw-left.sh создадим в каталоге ~/xkb-switch/ и зададим им права на исполнение (chmod +x ~/xkb-switch/xkbsw-*.sh). Далее запуск этих скриптов будет необходимо добавить на запуск по горячим клавишам (это делается через графический интерфейс в Настройках системы->Клавиатура). P.S. - "~/" означает в Linux домашний каталог текущего пользователя.
Итак, сами скрипты:
xkbsw-right.sh
#!/bin/bash

now=$(cat ~/xkb-switch/.xkb-switch.fb)
case "$now" in
"1")
    setxkbmap -layout ru,us,ua
    echo 2 > ~/xkb-switch/.xkb-switch.fb
    ;;
"2")
    setxkbmap -layout us,ua,ru
    echo 3 > ~/xkb-switch/.xkb-switch.fb
    ;;
"3")
    setxkbmap -layout ua,ru,us
    echo 1 > ~/xkb-switch/.xkb-switch.fb
    ;;
*)
    echo 1 > ~/xkb-switch/.xkb-switch.fb
    ;;
esac
xkbsw-left.sh
#!/bin/bash

now=$(cat ~/xkb-switch/.xkb-switch.fb)
case "$now" in
"1")
    setxkbmap -layout ua,ru,us
    echo 3 > ~/xkb-switch/.xkb-switch.fb
    ;;
"2")
    setxkbmap -layout us,ua,ru
    echo 1 > ~/xkb-switch/.xkb-switch.fb
    ;;
"3")
    setxkbmap -layout ru,us,ua
    echo 2 > ~/xkb-switch/.xkb-switch.fb
    ;;
*)
    echo 1 > ~/xkb-switch/.xkb-switch.fb
    ;;
esac
Обрати внимание - раскладки без пробела после запятых. Первая раскладка - та, которая будет установлена в системе после выполнения команды. Последующие - те, между которыми можно будет переключаться (через обычный CTRL+SHIFT), если указать одну раскладку - то выбор при переключении исчезнет.


ρ1971
Рубрика → Linux
Метки: ubuntu linux раскладка удобство



B s i

 




Счетчики 

Яндекс.Метрика