I have this same problem. According to the strace, something is dying causing the program to wait for a reply that does not exist.
Trying to add the .xinput.d/zh_CN file does not seem to work for me.
Running the program "oowriter" as root works.
STRACE BELOW:
write(4, "\20\1\t\0\32\0\300\1_NET_WM_WINDOW_TYPE_SPLA"..., 36) = 36 read(4, "\0010\16\0\0\0\0\0\25\1\0\0\1\0\0\0\0\0\0\0$\0\0\0$\0\0"..., 32) = 32 write(4, "\22\0\7\0\1\0\300\1\365\0\0\0\4\0\0\0 IND\1\0\0\0\25\1"..., 52) = 52 read(4, "\0010\20\0\0\0\0\0\371\0\0\0\0\0\0\0\0\0\0\0\30\0\0\0\30"..., 32) = 32 mmap2(NULL, 503808, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7c01000 writev(4, [{"\22\0\v\0\1\0\300\1\371\0\0\0\371\0\0\0 IND\5\0\0\0\17"..., 100}, {"III\0III\0III\0III\0III\0III\0III\0III\0"..., 260480}], 2) = 260580 writev(4, [{"H\0026\355\3\0\300\1\4\0\300\1\270\1\212\0\0\0\224\0\0"..., 24}, {"III\0\265\265\265\0\266\266\266\0\266\266\266\0\266\266"..., 242880}], 2) = 242904 munmap(0xb7c01000, 503808) = 0 write(4, "\2\2\4\0\1\0\300\1\1\0\0\0\3\0\300\1<\0\2\0\4\0\300\001"..., 112) = 112 ioctl(4, FIONREAD, [0]) = 0 access("/proc/version", F_OK) = 0 pipe([5, 6]) = 0 fstat64(5, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0 fcntl64(5, F_GETFL) = 0 (flags O_RDONLY) pipe([7, 8]) = 0 pipe([9, 10]) = 0 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7cd9928) = 2070 --- SIGCHLD (Child exited) @ 0 (0) --- close(8) = 0 close(10) = 0 waitpid(2070, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0) = 2070 read(7, "", 8) = 0 read(9, "\27\10\0\0", 4) = 4 read(9, "", 0) = 0 close(7) = 0 close(9) = 0 close(6) = 0 write(4, "C\2\5\0\1\0\300\1\2\0\300\1\f\0\f\1\240\1\6\0F\0\5\0\1"..., 40) = 40 ioctl(4, FIONREAD, [0]) = 0 poll([{fd=5, events=POLLIN|POLLPRI}], 1, 0) = 0 nanosleep({0, 20000000}, NULL) = 0 write(4, "C\2\5\0\1\0\300\1\2\0\300\1\f\0\f\1\240\1\6\0F\0\5\0\1"..., 40) = 40 ioctl(4, FIONREAD, [0]) = 0 poll([{fd=5, events=POLLIN|POLLPRI}], 1, 0) = 0 nanosleep({0, 20000000}, NULL) = 0
I have this same problem. According to the strace, something is dying causing the program to wait for a reply that does not exist.
Trying to add the .xinput.d/zh_CN file does not seem to work for me.
Running the program "oowriter" as root works.
STRACE BELOW:
write(4, "\20\1\ t\0\32\ 0\300\1_ NET_WM_ WINDOW_ TYPE_SPLA" ..., 36) = 36 16\0\0\ 0\0\0\25\ 1\0\0\1\ 0\0\0\0\ 0\0\0$\ 0\0\0$\ 0\0"... , 32) = 32 7\0\1\0\ 300\1\365\ 0\0\0\4\ 0\0\0 IND\1\0\ 0\0\25\ 1"..., 52) = 52 20\0\0\ 0\0\0\371\ 0\0\0\0\ 0\0\0\0\ 0\0\0\30\ 0\0\0\30" ..., 32) = 32 PROT_WRITE, MAP_PRIVATE| MAP_ANONYMOUS, -1, 0) = 0xb7c01000 0\v\0\1\ 0\300\1\ 371\0\0\ 0\371\0\ 0\0 IND\5\0\0\0\17"..., 100}, {"III\0III\ 0III\0III\ 0III\0III\ 0III\0III\ 0"..., 260480}], 2) = 260580 355\3\0\ 300\1\4\ 0\300\1\ 270\1\212\ 0\0\0\224\ 0\0"... , 24}, {"III\0\ 265\265\ 265\0\266\ 266\266\ 0\266\266\ 266\0\266\ 266"... , 242880}], 2) = 242904 0\1\0\300\ 1\1\0\0\ 0\3\0\300\ 1<\0\2\ 0\4\0\300\ 001"... , 112) = 112 "/proc/ version" , F_OK) = 0 S_IFIFO| 0600, st_size=0, ...}) = 0 stack=0, flags=CLONE_ CHILD_CLEARTID| CLONE_CHILD_ SETTID| SIGCHLD, child_tidptr= 0xb7cd9928) = 2070 0\1\0\300\ 1\2\0\300\ 1\f\0\f\ 1\240\1\ 6\0F\0\ 5\0\1". .., 40) = 40 POLLIN| POLLPRI} ], 1, 0) = 0 0\1\0\300\ 1\2\0\300\ 1\f\0\f\ 1\240\1\ 6\0F\0\ 5\0\1". .., 40) = 40 POLLIN| POLLPRI} ], 1, 0) = 0
read(4, "\0010\
write(4, "\22\0\
read(4, "\0010\
mmap2(NULL, 503808, PROT_READ|
writev(4, [{"\22\
writev(4, [{"H\0026\
munmap(0xb7c01000, 503808) = 0
write(4, "\2\2\4\
ioctl(4, FIONREAD, [0]) = 0
access(
pipe([5, 6]) = 0
fstat64(5, {st_mode=
fcntl64(5, F_GETFL) = 0 (flags O_RDONLY)
pipe([7, 8]) = 0
pipe([9, 10]) = 0
clone(child_
--- SIGCHLD (Child exited) @ 0 (0) ---
close(8) = 0
close(10) = 0
waitpid(2070, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0) = 2070
read(7, "", 8) = 0
read(9, "\27\10\0\0", 4) = 4
read(9, "", 0) = 0
close(7) = 0
close(9) = 0
close(6) = 0
write(4, "C\2\5\
ioctl(4, FIONREAD, [0]) = 0
poll([{fd=5, events=
nanosleep({0, 20000000}, NULL) = 0
write(4, "C\2\5\
ioctl(4, FIONREAD, [0]) = 0
poll([{fd=5, events=
nanosleep({0, 20000000}, NULL) = 0