Package: im-config
Version: 0.34-1
Severity: important
Tags: upstream
Dear Maintainer,
On a fresh Debian testing desktop with KDE Plasma and zh_CN locale,
fcitx is the default input method. im-config Xsession scripts should
set up environment variables for desktop.
After changing user login shell to zsh, im-config failed to set up
environment variables correctly, which makes fcitx not work in QT
windows.
The problem is that Xsession scripts is executed with user login shell,
and some im-config scripts don't behave properly with zsh. For example,
in /usr/share/im-config/data/22_fcitx.rc:
```
for IM_CONFIG_MARKER in /usr/lib/*/gtk-2.0/*/immodules/im-fcitx.so \
/usr/lib/gtk-2.0/*/immodules/im-fcitx.so ; do
if [ -e $IM_CONFIG_MARKER ]; then
IM_CONFIG_MARKER2=1
break
fi
done
```
zsh refused to enter the loop because globbing has no matches:
```
zsh: no matches found: /usr/lib/gtk-2.0/*/immodules/im-fcitx.so
```
According to: http://zsh.sourceforge.net/Doc/Release/Options.html This
(nomatch) is the default behaviour for zsh (and maybe csh?), but not
bash (which will simply delete it from the argument list and generate no
errors).
Not sure whether im-config or display manager (SDDM) should be blamed.
Personally I think that system-wide Xsession scripts should be called
with system default shell (/bin/sh) instead of user login shell.
-- System Information:
Debian Release: buster/sid
APT prefers testing
APT policy: (500, 'testing'), (50, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.14.0-3-amd64 (SMP w/8 CPU cores)
Locale: LANG=zh_CN.UTF-8, LC_CTYPE=zh_CN.UTF-8 (charmap=UTF-8),
LANGUAGE=zh_CN:zh (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages im-config depends on:
ii gettext-base 0.19.8.1-4
Versions of packages im-config recommends:
ii kde-baseapps-bin 4:16.08.3-3
ii kdialog 4:17.08.3-2
ii whiptail 0.52.20-2
ii x11-common 1:7.7+19
ii zenity 3.27.90-1
im-config suggests no packages.
-- no debconf information