症状:
urxvt、所有tk程序无法打开,运行时提示“segfault”
猜测:
xcb 的问题
根据:
近期安装过 awesome ,在 xcb 这方面有变动
解决过程:
1.从 .xinitrc 中剔除scim -d。
2.urxvt、tk 正常。
3.进行大量 google ,无果。
4.进行 strace。
strace urxvt 临近 segfault 部分输出:
access("/usr/share/X11/locale/zh_CN.UTF-8/XLC_LOCALE", R_OK) = 0
open("/usr/share/X11/locale/zh_CN.UTF-8/XLC_LOCALE", O_RDONLY) = 7
fstat64(7, {st_mode=S_IFREG|0644, st_size=2076, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f2a000
read(7, "# XFree86 NLS for Chinese loc"..., 4096) = 2076
read(7, ""..., 4096) = 0
close(7) = 0
5.此时发现问题可能在XLC_LOCALE上,想起以前改过这个文件(为加快xfontsel和wine速度),只留下ISO10646-1这一段
6.恢复fs0、fs1、cs0、cs1。
7.问题解决。
总结:
XIM 重度依赖 LOCALE
X 的 i18n 支持十分烂
其它:
应该寻找字体填补缺少的字符集。