Как можно настроить комбинацию клавиш Ctrl+Пробел для смены раскладки клавиатуры в Astra Linux?

Я попробовал исследовать доступные опции в указанной утилите: <br/> <a href="https://wiki.astralinux.ru/pages/viewpage.action?pageId=257463424" rel="nofollow">https://wiki.astralinux.ru/pages/viewpage.action?p...</a> <br/> Однако, к сожалению, там предлагаются только определённые горячие клавиши для смены языка, такие как Win+Пробел и однократное нажатие Ctrl. Также я не смог найти аналог типографской раскладки Бирмана, которая включает знак рубля на сочетании AltGr+Р. Интересно, есть ли какие-либо альтернативные решения?
  • 11 октября 2024 г. 16:26
Ответы на вопрос 2
В Astra Linux для настройки нестандартных сочетаний клавиш, таких как Ctrl+Пробел для смены раскладки клавиатуры, можно использовать несколько подходов. 

### 1. Настройка с помощью `setxkbmap`

В терминале можно воспользоваться командой `setxkbmap` для изменения раскладки клавиатуры. Для того чтобы назначить сочетание Ctrl+Пробел для переключения раскладок, выполните следующие шаги:

1. **Создайте сценарий** для смены раскладки. Например, создайте файл `switch_layout.sh` следующим образом:

   ```bash
   #!/bin/bash
   current_layout=$(setxkbmap -query | grep layout | awk '{print $2}')
   new_layout="us"  # Замените на нужную раскладку, например, "ru" для русской
   if [ "$current_layout" = "$new_layout" ]; then
       setxkbmap "us"  # Сменить на английскую
   else
       setxkbmap "ru"  # Сменить на русскую
   fi
   ```

   Заменяйте `us` и `ru` на нужные вам раскладки.

2. **Сделайте файл исполняемым:**

   ```bash
   chmod +x switch_layout.sh
   ```

3. **Настройте комбинацию клавиш** для запуска этого скрипта. Для этого можно использовать инструмент для настройки горячих клавиш в настольной среде (например, GNOME, XFCE и т. д.), добавив новую команду с комбинацией клавиш `Ctrl+Пробел`.

### 2. Использование `xbindkeys`

Если стандартные средства не позволяют, можно рассмотреть вариант с `xbindkeys`. 

1. Установите `xbindkeys` через пакетный менеджер.

   ```bash
   sudo apt install xbindkeys xbindkeys-config
   ```

2. Создайте файл конфигурации, если он ещё не существует:

   ```bash
   xbindkeys --defaults > ~/.xbindkeysrc
   ```

3. Отредактируйте файл `~/.xbindkeysrc`, добавив следующий код:

   ```
   # Смена раскладки
   "bash ~/path/to/switch_layout.sh"
       Control + Space
   ```

   Не забудьте заменить `~/path/to/switch_layout.sh` на полный путь к вашему скрипту.

4. **Запустите `xbindkeys`:**

   ```bash
   xbindkeys
   ```

### 3. Для раскладки Бирмана

Касательно типографской раскладки Бирмана, если она недоступна в системе, вы можете создать свою настройку раскладки, основываясь на стандартных конфигурациях. Для этого может понадобиться внести изменения в файлы раскладок, которые находятся обычно в `/usr/share/X11/xkb/symbols/`. 

Также можно поискать готовые файлы раскладок в интернет-сообществе пользователей Astra Linux.

### Заключение

Теперь у вас есть несколько способов настроить смену раскладок клавиатуры с помощью комбинации клавиш Ctrl+Пробел в Astra Linux. Обязательно тестируйте настройки и при необходимости вносите коррективы.
Смена раскладки на нужную комбинацию: 
Зайти в «Редактор горячих клавиш Fly» (keyshortcutrc), а затем:
Действие → Клавиатура → Переключить раскладку → Ввести комбинацию клавиш

Включение типографской раскладки:
Панель управления → Раскладка клавиатуры → Опции XKB → Разное → Включить дополнительные типографские символы

Имейте в виду, что в ней есть не все символы актуальной раскладки Ильи Бирмана, в том числе отсутствует знак рубля на р/h. Для работы с английской раскладкой нужно изменить её вариант basic на unicode-intl, а в русской раскладке можно оставить вариант winkeys.
Похожие вопросы