Виртуальная (экранная) клавиатура в Linux часто появляется автоматически при подключении к устройству через RDP, использовании планшетного режима или в системах с сенсорными экранами. Для большинства пользователей она становится ненужным элементом, занимающим место на экране и случайно активирующимся при нажатии на панель задач. Особенно это раздражает в серверных окружениях, где физическая клавиатура всегда подключена, или на Ultrabook-ах с ограниченным пространством дисплея.
Проблема усложняется тем, что в разных дистрибутивах и графических оболочках (GNOME, KDE Plasma, XFCE) механизмы управления виртуальной клавиатурой отличаются. Где-то достаточно отключить службу через systemd, а где-то требуется редактировать конфигурационные файлы или даже пересобирать пакеты. В этой статье мы разберём все актуальные способы — от простых кликов в GUI до ручного удаления компонентов для опытных пользователей.
1. Проверка активной виртуальной клавиатуры
Прежде чем отключать клавиатуру, убедитесь, что она действительно запущена как отдельный процесс. В большинстве дистрибутивов за экранную клавиатуру отвечают следующие программы:
- 🔹 Onboard — стандартная клавиатура для GNOME (Ubuntu, Fedora, Debian)
- 🔹 Florence — альтернатива для KDE Plasma и XFCE
- 🔹 Matchbox-keyboard — лёгкая клавиатура для встраиваемых систем
- 🔹 Caribou — используется в GNOME Shell для планшетного режима
Чтобы проверить, какой процесс отвечает за виртуальную клавиатуру на вашем устройстве, выполните команду:
ps aux | grep -E 'onboard|florence|matchbox|caribou'
Если команда вернула пустой результат, но клавиатура всё равно появляется, возможно, она встроена в составную службу (например, gnome-shell или plasmashell). В этом случае потребуются более глубокие настройки.
2. Отключение через графический интерфейс (GUI)
Самый простой способ — использовать встроенные настройки системы. Рассмотрим процесс для популярных окружений:
2.1. GNOME (Ubuntu, Fedora, Debian)
В GNOME виртуальная клавиатура обычно управляется через Универсальный доступ:
- Откройте
Настройки → Универсальный доступ. - Перейдите на вкладку
Клавиатура. - Отключите опцию
Экранная клавиатура(илиOnboard). - Если опция отсутствует, проверьте раздел
Планшетный режим— там может быть отдельный переключатель для Caribou.
Закройте все приложения, использующие клавиатуру|
Проверьте, не активен ли планшетный режим|
Сохраните открытые документы|
Перезагрузите сессию после изменений-->
Если переключателя нет, возможно, клавиатура запускается автоматически при старте системы. Проверьте автозагрузку:
gnome-session-properties
В открывшемся окне найдите Onboard или Caribou и снимите галочку.
2.2. KDE Plasma
В KDE Plasma экранная клавиатура (Florence или Kvkbd) управляется через:
Настройки системы → Рабочее пространство → Автозапуск.- Найдите
FlorenceилиVirtual Keyboardи отключите. - Если клавиатура встроена в панель, кликните по ней правой кнопкой и выберите
Удалить этот апплет.
В некоторых версиях KDE клавиатура может активироваться через KWin (композитный менеджер). Чтобы это проверить, выполните:
kwin --replace &
Если клавиатура исчезла — проблема в настройках KWin. Их можно сбросить через:
rm -rf ~/.config/kwinrc
3. Отключение через терминал (systemd)
Если виртуальная клавиатура запускается как служба, её можно отключить через systemd. Сначала проверьте активные сервисы:
systemctl --user list-units | grep -i keyboard
Типичные имена служб:
- 🔹
onboard.service— для Onboard - 🔹
florence.service— для Florence - 🔹
caribou.service— для Caribou в GNOME
Чтобы отключить службу и запретить её автозапуск, выполните:
systemctl --user stop onboard.service
systemctl --user disable onboard.service
Если служба системная (не пользовательская), удалите флаг --user. После отключения перезагрузите сессию:
loginctl terminate-user $USER
Что делать, если служба отсутствует в systemd?
Если команда systemctl не находит службу, но клавиатура всё равно запускается, проверьте:
1. Autostart-файлы в ~/.config/autostart/ — удалите файлы с названиями onboard.desktop, florence.desktop.
2. Скрипты в /etc/xdg/autostart/ — требуются права root для редактирования.
3. Настройки дисплейного менеджера (например, lightdm или gdm3) — иногда клавиатура запускается на этапе входа в систему.
4. Удаление пакетов виртуальной клавиатуры
Если вы уверены, что экранная клавиатура вам не нужна, самый радикальный способ — удалить её полностью. Список пакетов для популярных дистрибутивов:
| Дистрибутив | Пакет | Команда удаления |
|---|---|---|
| Ubuntu/Debian | onboard, caribou |
sudo apt purge onboard caribou |
| Fedora/RHEL | onboard, florence |
sudo dnf remove onboard florence |
| Arch Linux | onboard, matchbox-keyboard |
sudo pacman -Rns onboard matchbox-keyboard |
| OpenSUSE | onboard, caribou |
sudo zypper remove onboard caribou |
После удаления пакетов очистите зависимости:
sudo apt autoremove # Для Debian/Ubuntu
sudo dnf autoremove # Для Fedora
⚠️ Внимание: Удаление пакетов может повлиять на работу планшетного режима или специальных возможностей. Если вы используете сенсорный экран, предварительно проверьте, не нарушится ли функциональность жестов.
5. Отключение для конкретных приложений
Иногда виртуальная клавиатура появляется только в определенных программах (например, в LibreOffice, GIMP или Wine). Это связано с настройками IM (Input Method) — системы ввода текста. Чтобы отключить её для конкретного приложения:
- Установите утилиту
im-config:sudo apt install im-config # Debian/Ubuntu - Запустите настройку:
im-config - Выберите
NoneилиDefaultвместоIBus/Fcitx. - Перезапустите приложение.
Для Wine может потребоваться дополнительная настройка. Создайте или отредактируйте файл ~/.config/wine/user.reg и добавьте:
[Software\\Wine\\X11 Driver]
"UseTakeFocus"="N"
Это предотвратит автоматическое появление виртуальной клавиатуры при активации полей ввода в Windows-приложениях.
6. Отключение в консольном режиме (без GUI)
Если вы работаете на сервере или в системе без графического интерфейса, но виртуальная клавиатура всё равно запускается (например, через framebuffer или DRM), проверьте следующие моменты:
- 🔹 Служба
getty— иногда в/etc/systemd/logind.confвключена опцияNAutoVTs=6, которая может запускать ненужные терминалы. Замените её наNAutoVTs=1. - 🔹 Пакет
fbset— если установлен, удалите его:sudo apt purge fbset - 🔹 Конфигурация ядра — проверьте параметры загрузки в
/etc/default/grub. Убедитесь, что отсутствуют флагиvt.handoff=7илиfbcon=map:10.
Для полного отключения виртуальных терминалов (если они не нужны) добавьте в /etc/default/grub:
GRUB_CMDLINE_LINUX_DEFAULT="console=tty1"
Затем обновите конфигурацию GRUB:
sudo update-grub
⚠️ Внимание: Отключение виртуальных терминалов (tty2–tty6) может усложнить восстановление системы при сбоях. Оставьте хотя бы один резервный терминал (tty2).
7. Решение проблем после отключения
После деактивации виртуальной клавиатуры могут возникнуть побочные эффекты. Рассмотрим типичные случаи и способы их устранения:
| Проблема | Причина | Решение |
|---|---|---|
| Не работают горячие клавиши | Конфликт с ibus или fcitx |
Переустановите пакет gnome-settings-daemon или сбросьте настройки через dconf reset -f /org/gnome/desktop/input-sources/ |
| Исчезла панель задач | Удалены зависимости GNOME или KDE | Восстановите пакеты через sudo apt install --reinstall gnome-shell или plasmashell |
| Не работает сенсорный экран | Удален пакет libinput или xserver-xorg-input-libinput |
Переустановите драйверы: sudo apt install xserver-xorg-input-libinput |
| Клавиатура появляется после обновления | Пакет был установлен как зависимость | Запретите автоматическую установку: sudo apt-mark hold onboard |
Если после манипуляций система стала нестабильной, восстановите исходные настройки через:
dconf reset -f / # Для GNOME
kbuildsycoca5 --noincremental # Для KDE
FAQ: Частые вопросы
Можно ли отключить виртуальную клавиатуру только для одного пользователя?
Да. Если клавиатура запускается через systemd --user, отключите службу только для своей сессии:
systemctl --user disable onboard.service
Для автозагрузки удалите файлы из ~/.config/autostart/ — они действуют только на текущего пользователя.
Почему клавиатура появляется при подключении по SSH?
Это связано с перенаправлением графического интерфейса (X11 Forwarding). Отключите его на стороне сервера в файле /etc/ssh/sshd_config:
X11Forwarding no
Затем перезапустите sshd:
sudo systemctl restart sshd
Как вернуть клавиатуру, если она понадобилась снова?
Установите пакет заново:
sudo apt install onboard
И включите службу:
systemctl --user enable --now onboard.service
Для GNOME может потребоваться перезагрузка или перелогиниться в системе.
Виртуальная клавиатура мешает в играх под Wine. Как отключить?
Добавьте в конфигурацию Wine (winecfg) параметр:
[Software\\Wine\\X11 Driver]
"UseTakeFocus"="N"
"Desktop"="800x600"
Также отключите IBus для конкретной игры через im-config.
Клавиатура появляется только в браузере. Почему?
Это особенность некоторых веб-приложений (например, Google Docs или Notion), которые пытаются определить тип устройства. Отключите её через настройки браузера:
- В Firefox: введите в адресной строке
about:config, найдитеwidget.non-native-theme.enabledи установитеfalse. - В Chrome: запустите с флагом
--disable-features=VirtualKeyboardAPI.