本来之前的搜狗输入法用着好好的,但就是老是在sublime-text中无法使用,所以我就找了这个帖子(https://www.cnblogs.com/pualus/p/8028841.html)解决了sublime-text中无法输入中文的问题,现在问题是sublime-text中可以输入中文了,但是chrome浏览器中死活切换不了fcitx输入法,我看了一下,chrome进程(/proc/chrome进程号/)的environ,和可以输入中文的程序的进程的environ做了对比,但是没看出什么区别,在google上搜索说重新安装gtk2.0,也都装了,但还是不行.要崩溃了,哪位大佬给看看,
现在的中文是我从别的能输入中文的地方复制过来的.
有同类主题
原因未知–不过你试试用其他输入法框架比如ibus
遇到了同样的问题,正在想办法中。目前,网上讲的几乎都试过,没有什么用,打算用自诊程序看看:
先运行了一下/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在火狐上可以用,谷歌不可以用,安装各种建议的包以后配置各种能搜索到的环境变量文件也没搞定
新安装的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