chrome调不出fcitx

本来之前的搜狗输入法用着好好的,但就是老是在sublime-text中无法使用,所以我就找了这个帖子(https://www.cnblogs.com/pualus/p/8028841.html)解决了sublime-text中无法输入中文的问题,现在问题是sublime-text中可以输入中文了,但是chrome浏览器中死活切换不了fcitx输入法,我看了一下,chrome进程(/proc/chrome进程号/)的environ,和可以输入中文的程序的进程的environ做了对比,但是没看出什么区别,在google上搜索说重新安装gtk2.0,也都装了,但还是不行.要崩溃了,哪位大佬给看看,
现在的中文是我从别的能输入中文的地方复制过来的.:sob:

有同类主题

原因未知–不过你试试用其他输入法框架比如ibus

1 个赞

遇到了同样的问题,正在想办法中。目前,网上讲的几乎都试过,没有什么用,打算用自诊程序看看:

先运行了一下/usr/bin/fcitx-diagnose
发现有: **Cannot find fcitx im module for gtk 这样的红色输出

然后就查看看了一下 /usr/bin/fcitx-diagnose 文件,想看看为什么是红色的,结果:

发现 check_gtk_query_immodule() 中的第一个 for 循环没有循环起来, 这是一个检查循环。
check_gtk_query_immodule() {
local version="$1"
local IFS=$’\n’
find_gtk_query_immodules “${version}”
local module_found=0
local query_found=0
write_order_list “gtk ${version}:”

echo “Checking immodule …”

for query_immodule in "${gtk_query_immodules[@]}"; do	    

echo “query_immodule : $query_immodule”

query_output=$("${query_immodule}")

echo “query_output = $query_output”

但是,本人shell水平有限,没有看懂:gtk_query_immodules[@] 是什么意思?猜测是可选项的列表,不知道对不对。
貌似 gtk_query_immodules 也在 find_gtk_query_immodules() 中出现过…

find_gtk_query_immodules() {
local version="$1"
init_gtk_dirs “${version}”
local IFS=$’\n’
local query_im_lib
find_file query_im_lib -H “${gtk_dirs[@]}” -type f
-name “gtk-query-immodules-${version}"
gtk_query_immodules=()
unique_file_array “gtk_query_immodules_${version}” gtk_query_immodules
$(find_in_path "gtk-query-immodules-${version}
”)
“${query_im_lib[@]}”
}

然后,再找了一下相关的文件,发现系统中有几个相关文件:

┌─[ying@parrot]─[~]
└──╼ $sudo find /usr -name "gtk-query-immodules*"
/usr/lib/x86_64-linux-gnu/libgtk-3-0/gtk-query-immodules-3.0
/usr/lib/x86_64-linux-gnu/libgtk2.0-0/gtk-query-immodules-2.0
/usr/share/man/man1/gtk-query-immodules-3.0.1.gz
/usr/share/man/man1/gtk-query-immodules-2.0.1.gz
┌─[ying@parrot]─[~]

然后,在 find_gtk_query_immodules 中增加了几个检查点:

find_gtk_query_immodules() {

    local version="$1"
    init_gtk_dirs "${version}"

 echo "version = $version    “

    local IFS=$'\n'
    local query_im_lib
    find_file query_im_lib -H "${gtk_dirs[@]}" -type f \
        -name "gtk-query-immodules-${version}*"
    gtk_query_immodules=()
    unique_file_array "gtk_query_immodules_${version}" gtk_query_immodules \
        $(find_in_path "gtk-query-immodules-${version}*") \
        "${query_im_lib[@]}"

echo "print file array:******"
for f in $gtk_query_immodules;
do
  echo "$f"
done;
echo "**********"
}

这段的输出结果是:

version = 3    
print file array:******
**********

其中,init_gtk_dirs "${version}" 是为了得到 gtk_dir 的路经,
然后,在init_gtk_dirs中加入测试:
init_gtk_dirs() {
    local gtk_dirs_name="__gtk${version}_dirs"
    eval '((${#'"${gtk_dirs_name}"'[@]}))' || {
        find_file "${gtk_dirs_name}" -H "${ldpaths[@]}" -type d \
            '(' -name "gtk-${version}*" -o -name 'gtk' ')'
    }
    eval 'gtk_dirs=("${'"${gtk_dirs_name}"'[@]}")'

echo "print gtk_dir"
for d in $gtk_dirs;
do
        echo $d;
done;
}

输出:

print gtk_dir
/usr/lib/parrot-skel/etc/skel/.config/gtk-2.0
...
print gtk_dir
/usr/lib/parrot-skel/etc/skel/.config/gtk-3.0

有人来谈谈吗? 先谢谢啦…

另外,怎样才能把代码上传正常一点? 系统好象自动把格式搞乱了…

基本的markdown语法,三个反引号包裹的就是代码块

遇到了同样的问题,fcitx在火狐上可以用,谷歌不可以用,安装各种建议的包以后配置各种能搜索到的环境变量文件也没搞定 :sob::sob::sob:

新安装的parrot4.5安装初始软件的时候用网上找的零散的命令安装后也是chrome不能打开输入法,做了下面这段ansible-playbook后(其中im-switch以后都是,我用五笔安装的五笔拼音),再在4.5初始系统下安装fcitx则在firefox和chrome下都能用,未详细对比找具体原因,但算是在我这里解决了

---
- hosts: localhost
  become: root
  #sudo: yes
  vars:
    inst: [chromium,font-manager,fonts-wqy-microhei,fonts-wqy-zenhei,sshpass,python-lockfile-doc,ipython3,python-netaddr-docs,filezilla,kazam,rdesktop,htop,screen,iptraf,expect,vim,vim-gtk,vim-doc,wget,curl,dstat,w3m,im-switch,fcitx,fcitx-bin,fcitx-libs,fcitx-libs-dev,fcitx-table-wbpy,fcitx-config-common,fcitx-config-gtk,fcitx-data,fcitx-frontend-gtk2,fcitx-frontend-gtk3,fcitx-frontend-qt4,fcitx-frontend-qt5,fcitx-frontend-all,fcitx-modules,fcitx-module-lua,fcitx-module-dbus,fcitx-module-x11,fcitx-table,fcitx-ui-classic]
                                                                                                                                   #   fcitx-module-kimpanel    
  tasks: 
  
  - name: Run the equivalent of "apt-get update" as a separate step
    tags: aptupd
    apt:
      update_cache: yes
    
  - name: InstallSoftware
    tags: aptinst
    apt: name={{ inst }} state=latest

  - name: Update all packages to the latest version
    tags: aptupgrd
    apt:
      upgrade: dist

  - name: Remove dependencies that are no longer required
    tags: aptrm
    apt:
      autoremove: yes
    
  - name: Remove useless packages from the cache
    tags: aptcln
    apt:
      autoclean: yes
    
2 个赞

服务器资源由ZeptoVM赞助

Partners Wiki Discord