页次: 1
我觉得我会疯了!昨天系统更新之后,我的fcitx中文输入无法就坏啦.
其实urvxt的终端我还能打字但是firefox, libreoffice, gedit, 等等,我无法输入.
我觉得有点奇怪的是,我删除了fcitx,安装了ibus以后,ibus也 不行了.看起来我的电脑不要我打汉语了 :-(
可是现在我又想用fcitx了
我的xinitrc就是
#!/bin/sh
#
# ~/.xinitrc
#
# Executed by startx (run your window manager from here)
if [ -d /etc/X11/xinit/xinitrc.d ]; then
for f in /etc/X11/xinit/xinitrc.d/*; do
[ -x "$f" ] && . "$f"
done
unset f
fi
xrdb -merge ~/.Xresources
nitrogen --restore &
compton &
cairo-dock -o &
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
exec openbox-session
所以那个重要的
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
当然有...
fcitx-diagnose:
# 系統資訊:
1. `uname -a`:
Linux shishi 4.14.15-1-ARCH #1 SMP PREEMPT Tue Jan 23 21:49:25 UTC 2018 x86_64 GNU/Linux
2. `lsb_release`:
找不到 `lsb_release`。
3. `/etc/lsb-release`:
找不到 `/etc/lsb-release`。
4. `/etc/os-release`:
NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
ID_LIKE=archlinux
ANSI_COLOR="0;36"
HOME_URL="https://www.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://bugs.archlinux.org/"
5. 桌面環境:
無法確認桌面環境。
6. Bash Version:
BASH_VERSION='4.4.18(1)-release'
# 環境:
1. DISPLAY:
DISPLAY=':0'
2. 鍵盤配置:
1. `setxkbmap`:
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwertz)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+de+cn:2+inet(evdev)" };
xkb_geometry { include "pc(pc105)" };
};
2. `xprop`:
找不到 `xprop`。
3. 地區設定:
1. 全部地區設定:
C
POSIX
zh_TW.utf8
2. 目前地區設定:
LANG=zh_TW.UTF-8
LC_CTYPE="zh_TW.UTF-8"
LC_NUMERIC="zh_TW.UTF-8"
LC_TIME="zh_TW.UTF-8"
LC_COLLATE="zh_TW.UTF-8"
LC_MONETARY="zh_TW.UTF-8"
LC_MESSAGES="zh_TW.UTF-8"
LC_PAPER="zh_TW.UTF-8"
LC_NAME="zh_TW.UTF-8"
LC_ADDRESS="zh_TW.UTF-8"
LC_TELEPHONE="zh_TW.UTF-8"
LC_MEASUREMENT="zh_TW.UTF-8"
LC_IDENTIFICATION="zh_TW.UTF-8"
LC_ALL=
4. 目錄:
1. 家目錄:
/home/shizi
2. `${XDG_CONFIG_HOME}`:
環境變數 `XDG_CONFIG_HOME` 未設定。
`XDG_CONFIG_HOME` 目前的值為 `~/.config` (`/home/shizi/.config`)。
3. Fcitx 設定目錄:
目前的 fcitx 設定目錄為 `~/.config/fcitx` (`/home/shizi/.config/fcitx`)。
5. 目前使用者:
此腳本以 shizi (1000) 執行。
# Fcitx 狀態:
1. 可執行檔:
在 `/usr/bin/fcitx` 找到 fcitx。
2. 版本:
Fcitx 版本:`4.2.9.5`
3. 程序:
找到 2 個 fcitx 程序:
498 fcitx
507 fcitx-dbus-watc
4. `fcitx-remote`:
`fcitx-remote` 運作正常。
5. DBus 介面:
Using `dbus-send` to check dbus.
Owner of DBus name `org.fcitx.Fcitx` is `:1.11`.
PID of DBus name `org.fcitx.Fcitx` owner is `498`.
# Fcitx 設定介面:
1. 設定工具封裝:
在 `/usr/bin/fcitx-configtool` 找到 fcitx-configtool。
2. gtk2 的設定介面:
**找不到 gtk2 的設定介面。**
3. gtk3 的設定介面:
在 `/usr/bin/fcitx-config-gtk3` 找到了 `fcitx-config-gtk3`。
4. KDE 的設定介面:
**找不到 `kcmshell4`。**
# 前端設定:
## Xim:
1. `${XMODIFIERS}`:
**XMODIFIERS 未設定**
**請設定環境變數 XMODIFIERS 到「@im=fcitx」,使用您的發行版提供的工具或加入 `export XMODIFIERS=@im=fcitx` 到您的 `~/.xprofile`。請參閱 [輸入法相關環境變數:XMODIFIERS](http://fcitx-im.org/wiki/Input_method_related_environment_variables#XMODIFIERS)。**
環境變數中 XIM 服務名稱為 fcitx。
2. root 視窗上的 XIM_SERVERS:
**找不到 `xprop`。**
## Qt:
1. qt4 - `${QT4_IM_MODULE}`:
**請設定環境變數 QT_IM_MODULE 到「fcitx」,使用您的發行版提供的工具或加入 `export QT_IM_MODULE=fcitx` 到您的 `~/.xprofile`。請參閱 [輸入法相關環境變數:QT_IM_MODULE](http://fcitx-im.org/wiki/Input_method_related_environment_variables#QT_IM_MODULE)。**
2. qt5 - `${QT_IM_MODULE}`:
**請設定環境變數 QT_IM_MODULE 到「fcitx」,使用您的發行版提供的工具或加入 `export QT_IM_MODULE=fcitx` 到您的 `~/.xprofile`。請參閱 [輸入法相關環境變數:QT_IM_MODULE](http://fcitx-im.org/wiki/Input_method_related_environment_variables#QT_IM_MODULE)。**
3. Qt 輸入法模組檔案:
找到了 Qt4 的 fcitx 輸入法模組:`/usr/lib/qt4/plugins/inputmethods/qtim-fcitx.so`。
找到了 fcitx 的 qt 模組:`/usr/lib/fcitx/qt/libfcitx-quickphrase-editor5.so`。
找到了 fcitx 的 qt 模組:`/usr/lib/fcitx/qt/libfcitx-libpinyin-dictmanager.so`。
找到了 Qt5 的 fcitx 輸入法模組:`/usr/lib/qt/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so`。
## Gtk:
1. gtk - `${GTK_IM_MODULE}`:
**請設定環境變數 GTK_IM_MODULE 到「fcitx」,使用您的發行版提供的工具或加入 `export GTK_IM_MODULE=fcitx` 到您的 `~/.xprofile`。請參閱 [輸入法相關環境變數:GTK_IM_MODULE](http://fcitx-im.org/wiki/Input_method_related_environment_variables#GTK_IM_MODULE)。**
2. `gtk-query-immodules`:
1. gtk 2:
在 `/usr/bin/gtk-query-immodules-2.0` 找到 gtk `2.24.32` 的 `gtk-query-immodules`。
版本:
# Created by /usr/bin/gtk-query-immodules-2.0 from gtk+-2.24.32
找到了 gtk `2.24.32` 的 fcitx 輸入法模組。
"/usr/lib/gtk-2.0/2.10.0/immodules/im-fcitx.so"
"fcitx" "Fcitx (Flexible Input Method Framework)" "fcitx" "/usr/share/locale" "ja:ko:zh:*"
2. gtk 3:
在 `/usr/bin/gtk-query-immodules-3.0` 找到 gtk `3.22.26` 的 `gtk-query-immodules`。
版本:
# Created by /usr/bin/gtk-query-immodules-3.0 from gtk+-3.22.26
找到了 gtk `3.22.26` 的 fcitx 輸入法模組。
"/usr/lib/gtk-3.0/3.0.0/immodules/im-fcitx.so"
"fcitx" "Fcitx (Flexible Input Method Framework)" "fcitx" "/usr/share/locale" "ja:ko:zh:*"
3. Gtk 輸入法模組快取:
1. gtk 2:
在 `/usr/lib/gtk-2.0/2.10.0/immodules.cache` 找到 gtk `2.24.32` 的輸入法模組快取。
版本:
# Created by /usr/bin/gtk-query-immodules-2.0 from gtk+-2.24.32
找到了 gtk `2.24.32` 的 fcitx 輸入法模組。
"/usr/lib/gtk-2.0/2.10.0/immodules/im-fcitx.so"
"fcitx" "Fcitx (Flexible Input Method Framework)" "fcitx" "/usr/share/locale" "ja:ko:zh:*"
2. gtk 3:
在 `/usr/lib/gtk-3.0/3.0.0/immodules.cache` 找到 gtk `3.22.26` 的輸入法模組快取。
版本:
# Created by /usr/bin/gtk-query-immodules-3.0 from gtk+-3.22.26
找到了 gtk `3.22.26` 的 fcitx 輸入法模組。
"/usr/lib/gtk-3.0/3.0.0/immodules/im-fcitx.so"
"fcitx" "Fcitx (Flexible Input Method Framework)" "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. 找到 30 個啟用的附加元件:
fcitx-autoeng
fcitx-chttrans
fcitx-classic-ui
fcitx-clipboard
fcitx-dbus
fcitx-freedesktop-notify
fcitx-fullwidth-char
fcitx-imselector
fcitx-ipc
fcitx-ipcportal
fcitx-keyboard
fcitx-kimpanel-ui
fcitx-libpinyin
fcitx-mozc
fcitx-notificationitem
fcitx-pinyin
fcitx-pinyin-enhance
fcitx-punc
fcitx-quickphrase
fcitx-remote
fcitx-rime
fcitx-spell
fcitx-sunpinyin
fcitx-table
fcitx-unicode
fcitx-vk
fcitx-x11
fcitx-xim
fcitx-xkb
fcitx-xkbdbus
2. 找到 1 個停用的附加元件:
fcitx-qw
3. 附加元件函式庫:
找到了所有附加元件的函式庫。
4. 使用者介面:
找到 2 個啟用的使用者介面附加元件:
fcitx-classic-ui
fcitx-kimpanel-ui
## 輸入法:
1. 找到 5 個啟用的輸入法:
fcitx-keyboard-cn
pinyin-libpinyin
sunpinyin
mozc
2. 預設輸入法:
您使用鍵盤輸入法 fcitx-keyboard-cn,正確加入作為您的預設輸入法。
# 日誌:
1. `date`:
一 2月 5 01:08:33 CET 2018
2. `~/.config/fcitx/log/`:
總計 4
-rw-r--r-- 1 shizi users 843 2月 5 00:38 crash.log
3. `~/.config/fcitx/log/crash.log`:
=========================
FCITX 4.2.9.5 -- Get Signal No.: 6
Date: try "date -d @1517787516" if you are using GNU date ***
ProcessID: 1072
fcitx(+0x156e)[0x559ea197156e]
/usr/lib/libc.so.6(+0x348e0)[0x7f36d25de8e0]
/usr/lib/libc.so.6(gsignal+0x110)[0x7f36d25de860]
/usr/lib/libc.so.6(abort+0x1c9)[0x7f36d25dfec9]
/usr/lib/libdbus-1.so.3(_dbus_abort+0x27)[0x7f36d1d714e7]
/usr/lib/libdbus-1.so.3(+0x2f9a3)[0x7f36d1d679a3]
/usr/lib/libdbus-1.so.3(dbus_watch_get_enabled+0x34)[0x7f36d1d66504]
/usr/lib/fcitx/fcitx-dbus.so(+0x1dea)[0x7f36d1f8adea]
/usr/lib/fcitx/fcitx-dbus.so(+0x1fc5)[0x7f36d1f8afc5]
/usr/lib/libfcitx-core.so.0(+0x951c)[0x7f36d2fb551c]
/usr/lib/libfcitx-core.so.0(FcitxInstanceRun+0x330)[0x7f36d2fb5fb0]
fcitx(+0xe9b)[0x559ea1970e9b]
/usr/lib/libc.so.6(__libc_start_main+0xea)[0x7f36d25caf4a]
fcitx(_start+0x2a)[0x559ea1970f1a]
我不理解为什么它再说
**XMODIFIERS 未設定**
因为我一定设定了...现在在~/.xinitrc里面,我还是试图了 ~/.xprofile, /etc/profile 可是仍然不行吧
我完全变成一个疯子之前,请有人搭救我吧
谢谢大家
最近编辑记录 YouWentiDeRen (2018-02-05 17:07:54)
离线
你是怎么登录到图形界面的?
写 ~/.pam_environment 里试试(记住这里不是 shell,不要写 export)。
在线
依雲-谢谢你老板!我的问题解决了!
我好惊讶问题的解答是那么容易的!但是我无处找到这个方法了...甚至fcitx的wiki一次也没有提议~/.pam_environment...
多谢多谢, 祝你一个愉快的晚上!^_^
离线
请参考以下代码fcitx部分。
#!/bin/env bash
## author: si9ma
## my blog: www.coolcodes.me
##
## use this script to config chinese environment
##
. log.sh
# don't run this script as root
. no_root.sh
# import yaourt function
. yaourt.sh
# get usrname
usrname=$(whoami)
EXIT_MSG="You have left from Archlinux Installer!"
Config_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
#
title="Chinese Configure"
msg="Hey! Are you using chinese? Would you want to set your desktop environment locale to chinese? [ESC] to exit the installer\n\nPlease confirm before typing the [ENTER], because you can't undo it."
dialog --no-cancel --ok-button "Select" --ascii-lines --title "$title" --backtitle "$HEADER" --menu "$msg" 18 75 18 \
"(1)" "Yes" \
"(2)" "Yes,but I just install chinese font and chinese input method."\
"(3)" "No" 2>tempfile
retval=$?
choice=$(cat tempfile)
echo
# if ESC,exit
case $retval in
255) # ESC
echo
echo $EXIT_MSG
exit 255;;
esac
# set chinese locale
if [ "$choice" = "(1)" ]
then
# configure xprofile
echo "export LANG=zh_CN.UTF-8" >>~/.xprofile
echo "export LANGUAGE=zh_CN:en_US" >>~/.xprofile
echo "export LC_CTYPE=en_US.UTF-8" >>~/.xprofile
# install chinese font
sudo pacman --noconfirm -S wqy-microhei wqy-microhei-lite wqy-bitmapfont wqy-zenhei
# fontconfig
cp $Config_DIR/config/font/.fonts.conf ~/.fonts.conf
# install chinese input method,just fcitx-sogoupinyin
sudo pacman --noconfirm -S fcitx-im fcitx-configtool
# configure xprofile
echo "export GTK_IM_MODULE=fcitx" >>~/.xprofile
echo "export QT_IM_MODULE=fcitx" >>~/.xprofile
echo "export XMODIFIERS=\"@im=fcitx\"" >>~/.xprofile
echo "gsettings set org.gnome.settings-daemon.plugins.xsettings overrides \"{'Gtk/IMModule':<'fcitx'>}\"">>~/.xprofile
#
val=$(check_yaourt)
# have install yaourt
if [ "$val" = "0" ]
then
yaourt --noconfirm -S fcitx-sogoupinyin
else
install_yaourt
yaourt --noconfirm -S fcitx-sogoupinyin
fi
# configure sougoupinyin
# hide status bar
#sed -i 's/^HideStatusBar.*/HideStatusBar=true/' ~/.config/SogouPY/sogouEnv.ini
# chinese english switch key - nothing
#sed -i 's/^SwitchCE_key.*/SwitchCE_key=Nothing/' ~/.config/SogouPY/sogouEnv.ini
# appearance for sougoupinyin
#sed -i 's/^CurtSogouSkinType.*/CurtSogouSkinType=Tickle Black Ver/' ~/.config/sogou-qimpanel/main.conf
# fcitx triggerkey
#sed -i 's/^TriggerKey.*/TriggerKey=SHIFT_SPACE/' ~/.config/fcitx/config
# fcitx Enable Hotkey to scroll Between Input Method
#sed -i 's/^.IMSwitchKey*/IMSwitchKey=False/' ~/.config/fcitx/config
# fcitx
cp $Config_DIR/config/fcitx ~/.config/ -r
# sogoupinyin
cp $Config_DIR/config/sogou/SogouPY ~/.config/ -r
cp $Config_DIR/config/sogou/SogouPY.users ~/.config/ -r
cp $Config_DIR/config/sogou/sogou-qimpanel ~/.config/ -r
elif [ "$choice" = "(2)" ] # just install chinese font and chinese input method
then
# install chinese font
sudo pacman --noconfirm -S wqy-microhei wqy-microhei-lite wqy-bitmapfont wqy-zenhei
# fontconfig
cp $Config_DIR/config/font/.fonts.conf ~/.fonts.conf
# install chinese input method,just fcitx-sogoupinyin
sudo pacman --noconfirm -S fcitx-im fcitx-configtool
# configure xprofile
echo "export GTK_IM_MODULE=fcitx" >>~/.xprofile
echo "export QT_IM_MODULE=fcitx" >>~/.xprofile
echo "export XMODIFIERS=\"@im=fcitx\"" >>~/.xprofile
echo "gsettings set org.gnome.settings-daemon.plugins.xsettings overrides \"{'Gtk/IMModule':<'fcitx'>}\"">>~/.xprofile
#
val=$(check_yaourt)
# have install yaourt
if [ "$val" = "0" ]
then
yaourt --noconfirm -S fcitx-sogoupinyin
else
install_yaourt
yaourt --noconfirm -S fcitx-sogoupinyin
fi
## myself
# fcitx
cp $Config_DIR/config/fcitx ~/.config/ -r
# sogoupinyin
cp $Config_DIR/config/sogou/SogouPY ~/.config/ -r
cp $Config_DIR/config/sogou/SogouPY.users ~/.config/ -r
cp $Config_DIR/config/sogou/sogou-qimpanel ~/.config/ -r
fi
## continue to install application
bash /home/$usrname/Archlinux-Installer/app.sh
离线
页次: 1