fcitx / fcitx5

maybe a new fcitx.
1.63k stars 117 forks source link

Not work in Qt 6.4.0 in Manjaro after the most recent big upgrade #641

Closed playgithub closed 2 years ago

playgithub commented 2 years ago

Env Manjaro Qt 6.4.0 Qt Creator 8.0.2 base on Qt 6.4.0 (GCC 12.2.0, x86_64)

Describe the bug ctrl+space can't trigger fcitx input window for qt6 based apps, e.g.

More Info Tried Qt5, it no longer works eighter. It works well in apps that're not based on qt5/qt6.

Before the recent big upgrade of manjaro, it works for Qt6 well.

wengxt commented 2 years ago

I'm on arch and it works fine.

I don't think it's a fcitx bug (after all, fcitx doesn't update at all).

If you want me guess, might be arch's pambase upgrade remove the support ~/.pam_environment breaks your env var set up.

You can post the output of fcitx5-diagnose and I can help take a look.

playgithub commented 2 years ago
$ cat ~/.pam_environment 
GTK_IM_MODULE DEFAULT=fcitx
QT_IM_MODULE  DEFAULT=fcitx
XMODIFIERS    DEFAULT=\@im=fcitx
SDL_LIBRARY_PATH DEFAULT=fcitx
$ fcitx5-diagnose

# System Info:
1.  `uname -a`:

        Linux bob-pc 6.0.6-1-MANJARO #1 SMP PREEMPT_DYNAMIC Sat Oct 29 14:21:50 UTC 2022 x86_64 GNU/Linux

2.  `lsb_release -a`:

        LSB Version:    n/a
        Distributor ID: ManjaroLinux
        Description:    Manjaro Linux
        Release:    22.0.0
        Codename:   Sikaris

3.  `lsb_release -d`:

        Description:    Manjaro Linux

4.  `/etc/lsb-release`:

        DISTRIB_ID=ManjaroLinux
        DISTRIB_RELEASE=22.0.0
        DISTRIB_CODENAME=Sikaris
        DISTRIB_DESCRIPTION="Manjaro Linux"

5.  `/etc/os-release`:

        NAME="Manjaro Linux"
        PRETTY_NAME="Manjaro Linux"
        ID=manjaro
        ID_LIKE=arch
        BUILD_ID=rolling
        ANSI_COLOR="32;1;24;144;200"
        HOME_URL="https://manjaro.org/"
        DOCUMENTATION_URL="https://wiki.manjaro.org/"
        SUPPORT_URL="https://forum.manjaro.org/"
        BUG_REPORT_URL="https://docs.manjaro.org/reporting-bugs/"
        PRIVACY_POLICY_URL="https://manjaro.org/privacy-policy/"
        LOGO=manjarolinux

6.  Desktop Environment:

    Desktop environment is `kde`.

7.  XDG SESSION TYPE:

        XDG_SESSION_TYPE='x11'

8.  Bash Version:

        BASH_VERSION='5.1.16(1)-release'

# Environment:
1.  DISPLAY:

        DISPLAY=':0'

        WAYLAND_DISPLAY=''

2.  Keyboard Layout:

    1.  `setxkbmap`:

            xkb_keymap {
                xkb_keycodes  { include "evdev+aliases(qwerty)" };
                xkb_types     { include "complete"  };
                xkb_compat    { include "complete"  };
                xkb_symbols   { include "pc+us+inet(evdev)+terminate(ctrl_alt_bksp)"    };
                xkb_geometry  { include "pc(pc104)" };
            };

    2.  `xprop`:

            _XKB_RULES_NAMES(STRING) = "evdev", "pc104", "us", "", "terminate:ctrl_alt_bksp"

3.  Locale:

    1.  All locales:

            aa_DJ.utf8
            aa_ER.utf8
            aa_ER.utf8@saaho
            aa_ET.utf8
            af_ZA.utf8
            agr_PE.utf8
            ak_GH.utf8
            am_ET.utf8
            an_ES.utf8
            anp_IN.utf8
            ar_AE.utf8
            ar_BH.utf8
            ar_DZ.utf8
            ar_EG.utf8
            ar_IN.utf8
            ar_IQ.utf8
            ar_JO.utf8
            ar_KW.utf8
            ar_LB.utf8
            ar_LY.utf8
            ar_MA.utf8
            ar_OM.utf8
            ar_QA.utf8
            ar_SA.utf8
            ar_SD.utf8
            ar_SS.utf8
            ar_SY.utf8
            ar_TN.utf8
            ar_YE.utf8
            as_IN.utf8
            ast_ES.utf8
            ayc_PE.utf8
            az_AZ.utf8
            az_IR.utf8
            be_BY.utf8
            be_BY.utf8@latin
            bem_ZM.utf8
            ber_DZ.utf8
            ber_MA.utf8
            bg_BG.utf8
            bhb_IN.utf8
            bho_IN.utf8
            bho_NP.utf8
            bi_VU.utf8
            bn_BD.utf8
            bn_IN.utf8
            bo_CN.utf8
            bo_IN.utf8
            br_FR.utf8
            brx_IN.utf8
            bs_BA.utf8
            byn_ER.utf8
            C
            ca_AD.utf8
            ca_ES.utf8
            ca_ES.utf8@valencia
            ca_FR.utf8
            ca_IT.utf8
            ce_RU.utf8
            chr_US.utf8
            cmn_TW.utf8
            crh_UA.utf8
            csb_PL.utf8
            cs_CZ.utf8
            C.utf8
            C.UTF-8
            cv_RU.utf8
            cy_GB.utf8
            da_DK.utf8
            de_AT.utf8
            de_BE.utf8
            de_CH.utf8
            de_DE.utf8
            de_IT.utf8
            de_LI.utf8
            de_LU.utf8
            doi_IN.utf8
            dsb_DE.utf8
            dv_MV.utf8
            dz_BT.utf8
            el_CY.utf8
            el_GR.utf8
            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.utf8
            en_IN.utf8
            en_NG.utf8
            en_NZ.utf8
            en_PH.utf8
            en_SC.utf8
            en_SG.utf8
            en_US.utf8
            en_ZA.utf8
            en_ZM.utf8
            en_ZW.utf8
            eo.utf8
            es_AR.utf8
            es_BO.utf8
            es_CL.utf8
            es_CO.utf8
            es_CR.utf8
            es_CU.utf8
            es_DO.utf8
            es_EC.utf8
            es_ES.utf8
            es_GT.utf8
            es_HN.utf8
            es_MX.utf8
            es_NI.utf8
            es_PA.utf8
            es_PE.utf8
            es_PR.utf8
            es_PY.utf8
            es_SV.utf8
            es_US.utf8
            es_UY.utf8
            es_VE.utf8
            et_EE.utf8
            eu_ES.utf8
            fa_IR.utf8
            ff_SN.utf8
            fi_FI.utf8
            fil_PH.utf8
            fo_FO.utf8
            fr_BE.utf8
            fr_CA.utf8
            fr_CH.utf8
            fr_FR.utf8
            fr_LU.utf8
            fur_IT.utf8
            fy_DE.utf8
            fy_NL.utf8
            ga_IE.utf8
            gd_GB.utf8
            gez_ER.utf8
            gez_ER.utf8@abegede
            gez_ET.utf8
            gez_ET.utf8@abegede
            gl_ES.utf8
            gu_IN.utf8
            gv_GB.utf8
            hak_TW.utf8
            ha_NG.utf8
            he_IL.utf8
            hif_FJ.utf8
            hi_IN.utf8
            hne_IN.utf8
            hr_HR.utf8
            hsb_DE.utf8
            ht_HT.utf8
            hu_HU.utf8
            hy_AM.utf8
            ia_FR.utf8
            id_ID.utf8
            ig_NG.utf8
            ik_CA.utf8
            is_IS.utf8
            it_CH.utf8
            it_IT.utf8
            iu_CA.utf8
            ja_JP.utf8
            kab_DZ.utf8
            ka_GE.utf8
            kk_KZ.utf8
            kl_GL.utf8
            km_KH.utf8
            kn_IN.utf8
            kok_IN.utf8
            ko_KR.utf8
            ks_IN.utf8
            ks_IN.utf8@devanagari
            ku_TR.utf8
            kw_GB.utf8
            ky_KG.utf8
            lb_LU.utf8
            lg_UG.utf8
            li_BE.utf8
            lij_IT.utf8
            li_NL.utf8
            ln_CD.utf8
            lo_LA.utf8
            lt_LT.utf8
            lv_LV.utf8
            lzh_TW.utf8
            mag_IN.utf8
            mai_IN.utf8
            mai_NP.utf8
            mfe_MU.utf8
            mg_MG.utf8
            mhr_RU.utf8
            mi_NZ.utf8
            miq_NI.utf8
            mjw_IN.utf8
            mk_MK.utf8
            ml_IN.utf8
            mni_IN.utf8
            mn_MN.utf8
            mnw_MM.utf8
            mr_IN.utf8
            ms_MY.utf8
            mt_MT.utf8
            my_MM.utf8
            nan_TW.utf8
            nan_TW.utf8@latin
            nb_NO.utf8
            nds_DE.utf8
            nds_NL.utf8
            ne_NP.utf8
            nhn_MX.utf8
            niu_NU.utf8
            niu_NZ.utf8
            nl_AW.utf8
            nl_BE.utf8
            nl_NL.utf8
            nn_NO.utf8
            nr_ZA.utf8
            nso_ZA.utf8
            oc_FR.utf8
            om_ET.utf8
            om_KE.utf8
            or_IN.utf8
            os_RU.utf8
            pa_IN.utf8
            pap_AW.utf8
            pap_CW.utf8
            pa_PK.utf8
            pl_PL.utf8
            POSIX
            ps_AF.utf8
            pt_BR.utf8
            pt_PT.utf8
            quz_PE.utf8
            raj_IN.utf8
            ro_RO.utf8
            ru_RU.utf8
            ru_UA.utf8
            rw_RW.utf8
            sah_RU.utf8
            sa_IN.utf8
            sat_IN.utf8
            sc_IT.utf8
            sd_IN.utf8
            sd_IN.utf8@devanagari
            se_NO.utf8
            sgs_LT.utf8
            shn_MM.utf8
            shs_CA.utf8
            sid_ET.utf8
            si_LK.utf8
            sk_SK.utf8
            sl_SI.utf8
            sm_WS.utf8
            so_DJ.utf8
            so_ET.utf8
            so_KE.utf8
            so_SO.utf8
            sq_AL.utf8
            sq_MK.utf8
            sr_ME.utf8
            sr_RS.utf8
            sr_RS.utf8@latin
            ss_ZA.utf8
            st_ZA.utf8
            sv_FI.utf8
            sv_SE.utf8
            sw_KE.utf8
            sw_TZ.utf8
            szl_PL.utf8
            ta_IN.utf8
            ta_LK.utf8
            tcy_IN.utf8
            te_IN.utf8
            tg_TJ.utf8
            the_NP.utf8
            th_TH.utf8
            ti_ER.utf8
            ti_ET.utf8
            tig_ER.utf8
            tk_TM.utf8
            tl_PH.utf8
            tn_ZA.utf8
            to_TO.utf8
            tpi_PG.utf8
            tr_CY.utf8
            tr_TR.utf8
            ts_ZA.utf8
            tt_RU.utf8
            tt_RU.utf8@iqtelif
            ug_CN.utf8
            uk_UA.utf8
            unm_US.utf8
            ur_IN.utf8
            ur_PK.utf8
            uz_UZ.utf8
            uz_UZ.utf8@cyrillic
            ve_ZA.utf8
            vi_VN.utf8
            wa_BE.utf8
            wae_CH.utf8
            wal_ET.utf8
            wo_SN.utf8
            xh_ZA.utf8
            yi_US.utf8
            yo_NG.utf8
            yue_HK.utf8
            yuw_PG.utf8
            zh_CN.utf8
            zh_HK.utf8
            zh_SG.utf8
            zh_TW.utf8
            zu_ZA.utf8

    2.  Current locale:

            LANG=en_US.UTF-8
            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.  Directories:

    1.  Home:

            /home/bob

    2.  `${XDG_CONFIG_HOME}`:

        Environment variable `XDG_CONFIG_HOME` is not set.

        Current value of `XDG_CONFIG_HOME` is `~/.config` (`/home/bob/.config`).

    3.  Fcitx5 Settings Directory:

        Current fcitx5 settings directory is `~/.config/fcitx5` (`/home/bob/.config/fcitx5`).

5.  Current user:

    The script is run as bob (1000).

# Fcitx State:
1.  executable:

    Found fcitx5 at `/usr/bin/fcitx5`.

2.  version:

    Fcitx version: `5.0.19`

3.  process:

    Found 1 fcitx5 process:

            891 fcitx5

4.  `fcitx5-remote`:

    `fcitx5-remote` works properly.

5.  DBus interface:

    Using `dbus-send` to check dbus.

    Owner of DBus name `org.fcitx.Fcitx5` is `:1.26`.

    PID of DBus name `org.fcitx.Fcitx5` owner is `891`.

    Debug information from dbus:

           Group [x11::0] has 1 InputContext(s)
          IC [c9626ccb886e4a249cb530ed0c3dfa45] program:chromium frontend:dbus cap:6000000012 focus:0
        Input Context without group

# Fcitx Configure UI:
1.  Config Tool Wrapper:

    Found fcitx5-configtool at `/usr/bin/fcitx5-configtool`.

2.  Config GUI for qt:

    Found `fcitx5-config-qt` at `/usr/bin/fcitx5-config-qt`.

3.  Config GUI for kde:

    Found fcitx5 kcm module.

        kcm_fcitx5                     - Configure Input Method

# Frontends setup:
## Xim:
1.  `${XMODIFIERS}`:

    **XMODIFIERS is not set**

    **Please set environment variable XMODIFIERS to "@im=fcitx" using the tool your distribution provides or add `export XMODIFIERS=@im=fcitx` to your `~/.xprofile`. See [Input Method Related Environment Variables: XMODIFIERS](http://fcitx-im.org/wiki/Input_method_related_environment_variables#XMODIFIERS).**
    Xim Server Name from Environment variable is fcitx.

2.  XIM_SERVERS on root window:

    Xim server name is the same with that set in the environment variable.

## Qt:
1.  qt4 - `${QT4_IM_MODULE}`:

    **Please set environment variable QT_IM_MODULE to "fcitx" using the tool your distribution provides or add `export QT_IM_MODULE=fcitx` to your `~/.xprofile`. See [Input Method Related Environment Variables: QT_IM_MODULE](http://fcitx-im.org/wiki/Input_method_related_environment_variables#QT_IM_MODULE).**

2.  qt5 - `${QT_IM_MODULE}`:

    **Please set environment variable QT_IM_MODULE to "fcitx" using the tool your distribution provides or add `export QT_IM_MODULE=fcitx` to your `~/.xprofile`. See [Input Method Related Environment Variables: QT_IM_MODULE](http://fcitx-im.org/wiki/Input_method_related_environment_variables#QT_IM_MODULE).**

3.  Qt IM module files:

    Found fcitx5 im module for qt: `/usr/lib/qt/plugins/platforminputcontexts/libfcitx5platforminputcontextplugin.so`.
    Found unknown fcitx qt module: `/usr/lib/qt/plugins/kcms/kcm_fcitx5.so`.
    Found fcitx5 qt5 module: `/usr/lib/fcitx5/qt5/libfcitx-quickphrase-editor5.so`.
    Found fcitx5 im module for qt6: `/usr/lib/qt6/plugins/platforminputcontexts/libfcitx5platforminputcontextplugin.so`.
    **Cannot find fcitx5 input method module for Qt4.**

## Gtk:
1.  gtk - `${GTK_IM_MODULE}`:

    **Please set environment variable GTK_IM_MODULE to "fcitx" using the tool your distribution provides or add `export GTK_IM_MODULE=fcitx` to your `~/.xprofile`. See [Input Method Related Environment Variables: GTK_IM_MODULE](http://fcitx-im.org/wiki/Input_method_related_environment_variables#GTK_IM_MODULE).**

2.  `gtk-query-immodules`:

    1.  gtk 2:

        **Cannot find `gtk-query-immodules` for gtk 2**

        **Cannot find fcitx5 im module for gtk 2.**

    2.  gtk 3:

        Found `gtk-query-immodules` for gtk `3.24.34` at `/usr/bin/gtk-query-immodules-3.0`.
        Version Line:

            # Created by /usr/bin/gtk-query-immodules-3.0 from gtk+-3.24.34

        Found fcitx5 im modules for gtk `3.24.34`.

            "/usr/lib/gtk-3.0/3.0.0/immodules/im-fcitx5.so" 
            "fcitx" "Fcitx5 (Flexible Input Method Framework5)" "fcitx5" "/usr/locale" "ja:ko:zh:*" 
            "fcitx5" "Fcitx5 (Flexible Input Method Framework5)" "fcitx5" "/usr/locale" "ja:ko:zh:*" 

3.  Gtk IM module cache:

    1.  gtk 2:

        **Cannot find immodules cache for gtk 2**

        **Cannot find fcitx5 im module for gtk 2 in cache.**

    2.  gtk 3:

        Found immodules cache for gtk `3.24.34` at `/usr/lib/gtk-3.0/3.0.0/immodules.cache`.
        Version Line:

            # Created by /usr/bin/gtk-query-immodules-3.0 from gtk+-3.24.34

        Found fcitx5 im modules for gtk `3.24.34`.

            "/usr/lib/gtk-3.0/3.0.0/immodules/im-fcitx5.so" 
            "fcitx" "Fcitx5 (Flexible Input Method Framework5)" "fcitx5" "/usr/locale" "ja:ko:zh:*" 
            "fcitx5" "Fcitx5 (Flexible Input Method Framework5)" "fcitx5" "/usr/locale" "ja:ko:zh:*" 

    3.  gtk 4:

        **Cannot find immodules cache for gtk 4**

        **Cannot find fcitx5 im module for gtk 4 in cache.**

4.  Gtk IM module files:

    1.  gtk 2:

        All found Gtk 2 immodule files exist.

    2.  gtk 3:

        All found Gtk 3 immodule files exist.

    3.  gtk 4:

        All found Gtk 4 immodule files exist.

# Configuration:
## Fcitx Addons:
1.  Addon Config Dir:

    Found fcitx5 addon config directory: `/usr/share/fcitx5/addon`.

2.  Addon List:

    1.  Found 26 enabled addons:

            Simplified and Traditional Chinese Translation 5.0.15
            Classic User Interface 5.0.19
            Clipboard 5.0.19
            Cloud Pinyin 5.0.15
            DBus 5.0.19
            DBus Frontend 5.0.19
            Emoji 5.0.19
            Fcitx4 Frontend 5.0.19
            Full width character 5.0.15
            IBus Frontend 5.0.19
            Input method selector 5.0.19
            Keyboard 5.0.19
            KDE Input Method Panel 5.0.19
            Status Notifier 5.0.19
            Notification 5.0.19
            Pinyin 5.0.15
            Extra Pinyin functionality 5.0.15
            Punctuation 5.0.15
            Quick Phrase 5.0.19
            Spell 5.0.19
            Table 5.0.15
            Unicode 5.0.19
            Wayland 5.0.19
            Wayland Input method frontend 5.0.19
            XCB 5.0.19
            X Input Method Frontend 5.0.19

    2.  Found 0 disabled addons:

3.  Addon Libraries:

    All libraries for all addons are found.

4.  User Interface:

    Found 2 enabled user interface addons:

        Classic User Interface
        KDE Input Method Panel

## Input Methods:
1.  `/home/bob/.config/fcitx5/profile`:

        [Groups/0]
        # Group Name
        Name=Default
        # Layout
        Default Layout=us
        # Default Input Method
        DefaultIM=pinyin

        [Groups/0/Items/0]
        # Name
        Name=keyboard-us
        # Layout
        Layout=

        [Groups/0/Items/1]
        # Name
        Name=pinyin
        # Layout
        Layout=

        [GroupOrder]
        0=Default

# Log:
1.  `date`:

        Sun Nov  6 02:36:41 PM CST 2022

2.  `/home/bob/.config/fcitx5/crash.log`:

    `/home/bob/.config/fcitx5/crash.log` not found.

**Warning: the output of fcitx5-diagnose contains sensitive information, including the distribution name, kernel version, name of currently running programs, etc.**

**Though such information can be helpful to developers for diagnostic purpose, please double check and remove as necessary before posting it online publicly.**
wengxt commented 2 years ago

~/.pam_environment doesn’t work on arch/manjaro by default anymore, see https://bugs.archlinux.org/task/68945

. Apparently QT_IM_MODULE and other vars are not set.

You may use /etc/environment instead, or ~/.xprofile , or ~/.config/environment.d

see https://fcitx-im.org/wiki/Setup_Fcitx_5 and https://wiki.archlinux.org/title/Environment_variables

playgithub commented 2 years ago

It works, thanks very much.