Ubuntu зависает при переключении раскладки клавиатуры.

Вопрос или проблема

Описание

Моя 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. Эти данные могут помочь в понимании причин возникновения данной проблемы.

Возможные причины проблемы

  1. Проблемы в fcitx:

    • Судя по диагностике fcitx, версия используемой программы — 4.2.9.9. Возможно, поддержка для конкретной версии Ubuntu не оптимизирована или имеются несовместимости, требующие обновления до более новой версии.
  2. Переключение между раскладками:

    • Конфигурация раскладки клавиатуры в xkb может быть некорректной. Использование setxkbmap для изменения раскладки может вызвать конфликты в системе из-за неправильной настройки modifier keys или других параметров.
  3. Конфликты с окружением рабочего стола:

    • В окружении GNOME3 могут быть конфликты или проблемы с интеграцией fcitx. Это может вызывать проблемы с замороженными окнами или откликом системы.
  4. Ошибки, связанные с обработчиком ввода:

    • Логи показывают, что могут быть сбои в обработке HID (Human Interface Devices), вызванные сменой состояния при переключении раскладки, что и приводит к зависанию.

Рекомендации по решению

  1. Обновление fcitx:

    • Убедитесь, что все пакеты, связанные с fcitx и xkb, обновлены до последних стабильных версий. Можно использовать команду sudo apt update && sudo apt upgrade для обновления системы.
  2. Проверка конфигурации xkb:

    • Проверьте конфигурацию xkb, особенно секции, касающиеся переключения клавиатуры, возможные ошибки можно обнаружить и отредактировать через файл /etc/default/keyboard.
  3. Замена fcitx на другое средство ввода:

    • Рассмотрите возможность использования другого средства ввода, такого как ibus, для проверки, сохраняется ли проблема с ним. Это поможет изолировать ошибку только на fcitx, если проблема исчезнет.
  4. Проверка и оптимизация настроек раскладки:

    • Убедитесь, что конфликтующие плагины и добавочные модули для ввода отключены, а настройки языка в развернутой конфигурации fcitx соответствуют установленным языковым сочетаниям.
  5. Переустановка ОС или desktop environment:

    • Подумайте о переустановке и восстановлении части системной среды через sudo apt install --reinstall ubuntu-desktop, как это было эффективно для пользователя. Хотя это и крайняя мера, она может исправить поврежденные настройки и файлы.

Заключение

Для решения рассматриваемой проблемы с зависанием Ubuntu при смене раскладки клавиатуры ключевой шаг заключается в диагностики потенциальных конфликтов внутри fcitx и xkb. Неправильная конфигурация может вызвать сбои в системе, поэтому важно проверить правильность и совместимость всех параметров. Если проблема устраняется, это укажет на временные системные или конфигурационные сбои, которые могут быть легко исправлены.

Если даже после вышеперечисленных шагов проблема сохраняется, рекомендуется обратиться в техническую поддержку Ubuntu или привлечь эксперта для более детального анализа ситуации.

Оцените материал
Добавить комментарий

Капча загружается...