页次: 1
我是一个Arch Linux新手,最近在一台笔记本上使用arch+dwm环境,但是遇到了输入法的问题。
1、症状如下:
在firefox中可以正常使用fcitx,在st(dwm的默认终端)也可以正常使用,但是如题在alacrit ty、kitty、Intellij中无法使用,具体是在alacritty中可以看到输入法的输入框和候选字,但是按空格无法使之打印在终端里。
alacritty中已经可以显示中文,使用ls或者ranger可以看到中文目录。
2、环境如下
OS: Arch Linux x86_64
Host: 82DM Lenovo XiaoXinPro-13ARE 2
Kernel: 5.11.10-arch1-1
Uptime: 11 hours, 47 mins
Packages: 1512 (pacman)
Shell: bash 5.1.4
Resolution: 2560x1600
WM: dwm
Theme: deepin-dark [GTK2/3]
Icons: Papirus [GTK2/3]
Terminal: alacritty
Terminal Font: JetBrainsMono Nerd Font
fcitx-diagnose 如下:
# 系统信息:
1. `uname -a`:
Linux Q 5.11.10-arch1-1 #1 SMP PREEMPT Fri, 26 Mar 2021 00:11:29 +0000 x86_64 GNU/Linux
2. `lsb_release -a`:
LSB Version: 1.4
Distributor ID: Arch
Description: Arch Linux
Release: rolling
Codename: n/a
3. `lsb_release -d`:
Description: Arch Linux
4. `/etc/lsb-release`:
LSB_VERSION=1.4
DISTRIB_ID=Arch
DISTRIB_RELEASE=rolling
DISTRIB_DESCRIPTION="Arch Linux"
5. `/etc/os-release`:
NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://www.archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://bugs.archlinux.org/"
LOGO=archlinux
6. 桌面环境:
无法确定桌面环境。
7. Bash 版本:
BASH_VERSION='5.1.4(1)-release'
# 环境:
1. DISPLAY:
DISPLAY=':0'
2. 键盘布局:
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)" };
xkb_geometry { include "pc(pc105)" };
};
2. `xprop`:
_XKB_RULES_NAMES(STRING) = "evdev", "pc105", "us", "", ""
3. Locale:
1. 全部可用 locale:
C
en_US.utf8
POSIX
zh_CN.utf8
2. 当前 locale:
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=
4. 目录:
1. 主目录:
/home/steven
2. `${XDG_CONFIG_HOME}`:
环境变量 `XDG_CONFIG_HOME` 是设定为 `/home/steven/.config` 。
`XDG_CONFIG_HOME` 的当前值是 `~/.config` (`/home/steven/.config`)。
3. Fcitx 设置目录:
当前 fcitx 设置目录是 `~/.config/fcitx` (`/home/steven/.config/fcitx`)。
5. 当前用户:
脚本作为 steven (1000) 运行。
# Fcitx 状态:
1. 可执行文件:
在 `/usr/bin/fcitx` 找到了 fcitx.
2. 版本:
Fcitx 版本: `4.2.9.7`
3. 进程:
**Fcitx 没有在运行.**
**请访问 [入门指南](http://fcitx-im.org/wiki/Beginner%27s_Guide/zh-cn) 页面上对应您发行版的配置链接查看如何配置 fcitx 的自动启动.**
# Fcitx 配置界面:
1. 配置工具封装:
在 `/usr/bin/fcitx-configtool` 找到了 fcitx-configtool。
2. 用于 GTK+-2.0 的配置界面:
**未找到 gtk2 的配置界面.**
3. 用于 GTK+-3.0 的配置界面:
**未找到 gtk3 的配置界面.**
4. KDE 的配置界面:
**`kcmshell4` 未找到.**
**无法找到一个图形界面的配置工具,请安装 `kcm-fcitx`,`fcitx-config-gtk2`,`fcitx-config-gtk3` 之一。**
# 前端设置:
## Xim:
1. `${XMODIFIERS}`:
环境变量 XMODIFIERS 已经正确地设为了 "@im=fcitx".
从环境变量中获取的 Xim 服务名称为 fcitx.
2. 根窗口上的 XIM_SERVERS:
**无法在根窗口找到 xim_server.**
## Qt:
1. qt4 - `${QT4_IM_MODULE}`:
环境变量 QT_IM_MODULE 已经正确地设为了 "fcitx".
2. qt5 - `${QT_IM_MODULE}`:
环境变量 QT_IM_MODULE 已经正确地设为了 "fcitx".
3. Qt 输入法模块文件:
找到了 Qt5 的输入法模块: `/usr/lib/qt/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so`.
找到了 fcitx 的 qt 模块: `/usr/lib/fcitx/qt/libfcitx-quickphrase-editor5.so`.
**无法找到 Qt4 的 fcitx 输入法模块.**
## Gtk:
1. gtk - `${GTK_IM_MODULE}`:
环境变量 GTK_IM_MODULE 已经正确地设为了 "fcitx".
2. `gtk-query-immodules`:
1. gtk 2:
在 `/usr/bin/gtk-query-immodules-2.0` 找到了 gtk `2.24.33` 的 `gtk-query-immodules`.
版本行:
# Created by /usr/bin/gtk-query-immodules-2.0 from gtk+-2.24.33
已找到 gtk `2.24.33` 的 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.24.27` 的 `gtk-query-immodules`.
版本行:
# Created by /usr/bin/gtk-query-immodules-3.0 from gtk+-3.24.27
已找到 gtk `3.24.27` 的 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.33` 的输入法模块缓存.
版本行:
# Created by /usr/bin/gtk-query-immodules-2.0 from gtk+-2.24.33
已找到 gtk `2.24.33` 的 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.24.27` 的输入法模块缓存.
版本行:
# Created by /usr/bin/gtk-query-immodules-3.0 from gtk+-3.24.27
已找到 gtk `3.24.27` 的 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. 找到了 27 个已启用的插件:
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-notificationitem
fcitx-pinyin
fcitx-pinyin-enhance
fcitx-punc
fcitx-quickphrase
fcitx-remote
fcitx-sogoupinyin
fcitx-spell
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. 找到了 2 个启用的输入法:
fcitx-keyboard-us
googlepinyin
2. 默认输入法:
您已经正确的将一个键盘输入法 "fcitx-keyboard-us" 设为默认.
# 日志:
1. `date`:
2021年 04月 03日 星期六 10:37:35 CST
2. `~/.config/fcitx/log/`:
总用量 0
3. `~/.config/fcitx/log/crash.log`:
`~/.config/fcitx/log/crash.log` 未找到.
3、其他可能有用的信息
这里我参考了挺多地方,有些设置我现在并不确定他们是不是必须的,如果有人能告诉我他们是不是没有必要的,非常感谢。
~ $ cat .pam_environment
GTK_IN_MODULE DEFAULT=fcitx
QT_IM_MODULE DEFAULT=fcitx
XMODIFIERS DEFAULT=\@im=fcitx
~ $ cat .xprofile
# intellij
export _JAVA_AWT_WM_NONREPARENTING=1
export AWT_TOOLKIT=MToolkit
wmname LG3D
fcitx &
#fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
#archwiki:enable Chinese locale
export LANG=zh_CN.UTF-8
export LANGUAGE=zh_CN:en_US
~/.fehbg &
# ~/repo/dwm-bar/dwm_bar.sh &
[steven@Q ~]$ locale
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=
[steven@Q ~]$ cat /etc/locale.conf
LANG=en_US.UTF-8
[steven@Q ~]$ cat .bashrc
#
# ~/.bashrc
#
# If not running interactively, don't do anything[steven@Q ~]$ cat .bashrc
#
# ~/.bashrc
#
# If not running interactively, don't do anything
[[ $- != *i* ]] && return
alias ls='ls --color=auto'
PS1='[\u@\h \W]\$ '
#exit ranger and go that dir
alias ranger='ranger --choosedir=$HOME/.rangerdir; LASTDIR=`cat $HOME/.rangerdir`; cd "$LASTDIR"'
alias ra='ranger'
# alacritty show Chinese
# don't know where set LC_ALL
unset LC_ALL
export LANG=zh_CN.UTF-8
[[ $- != *i* ]] && return
alias ls='ls --color=auto'
PS1='[\u@\h \W]\$ '
#exit ranger and go that dir
alias ranger='ranger --choosedir=$HOME/.rangerdir; LASTDIR=`cat $HOME/.rangerdir`; cd "$LASTDIR"'
alias ra='ranger'
# alacritty show Chinese
# don't know where set LC_ALL
unset LC_ALL
export LANG=zh_CN.UTF-8
如果有人能给予一点指导,提前感谢!
ps.如果alacritty始终不可以,我可以替换成什么终端比较好呢?
离线
fcitx-diagnose 说 fcitx 没在运行?
离线
fcitx-diagnose 说 fcitx 没在运行?
不好意思,是因为我重启了电脑先fcitx-diagnose后打开浏览器的所以还没运行
运行以后诊断结果是这样
# 系统信息:
1. `uname -a`:
Linux Q 5.11.10-arch1-1 #1 SMP PREEMPT Fri, 26 Mar 2021 00:11:29 +0000 x86_64 GNU/Linux
2. `lsb_release -a`:
LSB Version: 1.4
Distributor ID: Arch
Description: Arch Linux
Release: rolling
Codename: n/a
3. `lsb_release -d`:
Description: Arch Linux
4. `/etc/lsb-release`:
LSB_VERSION=1.4
DISTRIB_ID=Arch
DISTRIB_RELEASE=rolling
DISTRIB_DESCRIPTION="Arch Linux"
5. `/etc/os-release`:
NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://www.archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://bugs.archlinux.org/"
LOGO=archlinux
6. 桌面环境:
无法确定桌面环境。
7. Bash 版本:
BASH_VERSION='5.1.4(1)-release'
# 环境:
1. DISPLAY:
DISPLAY=':0'
2. 键盘布局:
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)" };
xkb_geometry { include "pc(pc105)" };
};
2. `xprop`:
_XKB_RULES_NAMES(STRING) = "evdev", "pc105", "us", "", ""
3. Locale:
1. 全部可用 locale:
C
en_US.utf8
POSIX
zh_CN.utf8
2. 当前 locale:
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=
4. 目录:
1. 主目录:
/home/steven
2. `${XDG_CONFIG_HOME}`:
环境变量 `XDG_CONFIG_HOME` 是设定为 `/home/steven/.config` 。
`XDG_CONFIG_HOME` 的当前值是 `~/.config` (`/home/steven/.config`)。
3. Fcitx 设置目录:
当前 fcitx 设置目录是 `~/.config/fcitx` (`/home/steven/.config/fcitx`)。
5. 当前用户:
脚本作为 steven (1000) 运行。
# Fcitx 状态:
1. 可执行文件:
在 `/usr/bin/fcitx` 找到了 fcitx.
2. 版本:
Fcitx 版本: `4.2.9.7`
3. 进程:
**Fcitx 没有在运行.**
**请访问 [入门指南](http://fcitx-im.org/wiki/Beginner%27s_Guide/zh-cn) 页面上对应您发行版的配置链接查看如何配置 fcitx 的自动启动.**
# Fcitx 配置界面:
1. 配置工具封装:
在 `/usr/bin/fcitx-configtool` 找到了 fcitx-configtool。
2. 用于 GTK+-2.0 的配置界面:
**未找到 gtk2 的配置界面.**
3. 用于 GTK+-3.0 的配置界面:
**未找到 gtk3 的配置界面.**
4. KDE 的配置界面:
**`kcmshell4` 未找到.**
**无法找到一个图形界面的配置工具,请安装 `kcm-fcitx`,`fcitx-config-gtk2`,`fcitx-config-gtk3` 之一。**
# 前端设置:
## Xim:
1. `${XMODIFIERS}`:
环境变量 XMODIFIERS 已经正确地设为了 "@im=fcitx".
从环境变量中获取的 Xim 服务名称为 fcitx.
2. 根窗口上的 XIM_SERVERS:
**无法在根窗口找到 xim_server.**
## Qt:
1. qt4 - `${QT4_IM_MODULE}`:
环境变量 QT_IM_MODULE 已经正确地设为了 "fcitx".
2. qt5 - `${QT_IM_MODULE}`:
环境变量 QT_IM_MODULE 已经正确地设为了 "fcitx".
3. Qt 输入法模块文件:
找到了 Qt5 的输入法模块: `/usr/lib/qt/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so`.
找到了 fcitx 的 qt 模块: `/usr/lib/fcitx/qt/libfcitx-quickphrase-editor5.so`.
**无法找到 Qt4 的 fcitx 输入法模块.**
## Gtk:
1. gtk - `${GTK_IM_MODULE}`:
环境变量 GTK_IM_MODULE 已经正确地设为了 "fcitx".
2. `gtk-query-immodules`:
1. gtk 2:
在 `/usr/bin/gtk-query-immodules-2.0` 找到了 gtk `2.24.33` 的 `gtk-query-immodules`.
版本行:
# Created by /usr/bin/gtk-query-immodules-2.0 from gtk+-2.24.33
已找到 gtk `2.24.33` 的 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.24.27` 的 `gtk-query-immodules`.
版本行:
# Created by /usr/bin/gtk-query-immodules-3.0 from gtk+-3.24.27
已找到 gtk `3.24.27` 的 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.33` 的输入法模块缓存.
版本行:
# Created by /usr/bin/gtk-query-immodules-2.0 from gtk+-2.24.33
已找到 gtk `2.24.33` 的 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.24.27` 的输入法模块缓存.
版本行:
# Created by /usr/bin/gtk-query-immodules-3.0 from gtk+-3.24.27
已找到 gtk `3.24.27` 的 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. 找到了 27 个已启用的插件:
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-notificationitem
fcitx-pinyin
fcitx-pinyin-enhance
fcitx-punc
fcitx-quickphrase
fcitx-remote
fcitx-sogoupinyin
fcitx-spell
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. 找到了 2 个启用的输入法:
fcitx-keyboard-us
googlepinyin
2. 默认输入法:
您已经正确的将一个键盘输入法 "fcitx-keyboard-us" 设为默认.
# 日志:
1. `date`:
2021年 04月 03日 星期六 10:37:35 CST
2. `~/.config/fcitx/log/`:
总用量 0
3. `~/.config/fcitx/log/crash.log`:
`~/.config/fcitx/log/crash.log` 未找到.
[steven@Q ~]$
[steven@Q ~]$
[steven@Q ~]$ st
child exited with status 127
[steven@Q ~]$ vim .xprofile
[steven@Q ~]$
[steven@Q ~]$
[steven@Q ~]$ cat .pam_environment
GTK_IN_MODULE DEFAULT=fcitx
QT_IM_MODULE DEFAULT=fcitx
XMODIFIERS DEFAULT=\@im=fcitx
[steven@Q ~]$ cat .xprofile
# intellij
export _JAVA_AWT_WM_NONREPARENTING=1
export AWT_TOOLKIT=MToolkit
wmname LG3D
fcitx &
#fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
#archwiki:enable Chinese locale
export LANG=zh_CN.UTF-8
export LANGUAGE=zh_CN:en_US
~/.fehbg &
# ~/repo/dwm-bar/dwm_bar.sh &
[steven@Q ~]$
[steven@Q ~]$ locale
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=
[steven@Q ~]$
[steven@Q ~]$ cat /etc/lo
locale.conf locale.gen localtime login.defs logrotate.d/
[steven@Q ~]$ cat /etc/lo
locale.conf locale.gen localtime login.defs logrotate.d/
[steven@Q ~]$ cat /etc/locale.conf
LANG=en_US.UTF-8
[steven@Q ~]$ cat .bashrc
#
# ~/.bashrc
#
# If not running interactively, don't do anything
[[ $- != *i* ]] && return
alias ls='ls --color=auto'
PS1='[\u@\h \W]\$ '
#exit ranger and go that dir
alias ranger='ranger --choosedir=$HOME/.rangerdir; LASTDIR=`cat $HOME/.rangerdir`; cd "$LASTDIR"'
alias ra='ranger'
# alacritty show Chinese
# don't know where set LC_ALL
unset LC_ALL
export LANG=zh_CN.UTF-8
[steven@Q ~]$
[steven@Q ~]$
[steven@Q ~]$ fcitx-diagnose
# 系统信息:
1. `uname -a`:
Linux Q 5.11.10-arch1-1 #1 SMP PREEMPT Fri, 26 Mar 2021 00:11:29 +0000 x86_64 GNU/Linux
2. `lsb_release -a`:
LSB Version: 1.4
Distributor ID: Arch
Description: Arch Linux
Release: rolling
Codename: n/a
3. `lsb_release -d`:
Description: Arch Linux
4. `/etc/lsb-release`:
LSB_VERSION=1.4
DISTRIB_ID=Arch
DISTRIB_RELEASE=rolling
DISTRIB_DESCRIPTION="Arch Linux"
5. `/etc/os-release`:
NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://www.archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://bugs.archlinux.org/"
LOGO=archlinux
6. 桌面环境:
无法确定桌面环境。
7. Bash 版本:
BASH_VERSION='5.1.4(1)-release'
# 环境:
1. DISPLAY:
DISPLAY=':0'
2. 键盘布局:
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)" };
xkb_geometry { include "pc(pc105)" };
};
2. `xprop`:
_XKB_RULES_NAMES(STRING) = "evdev", "pc105", "us", "", ""
3. Locale:
1. 全部可用 locale:
C
en_US.utf8
POSIX
zh_CN.utf8
2. 当前 locale:
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=
4. 目录:
1. 主目录:
/home/steven
2. `${XDG_CONFIG_HOME}`:
环境变量 `XDG_CONFIG_HOME` 是设定为 `/home/steven/.config` 。
`XDG_CONFIG_HOME` 的当前值是 `~/.config` (`/home/steven/.config`)。
3. Fcitx 设置目录:
当前 fcitx 设置目录是 `~/.config/fcitx` (`/home/steven/.config/fcitx`)。
5. 当前用户:
脚本作为 steven (1000) 运行。
# Fcitx 状态:
1. 可执行文件:
在 `/usr/bin/fcitx` 找到了 fcitx.
2. 版本:
Fcitx 版本: `4.2.9.7`
3. 进程:
找到了 2 个 fcitx 进程:
36880 fcitx
36890 fcitx-dbus-watc
4. `fcitx-remote`:
`fcitx-remote` 工作正常.
5. DBus 界面:
使用 `dbus-send` 来检查 dbus。
DBus 名称 `org.fcitx.Fcitx` 的所有者是 `:1.202`。
DBus 名称 `org.fcitx.Fcitx` 的 PID 所有者是 `36880`。
# Fcitx 配置界面:
1. 配置工具封装:
在 `/usr/bin/fcitx-configtool` 找到了 fcitx-configtool。
2. 用于 GTK+-2.0 的配置界面:
**未找到 gtk2 的配置界面.**
3. 用于 GTK+-3.0 的配置界面:
**未找到 gtk3 的配置界面.**
4. KDE 的配置界面:
**`kcmshell4` 未找到.**
**无法找到一个图形界面的配置工具,请安装 `kcm-fcitx`,`fcitx-config-gtk2`,`fcitx-config-gtk3` 之一。**
# 前端设置:
## 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 输入法模块文件:
找到了 Qt5 的输入法模块: `/usr/lib/qt/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so`.
找到了 fcitx 的 qt 模块: `/usr/lib/fcitx/qt/libfcitx-quickphrase-editor5.so`.
**无法找到 Qt4 的 fcitx 输入法模块.**
## Gtk:
1. gtk - `${GTK_IM_MODULE}`:
环境变量 GTK_IM_MODULE 已经正确地设为了 "fcitx".
2. `gtk-query-immodules`:
1. gtk 2:
在 `/usr/bin/gtk-query-immodules-2.0` 找到了 gtk `2.24.33` 的 `gtk-query-immodules`.
版本行:
# Created by /usr/bin/gtk-query-immodules-2.0 from gtk+-2.24.33
已找到 gtk `2.24.33` 的 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.24.27` 的 `gtk-query-immodules`.
版本行:
# Created by /usr/bin/gtk-query-immodules-3.0 from gtk+-3.24.27
已找到 gtk `3.24.27` 的 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.33` 的输入法模块缓存.
版本行:
# Created by /usr/bin/gtk-query-immodules-2.0 from gtk+-2.24.33
已找到 gtk `2.24.33` 的 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.24.27` 的输入法模块缓存.
版本行:
# Created by /usr/bin/gtk-query-immodules-3.0 from gtk+-3.24.27
已找到 gtk `3.24.27` 的 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. 找到了 27 个已启用的插件:
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-notificationitem
fcitx-pinyin
fcitx-pinyin-enhance
fcitx-punc
fcitx-quickphrase
fcitx-remote
fcitx-sogoupinyin
fcitx-spell
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. 找到了 3 个启用的输入法:
fcitx-keyboard-us
sogoupinyin
googlepinyin
2. 默认输入法:
您已经正确的将一个键盘输入法 "fcitx-keyboard-us" 设为默认.
# 日志:
1. `date`:
2021年 04月 03日 星期六 17:08:31 CST
2. `~/.config/fcitx/log/`:
总用量 0
3. `~/.config/fcitx/log/crash.log`:
`~/.config/fcitx/log/crash.log` 未找到.
[steven@Q ~]$
[steven@Q ~]$
[steven@Q ~]$
[steven@Q ~]$ fcitx-diagnose
# 系统信息:
1. `uname -a`:
Linux Q 5.11.10-arch1-1 #1 SMP PREEMPT Fri, 26 Mar 2021 00:11:29 +0000 x86_64 GNU/Linux
2. `lsb_release -a`:
LSB Version: 1.4
Distributor ID: Arch
Description: Arch Linux
Release: rolling
Codename: n/a
3. `lsb_release -d`:
Description: Arch Linux
4. `/etc/lsb-release`:
LSB_VERSION=1.4
DISTRIB_ID=Arch
DISTRIB_RELEASE=rolling
DISTRIB_DESCRIPTION="Arch Linux"
5. `/etc/os-release`:
NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://www.archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://bugs.archlinux.org/"
LOGO=archlinux
6. 桌面环境:
无法确定桌面环境。
7. Bash 版本:
BASH_VERSION='5.1.4(1)-release'
# 环境:
1. DISPLAY:
DISPLAY=':0'
2. 键盘布局:
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)" };
xkb_geometry { include "pc(pc105)" };
};
2. `xprop`:
_XKB_RULES_NAMES(STRING) = "evdev", "pc105", "us", "", ""
3. Locale:
1. 全部可用 locale:
C
en_US.utf8
POSIX
zh_CN.utf8
2. 当前 locale:
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=
4. 目录:
1. 主目录:
/home/steven
2. `${XDG_CONFIG_HOME}`:
环境变量 `XDG_CONFIG_HOME` 是设定为 `/home/steven/.config` 。
`XDG_CONFIG_HOME` 的当前值是 `~/.config` (`/home/steven/.config`)。
3. Fcitx 设置目录:
当前 fcitx 设置目录是 `~/.config/fcitx` (`/home/steven/.config/fcitx`)。
5. 当前用户:
脚本作为 steven (1000) 运行。
# Fcitx 状态:
1. 可执行文件:
在 `/usr/bin/fcitx` 找到了 fcitx.
2. 版本:
Fcitx 版本: `4.2.9.7`
3. 进程:
找到了 2 个 fcitx 进程:
36880 fcitx
36890 fcitx-dbus-watc
4. `fcitx-remote`:
`fcitx-remote` 工作正常.
5. DBus 界面:
使用 `dbus-send` 来检查 dbus。
DBus 名称 `org.fcitx.Fcitx` 的所有者是 `:1.202`。
DBus 名称 `org.fcitx.Fcitx` 的 PID 所有者是 `36880`。
# Fcitx 配置界面:
1. 配置工具封装:
在 `/usr/bin/fcitx-configtool` 找到了 fcitx-configtool。
2. 用于 GTK+-2.0 的配置界面:
**未找到 gtk2 的配置界面.**
3. 用于 GTK+-3.0 的配置界面:
**未找到 gtk3 的配置界面.**
4. KDE 的配置界面:
**`kcmshell4` 未找到.**
**无法找到一个图形界面的配置工具,请安装 `kcm-fcitx`,`fcitx-config-gtk2`,`fcitx-config-gtk3` 之一。**
# 前端设置:
## 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 输入法模块文件:
找到了 Qt5 的输入法模块: `/usr/lib/qt/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so`.
找到了 fcitx 的 qt 模块: `/usr/lib/fcitx/qt/libfcitx-quickphrase-editor5.so`.
**无法找到 Qt4 的 fcitx 输入法模块.**
## Gtk:
1. gtk - `${GTK_IM_MODULE}`:
环境变量 GTK_IM_MODULE 已经正确地设为了 "fcitx".
2. `gtk-query-immodules`:
1. gtk 2:
在 `/usr/bin/gtk-query-immodules-2.0` 找到了 gtk `2.24.33` 的 `gtk-query-immodules`.
版本行:
# Created by /usr/bin/gtk-query-immodules-2.0 from gtk+-2.24.33
已找到 gtk `2.24.33` 的 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.24.27` 的 `gtk-query-immodules`.
版本行:
# Created by /usr/bin/gtk-query-immodules-3.0 from gtk+-3.24.27
已找到 gtk `3.24.27` 的 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.33` 的输入法模块缓存.
版本行:
# Created by /usr/bin/gtk-query-immodules-2.0 from gtk+-2.24.33
已找到 gtk `2.24.33` 的 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.24.27` 的输入法模块缓存.
版本行:
# Created by /usr/bin/gtk-query-immodules-3.0 from gtk+-3.24.27
已找到 gtk `3.24.27` 的 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. 找到了 27 个已启用的插件:
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-notificationitem
fcitx-pinyin
fcitx-pinyin-enhance
fcitx-punc
fcitx-quickphrase
fcitx-remote
fcitx-sogoupinyin
fcitx-spell
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. 找到了 3 个启用的输入法:
fcitx-keyboard-us
sogoupinyin
googlepinyin
2. 默认输入法:
您已经正确的将一个键盘输入法 "fcitx-keyboard-us" 设为默认.
# 日志:
1. `date`:
2021年 04月 03日 星期六 17:12:31 CST
2. `~/.config/fcitx/log/`:
总用量 0
3. `~/.config/fcitx/log/crash.log`:
`~/.config/fcitx/log/crash.log` 未找到.
离线
alacritty 如果不配合tmux使用没什么意义。所以我的alacritty 是启用的 tmux 再执行的zsh.
目前使用fcitx5 没发现你说的问题。
fcitx5 --version
5.0.7
离线
alacritty 如果不配合tmux使用没什么意义。所以我的alacritty 是启用的 tmux 再执行的zsh.
目前使用fcitx5 没发现你说的问题。fcitx5 --version 5.0.7
那我试一下 蟹蟹
离线
我做了一些尝试,无意间发现了这样一个事情。
如果我用dwm的快捷键(Mod+Shift+Enter)启动一个终端,无论这个终端是什么st 还是alacritty,总是无法使用fcitx的。但是如果我从这个终端启动另一个终端,无论是什么终端,这次都可以使用fcitx。
之前我这个Mod+Shift+Enter是启动alacritty,所以我误以为alacritty中无法使用fcitx,但是实际上我切换成st才明白不是他们两个中某个的问题。
我猜测是dwm启动和从shell启动终端读取了不同的配置文件或者初始化文件(类似 .bashrc 但是肯定不是啦),所以是不是可能哪个文件是仅被其中一种方式启动的终端读取了?
另外在Mod+Shift+Enter所启动的终端中,中文和emoji都无法正常显示,中文显示效果是有一点重叠,emoji则是占用两个位置但是仅仅显示一半,在自己启动的终端里没有任何显示和输入问题。
因此我猜测又是字体相关的原因。是不是哪个字体配置的加载方式不同?
如果能有人想到什么,这里先谢谢大家了
离线
字体那个,是 LANG 环境变量不同吧?
你用于设置输入法环境变量的文件,没有在启动 dwm 前被加载呗。
离线
遇事不决,fcitx5
布丁酱是菜鸡,没毛病,他是菜鸡:)
离线
我fcitx5 + alacritty 没毛病。
离线
可以尝试对比你无法使用fcitx终端环境的env和可以使用fcitx终端环境的env,
根据你的描述,问题大概率出现在某个(些)环境变量没有正确加载,查出是哪个环境变量之后可以考虑用systemd往session中加环境变量
离线
页次: 1