[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#905129: im-config: Wrongly run shell scripts with user's shell interpreter, raises error with zsh



I also have to point out that I am using KDE + sddm as Display Manager.
It seems that /etc/X11/Xsession file is already called by sddm using
user-specified
shell interpreter. Haven't dug into it further.

--
Regards,
Boyuan Yang

Boyuan Yang <073plan@gmail.com> 于2018年7月31日周二 下午10:33写道:
>
> Package: im-config
> Severity: important
> Version: 0.30-1
> X-Debbugs-CC: osamu@debian.org
>
> Hi Osamu and debian-input-method team members,
>
> TL;DR: file /etc/X11/Xsession.d/70im-config_launch is *not* called by /bin/sh,
> as written in shabang; it is called by user's shell interpreter
> instead, which may
> result in unexpected outcome when user's default shell is neither
> /bin/dash nor /bin/bash.
>
> How to confirm that 70im-config_launch is not using "/bin/sh"
> ================================================
>
> 1. Add a single line at l13:
>     logger "im-config: WARNING: Currently the shell is ${SHELL}..."
> 2. Reboot, login and examine syslog. ${SHELL} is replaced by user
> shell interpreter. If the user is using zsh, it will show "/usr/bin/zsh", which
> is highly undesired.
>
> Zsh-incompatible shell grammar in im-config shell snippet
> ==============================================
>
> In file /usr/share/im-config/data/21_ibus.rc:
>
> GTK_IM_MODULE=xim
> # use immodule only when available for both GTK 2.0 and 3.0
> IM_CONFIG_MARKER2=0
> for IM_CONFIG_MARKER in /usr/lib/*/gtk-2.0/*/immodules/im-ibus.so \
>                         /usr/lib/gtk-2.0/*/immodules/im-ibus.so ; do
>     if [ -e $IM_CONFIG_MARKER ]; then
>         IM_CONFIG_MARKER2=1
>         break
>     fi
> done
>
> Zsh does not accept the for statement, since on current unstable system
> /usr/lib/gtk-2.0/*/immodules/im-ibus.so matches nothing. Zsh would fail here
> while Bash and dash ignore the unmatched string.
>
> Solution
> =======
>
> While the zsh-incompatible grammar can be fixed (perhaps with a thorough
> examination of all im-config source code), the problem that
> Xsession.d scripts are executed by user shell interpreter is a big problem
> and should receive further examination.
>
> --
> Regards,
> Boyuan Yang
>


Reply to: