Вопрос или проблема
Описание
Моя Ubuntu 24.04 с установленным fcitx зависает при переключении раскладки клавиатуры на немецкую и обратно на английскую. Переключение на tty3 и обратно иногда решает проблему, но не всегда. Все, кроме мыши, зависает. Я могу переключать tty, но не могу вызвать терминал или использовать Alt+F2 для запуска команд. Переключение настроек раскладки в настройках также приводит к зависанию компьютера.
Журнал
Вот вывод моего journalctl:
Dec 28 20:56:38 john-doe-ubuntu google-chrome.desktop[9291]: [9284:9313:1228/205638.861414:ERROR:registration_request.cc(291)] Registration response error message: DEPRECATED_ENDPOINT
Dec 28 20:56:40 john-doe-ubuntu /usr/libexec/gdm-x-session[4210]: (**) Option "fd" "52"
Dec 28 20:56:40 john-doe-ubuntu /usr/libexec/gdm-x-session[4210]: (II) event2 - Power Button: device removed
Dec 28 20:56:40 john-doe-ubuntu /usr/libexec/gdm-x-session[4210]: (**) Option "fd" "46"
Dec 28 20:56:40 john-doe-ubuntu /usr/libexec/gdm-x-session[4210]: (II) event14 - Video Bus: device removed
Dec 28 20:56:40 john-doe-ubuntu /usr/libexec/gdm-x-session[4210]: (**) Option "fd" "42"
Dec 28 20:56:40 john-doe-ubuntu /usr/libexec/gdm-x-session[4210]: (II) event13 - Video Bus: device removed
Dec 28 20:56:40 john-doe-ubuntu /usr/libexec/gdm-x-session[4210]: (**) Option "fd" "51"
Dec 28 20:56:40 john-doe-ubuntu /usr/libexec/gdm-x-session[4210]: (II) event1 - Power Button: device removed
Dec 28 20:56:40 john-doe-ubuntu /usr/libexec/gdm-x-session[4210]: (**) Option "fd" "45"
Dec 28 20:56:40 john-doe-ubuntu /usr/libexec/gdm-x-session[4210]: (II) event4 - ELAN07C6:00 04F3:32C7 Mouse: device removed
Dec 28 20:56:40 john-doe-ubuntu /usr/libexec/gdm-x-session[4210]: (**) Option "fd" "50"
Dec 28 20:56:40 john-doe-ubuntu /usr/libexec/gdm-x-session[4210]: (II) event5 - ELAN07C6:00 04F3:32C7 Touchpad: device removed
Dec 28 20:56:40 john-doe-ubuntu /usr/libexec/gdm-x-session[4210]: (**) Option "fd" "113"
Dec 28 20:56:40 john-doe-ubuntu /usr/libexec/gdm-x-session[4210]: (II) event6 - Intel HID events: device removed
Dec 28 20:56:40 john-doe-ubuntu /usr/libexec/gdm-x-session[4210]: (**) Option "fd" "48"
Dec 28 20:56:40 john-doe-ubuntu /usr/libexec/gdm-x-session[4210]: (II) event7 - Intel HID 5 button array: device removed
Dec 28 20:56:40 john-doe-ubuntu /usr/libexec/gdm-x-session[4210]: (**) Option "fd" "49"
Dec 28 20:56:40 john-doe-ubuntu /usr/libexec/gdm-x-session[4210]: (II) event3 - AT Translated Set 2 keyboard: device removed
Dec 28 20:56:40 john-doe-ubuntu /usr/libexec/gdm-x-session[4210]: (**) Option "fd" "47"
Dec 28 20:56:40 john-doe-ubuntu /usr/libexec/gdm-x-session[4210]: (II) event8 - HP WMI hotkeys: device removed
Dec 28 20:56:40 john-doe-ubuntu /usr/libexec/gdm-x-session[4210]: (II) AIGLX: Suspending AIGLX clients for VT switch
Dec 28 20:56:40 john-doe-ubuntu /usr/libexec/gdm-x-session[4210]: (II) systemd-logind: drop master for 226:1
Dec 28 20:56:40 john-doe-ubuntu kernel: rfkill: input handler enabled
Dec 28 20:56:40 john-doe-ubuntu bluetoothd[1582]: Endpoint unregistered: sender=:1.370 path=/MediaEndpoint/A2DPSource/ldac
Dec 28 20:56:40 john-doe-ubuntu bluetoothd[1582]: Endpoint unregistered: sender=:1.370 path=/MediaEndpoint/A2DPSink/aptx_hd
Dec 28 20:56:40 john-doe-ubuntu bluetoothd[1582]: Endpoint unregistered: sender=:1.370 path=/MediaEndpoint/A2DPSource/aptx_hd
Dec 28 20:56:40 john-doe-ubuntu bluetoothd[1582]: Endpoint unregistered: sender=:1.370 path=/MediaEndpoint/A2DPSink/aptx
Dec 28 20:56:40 john-doe-ubuntu gsd-media-keys[4850]: gvc_mixer_card_get_index: assertion 'GVC_IS_MIXER_CARD (card)' failed
Dec 28 20:56:40 john-doe-ubuntu gsd-media-keys[4850]: gvc_mixer_card_get_index: assertion 'GVC_IS_MIXER_CARD (card)' failed
Dec 28 20:56:40 john-doe-ubuntu gsd-media-keys[4850]: gvc_mixer_card_get_index: assertion 'GVC_IS_MIXER_CARD (card)' failed
Dec 28 20:56:40 john-doe-ubuntu gsd-media-keys[4850]: Unable to get default sink
Dec 28 20:56:40 john-doe-ubuntu bluetoothd[1582]: Endpoint unregistered: sender=:1.370 path=/MediaEndpoint/A2DPSource/aptx
Dec 28 20:56:40 john-doe-ubuntu gsd-media-keys[4850]: Unable to get default source
Dec 28 20:56:40 john-doe-ubuntu gsd-media-keys[4850]: gvc_mixer_card_get_index: assertion 'GVC_IS_MIXER_CARD (card)' failed
Dec 28 20:56:40 john-doe-ubuntu gsd-media-keys[4850]: gvc_mixer_card_get_index: assertion 'GVC_IS_MIXER_CARD (card)' failed
Dec 28 20:56:40 john-doe-ubuntu gsd-media-keys[4850]: gvc_mixer_card_get_index: assertion 'GVC_IS_MIXER_CARD (card)' failed
Dec 28 20:56:40 john-doe-ubuntu bluetoothd[1582]: Endpoint unregistered: sender=:1.370 path=/MediaEndpoint/A2DPSink/sbc
Dec 28 20:56:40 john-doe-ubuntu bluetoothd[1582]: Endpoint unregistered: sender=:1.370 path=/MediaEndpoint/A2DPSource/sbc
Dec 28 20:56:40 john-doe-ubuntu bluetoothd[1582]: Endpoint unregistered: sender=:1.370 path=/MediaEndpoint/A2DPSink/sbc_xq
Dec 28 20:56:40 john-doe-ubuntu bluetoothd[1582]: Endpoint unregistered: sender=:1.370 path=/MediaEndpoint/A2DPSource/sbc_xq
Dec 28 20:56:40 john-doe-ubuntu bluetoothd[1582]: Endpoint unregistered: sender=:1.370 path=/MediaEndpoint/A2DPSource/aptx_ll_1
Dec 28 20:56:40 john-doe-ubuntu bluetoothd[1582]: Endpoint unregistered: sender=:1.370 path=/MediaEndpoint/A2DPSource/aptx_ll_0
Dec 28 20:56:40 john-doe-ubuntu bluetoothd[1582]: Endpoint unregistered: sender=:1.370 path=/MediaEndpoint/A2DPSource/aptx_ll_duplex_1
Dec 28 20:56:40 john-doe-ubuntu bluetoothd[1582]: Endpoint unregistered: sender=:1.370 path=/MediaEndpoint/A2DPSource/aptx_ll_duplex_0
Dec 28 20:56:40 john-doe-ubuntu bluetoothd[1582]: Endpoint unregistered: sender=:1.370 path=/MediaEndpoint/A2DPSource/faststream
Dec 28 20:56:40 john-doe-ubuntu bluetoothd[1582]: Endpoint unregistered: sender=:1.370 path=/MediaEndpoint/A2DPSource/faststream_duplex
Dec 28 20:56:40 john-doe-ubuntu bluetoothd[1582]: Endpoint unregistered: sender=:1.370 path=/MediaEndpoint/A2DPSink/opus_05
Dec 28 20:56:40 john-doe-ubuntu bluetoothd[1582]: Endpoint unregistered: sender=:1.370 path=/MediaEndpoint/A2DPSource/opus_05
Dec 28 20:56:40 john-doe-ubuntu bluetoothd[1582]: Endpoint unregistered: sender=:1.370 path=/MediaEndpoint/A2DPSink/opus_05_duplex
Dec 28 20:56:40 john-doe-ubuntu bluetoothd[1582]: Endpoint unregistered: sender=:1.370 path=/MediaEndpoint/A2DPSource/opus_05_duplex
Dec 28 20:56:41 john-doe-ubuntu /usr/libexec/gdm-x-session[4210]: (II) systemd-logind: got pause for 13:68
Dec 28 20:56:41 john-doe-ubuntu /usr/libexec/gdm-x-session[4210]: (II) systemd-logind: got pause for 13:78
Dec 28 20:56:41 john-doe-ubuntu /usr/libexec/gdm-x-session[4210]: (II) systemd-logind: got pause for 13:72
Диагностика fcitx:
2. `lsb_release -a`:
Distributor ID: Ubuntu
Description: Ubuntu 24.04.1 LTS
Release: 24.04
Codename: noble
3. `lsb_release -d`:
Description: Ubuntu 24.04.1 LTS
4. `/etc/lsb-release`:
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=24.04
DISTRIB_CODENAME=noble
DISTRIB_DESCRIPTION="Ubuntu 24.04.1 LTS"
5. `/etc/os-release`:
PRETTY_NAME="Ubuntu 24.04.1 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
VERSION="24.04.1 LTS (Noble Numbat)"
VERSION_CODENAME=noble
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=noble
LOGO=ubuntu-logo
6. Среда рабочего стола:
Среда рабочего стола - `gnome3`.
7. Версия Bash:
BASH_VERSION='5.2.21(1)-release'
# Среда:
1. DISPLAY:
DISPLAY=':1'
2. Раскладка клавиатуры:
1. `setxkbmap`:
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+us+de:2+us:3+inet(evdev)" };
xkb_geometry { include "pc(pc104)" };
};
2. `xprop`:
_XKB_RULES_NAMES(STRING) = "evdev", "pc105+inet", "us,de,us", ",,", ""
3. Локаль:
1. Все локали:
C
C.utf8
de_AT.utf8
de_BE.utf8
de_CH.utf8
de_DE.utf8
de_IT.utf8
de_LI.utf8
de_LU.utf8
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IL
en_IL.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZM
en_ZM.utf8
en_ZW.utf8
POSIX
2. Текущая локаль:
LANG=en_US.UTF-8
LANGUAGE=en
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=en_US.UTF-8
LC_TIME=en_US.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=en_US.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=en_US.UTF-8
LC_NAME=en_US.UTF-8
LC_ADDRESS=en_US.UTF-8
LC_TELEPHONE=en_US.UTF-8
LC_MEASUREMENT=en_US.UTF-8
LC_IDENTIFICATION=en_US.UTF-8
LC_ALL=
4. Каталоги:
1. Домашний каталог:
/home/danny-wenjue-zhang
2. `${XDG_CONFIG_HOME}`:
Переменная окружения `XDG_CONFIG_HOME` установлена на `/home/danny-wenjue-zhang/.config`.
Текущее значение переменной `XDG_CONFIG_HOME` - `~/.config` (`/home/danny-wenjue-zhang/.config`).
3. Каталог настроек Fcitx:
Текущий каталог настроек fcitx - `~/.config/fcitx` (`/home/danny-wenjue-zhang/.config/fcitx`).
5. Текущий пользователь:
Скрипт выполнен пользователем danny-wenjue-zhang (1000).
# Состояние Fcitx:
1. Исполняемый файл:
fcitx найден по пути `/usr/bin/fcitx`.
2. Версия:
Версия Fcitx: `4.2.9.9`
3. Процесс:
Найдено 2 процесса fcitx:
4361 fcitx
4373 fcitx-dbus-watc
4. `fcitx-remote`:
`fcitx-remote` работает правильно.
5. Интерфейс DBus:
Используется `dbus-send` для проверки dbus.
Владелец имени DBus `org.fcitx.Fcitx` - `:1.18`.
PID владельца имени DBus `org.fcitx.Fcitx` - `4361`.
# Интерфейс настройки Fcitx:
1. Оболочка настройки:
Оболочка fcitx-configtool найдена по пути `/usr/bin/fcitx-configtool`.
2. Конфигурация GUI для gtk2:
**Конфигурация GUI для gtk2 не найдена.**
3. Конфигурация GUI для gtk3:
Найдено `fcitx-config-gtk3` по пути `/usr/bin/fcitx-config-gtk3`.
4. Конфигурация GUI для kde:
**`kcmshell4` не найден.**
# Настройка интерфейсов:
## Xim:
1. `${XMODIFIERS}`:
Переменная окружения XMODIFIERS правильно установлена на "@im=fcitx".
Имя Xim-сервера из переменной окружения - fcitx.
2. XIM_SERVERS на корневом окне:
Имя Xim-сервера совпадает с тем, что установлено в переменной окружения.
## Qt:
1. qt4 - `${QT4_IM_MODULE}`:
Переменная окружения QT_IM_MODULE правильно установлена на "fcitx".
2. qt5 - `${QT_IM_MODULE}`:
Переменная окружения QT_IM_MODULE правильно установлена на "fcitx".
3. Файлы модуля ввода Qt:
Найден модуль ввода fcitx для Qt5: `/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so`.
Найден модуль ввода fcitx для Qt5: `/lib/x86_64-linux-gnu/qt6/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin-qt6.so`.
Найден модуль fcitx qt: `/lib/x86_64-linux-gnu/fcitx/qt/libfcitx-quickphrase-editor5.so`.
**Невозможно найти модуль ввода fcitx для Qt4.**
## Gtk:
1. gtk - `${GTK_IM_MODULE}`:
Переменная окружения GTK_IM_MODULE правильно установлена на "fcitx".
2. `gtk-query-immodules`:
1. gtk 2:
**Не удается найти `gtk-query-immodules` для gtk 2**
**Невозможно найти модуль ввода fcitx для gtk 2.**
2. gtk 3:
**Не удается найти `gtk-query-immodules` для gtk 3**
**Невозможно найти модуль ввода fcitx для gtk 3.**
3. Кэш модуля ввода Gtk:
1. gtk 2:
Найден кэш immodules для gtk `2.24.33` по пути `/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules.cache`.
Строка версии:
# Создано /usr/lib/x86_64-linux-gnu/libgtk2.0-0t64/gtk-query-immodules-2.0 из gtk+-2.24.33
Найдены модули ввода fcitx для gtk `2.24.33`.
"/usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-fcitx.so"
"fcitx" "Fcitx (Гибкая система ввода)" "fcitx" "/usr/share/locale" "ja:ko:zh:*"
2. gtk 3:
Найден кэш immodules для gtk `3.24.41` по пути `/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules.cache`.
Строка версии:
# Создано /usr/lib/x86_64-linux-gnu/libgtk-3-0t64/gtk-query-immodules-3.0 из gtk+-3.24.41
Найдены модули ввода fcitx для gtk `3.24.41`.
"/usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules/im-fcitx.so"
"fcitx" "Fcitx (Гибкая система ввода)" "fcitx" "/usr/share/locale" "ja:ko:zh:*"
4. Файлы модуля ввода Gtk:
1. gtk 2:
Все найденные файлы модулей ввода Gtk 2 существуют.
2. gtk 3:
Все найденные файлы модулей ввода Gtk 3 существуют.
# Конфигурация:
## Дополнения Fcitx:
1. Папка конфигурации дополнений:
Найдена папка конфигурации дополнений fcitx: `/usr/share/fcitx/addon`.
2. Список дополнений:
1. Найдено 26 включенных дополнений:
fcitx-autoeng
fcitx-chttrans
fcitx-classic-ui
fcitx-clipboard
fcitx-dbus
fcitx-fullwidth-char
fcitx-imselector
fcitx-ipc
fcitx-ipcportal
fcitx-keyboard
fcitx-kimpanel-ui
fcitx-lua
fcitx-notificationitem
fcitx-punc
fcitx-quickphrase
fcitx-remote
fcitx-sogoupinyin
fcitx-sogoupinyinhdm
fcitx-sogoupinyinhxm
fcitx-spell
fcitx-unicode
fcitx-vk
fcitx-x11
fcitx-xim
fcitx-xkb
fcitx-xkbdbus
2. Найдено 1 отключенное дополнение:
fcitx-freedesktop-notify
3. Библиотеки дополнений:
Все библиотеки для всех дополнений найдены.
4. Интерфейс пользователя:
Найдено 2 включенных дополнения интерфейса пользователя:
fcitx-classic-ui
fcitx-kimpanel-ui
## Методы ввода:
1. Найдено 3 включенных метода ввода:
fcitx-keyboard-us
sogoupinyin
fcitx-keyboard-cn
2. Методы ввода по умолчанию:
У вас правильно добавлен метод ввода клавиатуры "fcitx-keyboard-us" в качестве метода ввода по умолчанию.
# Журнал:
1. `date`:
Sat Dec 28 08:51:47 PM CST 2024
2. `~/.config/fcitx/log/`:
total 0
3. `~/.config/fcitx/log/crash.log`:
`~/.config/fcitx/log/crash.log` не найден.
Первая сессия опущена для защиты конфиденциальности.
Переустановка ubuntu-desktop решила проблему.
Ответ или решение
Описание проблемы
Пользователь сталкивается с проблемой "подвисания" операционной системы Ubuntu 24.04 при переключении раскладки клавиатуры с английской на немецкую и обратно. Для введения дополнительных подробностей и их решения, обратим внимание на детали, представленные в журнале journalctl
и диагностике fcitx
. Эти данные могут помочь в понимании причин возникновения данной проблемы.
Возможные причины проблемы
-
Проблемы в fcitx:
- Судя по диагностике
fcitx
, версия используемой программы — 4.2.9.9. Возможно, поддержка для конкретной версии Ubuntu не оптимизирована или имеются несовместимости, требующие обновления до более новой версии.
- Судя по диагностике
-
Переключение между раскладками:
- Конфигурация раскладки клавиатуры в
xkb
может быть некорректной. Использованиеsetxkbmap
для изменения раскладки может вызвать конфликты в системе из-за неправильной настройки modifier keys или других параметров.
- Конфигурация раскладки клавиатуры в
-
Конфликты с окружением рабочего стола:
- В окружении GNOME3 могут быть конфликты или проблемы с интеграцией
fcitx
. Это может вызывать проблемы с замороженными окнами или откликом системы.
- В окружении GNOME3 могут быть конфликты или проблемы с интеграцией
-
Ошибки, связанные с обработчиком ввода:
- Логи показывают, что могут быть сбои в обработке HID (Human Interface Devices), вызванные сменой состояния при переключении раскладки, что и приводит к зависанию.
Рекомендации по решению
-
Обновление fcitx:
- Убедитесь, что все пакеты, связанные с
fcitx
иxkb
, обновлены до последних стабильных версий. Можно использовать командуsudo apt update && sudo apt upgrade
для обновления системы.
- Убедитесь, что все пакеты, связанные с
-
Проверка конфигурации xkb:
- Проверьте конфигурацию
xkb
, особенно секции, касающиеся переключения клавиатуры, возможные ошибки можно обнаружить и отредактировать через файл/etc/default/keyboard
.
- Проверьте конфигурацию
-
Замена fcitx на другое средство ввода:
- Рассмотрите возможность использования другого средства ввода, такого как
ibus
, для проверки, сохраняется ли проблема с ним. Это поможет изолировать ошибку только на fcitx, если проблема исчезнет.
- Рассмотрите возможность использования другого средства ввода, такого как
-
Проверка и оптимизация настроек раскладки:
- Убедитесь, что конфликтующие плагины и добавочные модули для ввода отключены, а настройки языка в развернутой конфигурации
fcitx
соответствуют установленным языковым сочетаниям.
- Убедитесь, что конфликтующие плагины и добавочные модули для ввода отключены, а настройки языка в развернутой конфигурации
-
Переустановка ОС или desktop environment:
- Подумайте о переустановке и восстановлении части системной среды через
sudo apt install --reinstall ubuntu-desktop
, как это было эффективно для пользователя. Хотя это и крайняя мера, она может исправить поврежденные настройки и файлы.
- Подумайте о переустановке и восстановлении части системной среды через
Заключение
Для решения рассматриваемой проблемы с зависанием Ubuntu при смене раскладки клавиатуры ключевой шаг заключается в диагностики потенциальных конфликтов внутри fcitx и xkb. Неправильная конфигурация может вызвать сбои в системе, поэтому важно проверить правильность и совместимость всех параметров. Если проблема устраняется, это укажет на временные системные или конфигурационные сбои, которые могут быть легко исправлены.
Если даже после вышеперечисленных шагов проблема сохраняется, рекомендуется обратиться в техническую поддержку Ubuntu или привлечь эксперта для более детального анализа ситуации.