Экранная клавиатура в Linux не запускается автоматически при подключении сенсорного экрана или поломке физической клавиатуры — её нужно активировать вручную через терминал, системные настройки или горячие клавиши. В Ubuntu 22.04/24.04, Debian 12 и Fedora 38+ за это отвечает пакет onboard (для GNOME) или florence (для KDE/XFCE), но их часто приходится устанавливать отдельно. Если после команды onboard в терминале появляется ошибка Command not found, значит виртуальная клавиатура не установлена — это первая причина, почему она не открывается.
В 80% случаев проблема решается установкой пакета через apt или dnf, но в некоторых дистрибутивах (например, Arch Linux) требуется дополнительная настройка автозапуска. Ниже разберём все способы вызова экранной клавиатуры — от стандартных до альтернативных (включая matchbox-keyboard для минималистичных окружений). Особое внимание уделим ситуациям, когда физическая клавиатура полностью отказывает, и остаётся только мышь или сенсорный экран.
1. Стандартный способ: установка и запуск Onboard (GNOME/Unity)
Onboard — официальная экранная клавиатура для окружений GNOME и Unity, поддерживаемая в большинстве дистрибутивов. Она интегрируется в системный трей и позволяет переключаться между раскладками, но часто отсутствует "из коробки". Чтобы установить её в Ubuntu/Debian, выполните:
sudo apt update && sudo apt install onboard
Для Fedora/RHEL используйте:
sudo dnf install onboard
После установки клавиатура запускается:
- 🖱️ Через меню приложений (введите "Onboard" в поиске).
- 🔠 Командой
onboardв терминале. - ⚙️ Через настройки специальных возможностей (
Settings → Universal Access → Screen Keyboard).
Если Onboard не появляется в трее, проверьте автозапуск:
onboard --debug
Эта команда выведет логи ошибок, если клавиатура не отображается из-за конфликта с композитором (например, в Wayland).
2. Альтернатива для KDE Plasma: Florence
В окружении KDE Plasma (используется в Kubuntu, KDE Neon) стандартным решением является Florence — виртуальная клавиатура с поддержкой тем и макетов. Установите её:
sudo apt install florence # Debian/Ubuntu
sudo dnf install florence # Fedora
Запуск:
- 🖱️ Через
KMenu → Utilities → Florence Virtual Keyboard. - 🔠 Командой
florenceв терминале. - ⌨️ Горячей клавишей (настраивается в
Settings → Shortcuts).
Важно: В KDE Florence может конфликтовать с Onboard. Если обе клавиатуры установлены, отключите одну из них в автозагрузке.
| Дистрибутив | Пакет | Команда запуска | Окружение |
|---|---|---|---|
| Ubuntu 22.04+ | onboard |
onboard |
GNOME/Unity |
| Kubuntu 22.04+ | florence |
florence |
KDE Plasma |
| Fedora 38+ | onboard или florence |
onboard / florence |
GNOME/KDE |
| Arch Linux | onboard (AUR) |
onboard |
Любое |
3. Горячие клавиши для быстрого вызова
Если физическая клавиатура работает частично, можно назначить комбинацию для вызова экранной клавиатуры. В GNOME:
- Откройте
Settings → Keyboard → Keyboard Shortcuts. - Прокрутите до раздела
Universal Access. - Нажмите на
Screen Keyboardи назначьте комбинацию (например,Super + K).
В KDE Plasma:
- Перейдите в
System Settings → Shortcuts → Custom Shortcuts. - Создайте новый ярлык с командой
florence --focus. - Назначьте комбинацию (например,
Ctrl + Alt + K).
Критичный нюанс: В Wayland (по умолчанию в Ubuntu 22.04+) горячие клавиши для Onboard могут не работать. В этом случае используйте X11 (выберите сессию при логине).
4. Запуск через терминал (если GUI недоступен)
Если графический интерфейс не отвечает или клавиатура сломана полностью, экранную клавиатуру можно запустить через TTY или удалённое подключение (SSH). Основные команды:
Для Onboard (GNOME)
onboard --no-splash --xoffset 100 --yoffset 100
Для Florence (KDE)
florence --no-gnome --position 100,100
Для минималистичных систем (например, Raspberry Pi)
matchbox-keyboard
Параметры --xoffset и --yoffset смещают окно клавиатуры, если оно открывается за пределами экрана. Если команда не работает, проверьте:
- 📦 Установлен ли пакет (
dpkg -l | grep onboard). - 🖥️ Запущен ли X-сервер (
echo $DISPLAYдолжен вернуть:0или:1). - 🔄 Права пользователя (запускайте от своего аккаунта, не от
root).
⚠️ Внимание: В Wayland терминальные команды дляOnboardмогут не сработать из-за ограничений безопасности. ИспользуйтеXWaylandили переключитесь наX11.
5. Экранная клавиатура для серверов и минималистичных систем
На системах без графического интерфейса (например, Ubuntu Server) или с минималистичными окружениями (LXDE, Openbox) стандартные решения вроде Onboard не подходят. Вместо них используйте:
- 🐧
matchbox-keyboard— лёгкая клавиатура для встраиваемых систем (установка:sudo apt install matchbox-keyboard). - 🖥️
xvkbd— виртуальная клавиатура дляX11(sudo apt install xvkbd). - 🔧
kvkbd— альтернатива для KDE (sudo apt install kvkbd).
Пример запуска matchbox-keyboard с кастомными параметрами:
matchbox-keyboard --vkeyboard "Full" --font "Sans 14"
Для автоматического появления клавиатуры при фокусе на поле ввода (например, в Raspberry Pi), добавьте в автозагрузку:
@matchbox-keyboard --daemon
Установлен ли X-сервер (Xorg)?|Есть ли права на запуск GUI-приложений (xhost +local:)?|Проверены ли зависимости (libgtk2.0, libx11)?|Настроен ли автозапуск для нужного пользователя?-->
6. Устранение распространённых проблем
Если экранная клавиатура не появляется, причины могут быть следующими:
| Симптом | Возможная причина | Решение |
|---|---|---|
| Клавиатура не открывается через меню | Пакет не установлен или повреждён | sudo apt install --reinstall onboard |
| Окно клавиатуры пустое | Конфликт с композитором (Wayland) | Переключитесь на X11 в экране входа |
| Горячие клавиши не работают | Конфликт с другими сочетаниями | Переназначьте клавиши в dconf-editor |
| Клавиатура открывается за экраном | Некорректные координаты окна | Используйте --xoffset и --yoffset |
Для диагностики запустите клавиатуру в режиме отладки:
onboard --debug --verbose
Обратите внимание на строки с ERROR или WARNING — они укажут на отсутствующие зависимости (например, libcanberra для звуковых сигналов).
⚠️ Внимание: В Ubuntu 24.04 с GNOME 46Onboardможет не отображать символы из-за изменения API. Решение: обновите пакет до последней версии из PPA:sudo add-apt-repository ppa:onboard/stable.
7. Настройка автозапуска при старте системы
Чтобы экранная клавиатура появлялась автоматически при входе в систему (полезно для планшетов или киосков), добавьте её в автозагрузку. Способы:
- 📋 Через GUI: В GNOME откройте
Startup Applicationsи добавьте командуonboard. - 🔧 Через конфиг: Создайте файл
~/.config/autostart/onboard.desktopсо следующим содержимым:[Desktop Entry]Type=Application
Name=Onboard
Exec=onboard
X-GNOME-Autostart-enabled=true
- 🖥️ Для KDE: Используйте
System Settings → Autostartи добавьтеflorence.
Для систем с systemd (например, Arch Linux) создайте сервис:
sudo nano /etc/systemd/system/onboard.service
Добавьте:
[Unit]
Description=Onboard Screen Keyboard
After=graphical.target
[Service]
ExecStart=/usr/bin/onboard
User=%i
Restart=on-failure
[Install]
WantedBy=graphical.target
Затем активируйте:
sudo systemctl enable onboard.service --now
8. Альтернативные решения для специфичных задач
Если стандартные клавиатуры не подходят, рассмотрите специализированные инструменты:
- 🎮
gkbd-keyboard-display— отображает текущую раскладку (полезно для стримеров). Установка:sudo apt install gkbd-capplet. - 📱
cellwriter— клавиатура с рукописным вводом (sudo apt install cellwriter). - 🔒
xneat— виртуальная клавиатура для безопасного ввода паролей (sudo apt install xneat). - 🖼️
kvkbd— клавиатура для KDE с поддержкой тем (sudo apt install kvkbd).
Для пользователей Raspberry Pi с сенсорным экраном оптимальным решением будет matchbox-keyboard с кастомной темой. Пример настройки:
matchbox-keyboard --vkeyboard "Full" --font "Sans 16" --direct-colormap
Совет: Если нужна клавиатура с поддержкой emoji или спецсимволов, установите ibus и плагин ibus-libpinyin:
sudo apt install ibus ibus-libpinyin
Как настроить прозрачность экранной клавиатуры в Onboard
Откройте конфиг ~/.config/onboard/onboard.conf и добавьте строки:
[Theme]
transparent = True
opacity = 0.8
Перезапустите Onboard для применения изменений.
FAQ: Частые вопросы
Можно ли использовать экранную клавиатуру в терминале (TTY)?
Нет, экранные клавиатуры типа Onboard или Florence требуют графического сервера (X11/Wayland). В TTY альтернативой служит screenkey (отображает нажатия) или подключение по SSH с другого устройства.
Почему клавиатура не появляется при клике на поле ввода?
Это связано с настройками автозапуска. В Onboard проверьте параметр Auto-show when editing text в настройках (Preferences → Behavior). В Florence активируйте опцию Follow input focus.
Как изменить размер клавиш?
В Onboard перейдите в Preferences → Theme и выберите тему с крупными кнопками (например, LargePrint). В Florence отредактируйте файл ~/.config/florence/config, изменив параметр key-size.
Работает ли экранная клавиатура в Docker-контейнере?
Нет, для работы Onboard или Florence требуется доступ к X-серверу хоста. В контейнере можно запустить только текстовую альтернативу, например fbkeyboard (для framebuffer).
Как отключить автозапуск экранной клавиатуры?
Удалите её из автозагрузки:
- В GNOME:
gnome-session-properties→ удалитеOnboard. - В KDE:
System Settings → Autostart→ снимите галочку сFlorence. - Для
systemd:sudo systemctl disable onboard.service.
1. Установлен ли пакет (onboard/florence).
2. Запущен ли графический сервер (X11/Wayland).
3. Нет ли конфликтов с другими приложениями (например, ibus).
4. Достаточно ли прав у пользователя (не запускайте от root).-->