Экранная клавиатура на Linux — незаменимый инструмент для устройств с сенсорными экранами, планшетов под управлением дистрибутивов, а также для пользователей с ограниченными физическими возможностями. В отличие от Windows или macOS, где виртуальная клавиатура интегрирована в систему по умолчанию, в большинстве Linux-дистрибутивов её приходится устанавливать и настраивать отдельно. Это пугает новичков, но на практике процесс занимает не больше 10 минут при правильном подходе.
Основная сложность заключается в разнообразии дистрибутивов и графических сред (GNOME, KDE Plasma, XFCE и др.), каждая из которых может требовать своих решений. К примеру, в Ubuntu с оболочкой GNOME проще всего использовать Onboard, тогда как для KDE больше подходит Florence. Ещё одна ловушка — отсутствие автозапуска после перезагрузки, что решается редактированием конфигурационных файлов или добавлением в автозагрузку.
В этой статье мы разберём все актуальные способы включения виртуальной клавиатуры, от установки стандартных пакетов до ручной компиляции исходников для редких дистрибутивов. Особое внимание уделим настройке отображения при запуске системы, изменению языка раскладки и решению типичных проблем вроде «не отображаются символы» или «клавиатура пропадает после сна».
1. Стандартные способы включения виртуальной клавиатуры
Большинство современных дистрибутивов предлагают встроенные или быстро устанавливаемые решения для экранной клавиатуры. Их главное преимущество — минимальные требования к системе и совместимость с большинством графических сред. Рассмотрим три основных варианта.
Onboard — самое популярное решение для GNOME-based систем (Ubuntu, Debian, Fedora). Оно поддерживает мультитач, автоподсказки и темы оформления. Установить его можно одной командой:
sudo apt install onboard # Для Debian/Ubuntu
sudo dnf install onboard # Для Fedora
Florence — альтернатива для KDE Plasma и других сред. Отличается компактным интерфейсом и поддержкой плагинов. Установка:
sudo apt install florence # Debian/Ubuntu
sudo pacman -S florence # Arch Linux
GOK (GNOME Onscreen Keyboard) — устаревшее, но всё ещё рабочее решение для старых версий GNOME 2. Актуально для легковесных дистрибутивов вроде Lubuntu или Puppy Linux.
- 🔹 Onboard: оптимален для Ubuntu и производных (Linux Mint, Pop!_OS)
- 🔹 Florence: лучший выбор для KDE Neon, Kubuntu, OpenSUSE
- 🔹 Matchbox-keyboard: минималистичная клавиатура для встраиваемых систем (Raspberry Pi)
- 🔹 Caribou: альтернатива GOK для современных версий GNOME
После установки любого из пакетов клавиатура появится в меню приложений. Чтобы запустить её вручную, используйте команду onboard, florence или matchbox-keyboard в терминале. Для автозапуска потребуется дополнительная настройка (об этом — в разделе 4).
2. Установка виртуальной клавиатуры через терминал
Если графический интерфейс недоступен (например, на сервере с подключённым по VNC или на устройстве без физической клавиатуры), установку придётся выполнять через консоль. Процесс почти не отличается от стандартного, но требует знания нескольких команд.
Для начала обновите списки пакетов (актуально для Debian/Ubuntu):
sudo apt update && sudo apt upgrade -y
Затем установите выбранную клавиатуру. Примеры для разных дистрибутивов:
| Дистрибутив | Команда для Onboard | Команда для Florence |
|---|---|---|
| Debian/Ubuntu | sudo apt install onboard |
sudo apt install florence |
| Fedora/RHEL | sudo dnf install onboard |
sudo dnf install florence |
| Arch Linux | sudo pacman -S onboard |
sudo pacman -S florence |
| OpenSUSE | sudo zypper install onboard |
sudo zypper install florence |
После установки запустите клавиатуру командой (например, для Onboard):
onboard &
Символ & в конце позволяет запустить процесс в фоновом режиме, не блокируя терминал. Если клавиатура не появляется, проверьте зависимости:
sudo apt install --fix-missing # Для Debian/Ubuntu
⚠️ Внимание: На некоторых дистрибутивах (например, Alpine Linux) может потребоваться ручная сборка из исходников. В этом случае следите за зависимостями в файле README репозитория проекта.
3. Настройка автозапуска виртуальной клавиатуры
По умолчанию экранная клавиатура не запускается автоматически при старте системы. Чтобы исправить это, нужно добавить её в автозагрузку. Способ зависит от графической среды.
Для GNOME (Ubuntu, Fedora):
- Откройте
Настройки → Приложения при запуске. - Нажмите «Добавить» и укажите команду запуска (например,
onboard). - Сохраните изменения и перезагрузите систему.
Для KDE Plasma:
- Перейдите в
Настройки системы → Автозапуск. - Нажмите «Добавить программу» и выберите Florence из списка.
- Установите флажок «Запускать при входе в систему».
Для XFCE (Xubuntu):
- Откройте
Настройки → Сеанс и запуск. - Во вкладке «Автозапуск приложений» добавьте новую запись с командой
onboard.
Альтернативный способ (работает для всех сред) — добавить команду в файл ~/.config/autostart/onboard.desktop:
[Desktop Entry]
Type=Application
Name=Onboard
Exec=onboard
X-GNOME-Autostart-enabled=true
⚠️ Внимание: Если виртуальная клавиатура мешает при работе с физической, настройте условие автозапуска только при подключении сенсорного экрана. Для этого используйте утилиту xinput для detection устройств.
Добавили команду в автозагрузку|Перезагрузили систему|Клавиатура появилась автоматически|Проверена работа с физической клавиатурой-->
4. Изменение языка и раскладки
По умолчанию виртуальная клавиатура использует язык системы, но его можно изменить вручную. Для Onboard и Florence процесс отличается.
Onboard:
- Запустите клавиатуру и откройте её настройки (значок шестерёнки).
- Перейдите во вкладку «Раскладки» (
Layouts). - Добавьте нужные языки (например,
Russian,Ukrainian) и установите их порядок. - Сохраните изменения — новые раскладки появятся в панели переключения.
Florence:
- Откройте файл конфигурации:
~/.config/florence/config. - Найдите строку
keyboard=usи заменитеusна нужный код (например,ruдля русского). - Перезапустите Florence:
pkill florence && florence &
Список поддерживаемых кодов языков:
| Язык | Код для Onboard | Код для Florence |
|---|---|---|
| Русский | ru |
ru |
| Украинский | ua |
ua |
| Английский (США) | us |
us |
| Немецкий | de |
de |
| Французский | fr |
fr |
Если нужного языка нет в списке, его можно добавить вручную, скачав файл раскладки (формат .layout для Onboard) с официального репозитория проекта на GitHub.
5. Решение типичных проблем
Даже после правильной установки виртуальная клавиатура может работать некорректно. Рассмотрим самые распространённые ошибки и способы их устранения.
Проблема 1: Клавиатура не появляется после установки
- 🔹 Проверьте, запущен ли процесс:
ps aux | grep onboard. - 🔹 Убедитесь, что нет конфликтов с другими экранными клавиатурами (удалите дубликаты).
- 🔹 Попробуйте запустить с правами суперпользователя:
sudo onboard(только для диагностики!).
Проблема 2: Не работают символы или раскладка
- 🔹 Переустановите пакеты шрифтов:
sudo apt install ttf-ubuntu-font-family. - 🔹 Проверьте настройки языка в системе:
locale. - 🔹 Сбросьте конфигурацию Onboard:
rm -rf ~/.config/onboard.
Проблема 3: Клавиатура пропадает после сна/гибернации
- 🔹 Добавьте в автозагрузку скрипт перезапуска:
pkill onboard && onboard &. - 🔹 Отключите энергосбережение для USB-устройств в BIOS.
- 🔹 Обновите драйверы видеокарты (актуально для NVIDIA Optimus).
Проблема 4: Высокая загрузка ЦП
- 🔹 Отключите анимации в настройках клавиатуры.
- 🔹 Переключитесь на лёгкую тему оформления (например,
Adwaita). - 🔹 Попробуйте альтернативную клавиатуру (Matchbox-keyboard потребляет меньше ресурсов).
⚠️ Внимание: Если проблема сохраняется после всех манипуляций, проверьте логи системы на ошибки: journalctl -xe | grep -i keyboard. Часто причиной бывает конфликт с менеджером композитинга (Compiz, Picom).
Как проверить конфликты с композитингом?
Отключите композитинг командой killall compiz (для GNOME) или picom --kill (для других сред). Если клавиатура заработала — проблема в настройках эффектов. Решение: отключите тени или прозрачность в параметрах оконного менеджера.
6. Альтернативные виртуальные клавиатуры для Linux
Если стандартные решения не подходят, рассмотрите специализированные варианты. Они предлагают уникальные функции, например, поддержку жестов или интеграцию с речевым вводом.
1. Kvkbd (KDE Virtual Keyboard)
Лёгкая клавиатура для KDE, поддерживающая плагины и кастомизацию. Установка:
sudo apt install kvkbd
2. XVkbd
Минималистичная клавиатура для X11, работает даже на слабых машинах. Компиляция из исходников:
git clone https://github.com/tora-sama/xvkbd
cd xvkbd
./configure && make
sudo make install
3. CellWriter
Клавиатура с рукописным вводом — распознаёт символы, написанные стилусом или мышью. Идеально для графических планшетов:
sudo apt install cellwriter
4. Fcitx5 + Chewing
Решение для ввода иероглифов (китайский, японский). Требует настройки Fcitx:
sudo apt install fcitx5 fcitx5-chinese-addons
| Клавиатура | Преимущества | Недостатки |
|---|---|---|
| Kvkbd | Интеграция с KDE, плагины | Только для KDE Plasma |
| XVkbd | Работает без графической среды | Устаревший интерфейс |
| CellWriter | Рукописный ввод, поддержка стилуса | Требует обучения распознаванию |
| Fcitx5 | Поддержка азиатских языков | Сложная настройка |
Для устройств с сенсорным экраном лучшим выбором станет Onboard с включённой опцией Touch Mode (настройка в Preferences → Behavior). Это значительно улучшает точность нажатий и добавляет визуальную обратную связь.
7. Виртуальная клавиатура для серверов без GUI
Если вы подключаетесь к Linux-серверу по SSH или VNC без графического интерфейса, стандартные решения вроде Onboard не подойдут. В этом случае используйте:
1. fbkeyboard
Клавиатура для фреймбуфера, работает без X11. Установка:
sudo apt install fbkeyboard
Запуск:
sudo fbkeyboard -device /dev/fb0
2. SVKBD (Simple Virtual Keyboard)
Минималистичная клавиатура для Wayland или X11. Компиляция:
git clone https://github.com/milki/svkbd
cd svkbd
make
sudo make install
3. TTY-клавиатура на базе python
Если даже фреймбуфер недоступен, можно создать текстовую клавиатуру с помощью скрипта:
sudo apt install python3-curses
wget https://raw.githubusercontent.com/valr/curses-ui/master/keyboard.py
python3 keyboard.py
⚠️ Внимание: Для серверов с Wayland (например, Fedora Server) может потребоваться ручная настройка переменных окруженияWAYLAND_DISPLAYиXDG_RUNTIME_DIR.
8. Оптимизация виртуальной клавиатуры для специфических задач
В зависимости от сценария использования (планшет, киоск, устройство для людей с ограниченными возможностями) виртуальную клавиатуру можно адаптировать под конкретные нужды.
Для планшетов:
- 🔹 Увеличьте размер кнопок в настройках Onboard (
Preferences → Theme → Button Size). - 🔹 Включите режим
Dock to Screen Edgeдля автоматического прикрепления к нижней части экрана. - 🔹 Отключите звуки нажатий:
Preferences → Sound → Mute.
Для киосков (public terminals):
- 🔹 Заблокируйте доступ к настройкам клавиатуры через
dconf-editor. - 🔹 Установите пароль на изменение конфигурации:
gsettings set org.onboard.lockdown true. - 🔹 Ограничьте набор символов (например, только цифры для терминалов оплаты).
Для людей с ограниченными возможностями:
- 🔹 Включите режим
Scan Modeв Onboard (последовательное подсвечивание кнопок). - 🔹 Настройте голосовое сопровождение нажатий через eSpeak:
sudo apt install espeak
gsettings set org.onboard.speech enable true
Для геймеров (эмуляция клавиш):
- 🔹 Используйте Florence с плагином
Gamepad Emulation. - 🔹 Настройте макросы для часто используемых комбинаций (например,
Ctrl+Alt+Del).
FAQ: Частые вопросы о виртуальной клавиатуре на Linux
Можно ли использовать виртуальную клавиатуру в терминале (TTY) без графического интерфейса?
Да, но выбор ограничен. Подойдёт fbkeyboard (для фреймбуфера) или самописные решения на python с библиотекой curses. Для Wayland потребуется svkbd или аналоги. Главное условие — наличие драйвера для вашего дисплея в консольном режиме.
Как сделать так, чтобы виртуальная клавиатура появлялась только при подключении сенсорного экрана?
Используйте скрипт с проверкой устройств через xinput. Пример:
#!/bin/bash
if xinput list | grep -q "TouchScreen"; then
onboard &
fi
Добавьте этот скрипт в автозагрузку. Замените TouchScreen на имя вашего устройства (узнать его можно командой xinput list).
Почему виртуальная клавиатура не отображает кириллицу, хотя язык системы — русский?
Проблема обычно в отсутствии шрифтов или неправильных настройках локали. Выполните:
sudo apt install fonts-dejavu-core ttf-ubuntu-font-familysudo locale-gen ru_RU.UTF-8sudo dpkg-reconfigure locales(выберитеru_RU.UTF-8)
После этого перезапустите клавиатуру. Если проблема осталась, проверьте настройки в ~/.config/onboard/layouts.
Как отключить виртуальную клавиатуру на постоянной основе?
Удалите пакет:
sudo apt purge onboard florence # Для Debian/Ubuntu
sudo dnf remove onboard florence # Для Fedora
Удалите файлы конфигурации:
rm -rf ~/.config/onboard ~/.config/florence
И удалите запись из автозагрузки (см. раздел 3).
Можно ли использовать виртуальную клавиатуру Linux на Android через Termux?
Да, но с ограничениями. Установите Termux:X11 из F-Droid, затем в Termux выполните:
pkg install onboard
termux-x11 :0 & onboard
Клавиатура отобразится в окне Termux:X11. Для работы потребуется Android 10+ и поддержка VNC-сервера.