Как быстро вызвать экранную клавиатуру в Linux: все рабочие способы

Экранная клавиатура в 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:

  1. Откройте Settings → Keyboard → Keyboard Shortcuts.
  2. Прокрутите до раздела Universal Access.
  3. Нажмите на Screen Keyboard и назначьте комбинацию (например, Super + K).

В KDE Plasma:

  1. Перейдите в System Settings → Shortcuts → Custom Shortcuts.
  2. Создайте новый ярлык с командой florence --focus.
  3. Назначьте комбинацию (например, Ctrl + Alt + K).

Критичный нюанс: В Wayland (по умолчанию в Ubuntu 22.04+) горячие клавиши для Onboard могут не работать. В этом случае используйте X11 (выберите сессию при логине).

📊 Какую экранную клавиатуру вы используете в Linux?
Onboard
Florence
Matchbox-keyboard
Другую
Не пользуюсь

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 46 Onboard может не отображать символы из-за изменения 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).-->