diff --git a/linux/ibus-keyman/debian/postinst b/linux/ibus-keyman/debian/postinst index fca90909bd..fef6e8854a 100644 --- a/linux/ibus-keyman/debian/postinst +++ b/linux/ibus-keyman/debian/postinst @@ -13,15 +13,15 @@ case "$1" in ! gspid=`ps -C gnome-shell -o pid=|head -n 1` if [ "x$gspid" != "x" ]; then # gnome-shell has multiple ibus-daemon processes and needs exit instead of restart - ibususer=`ps -C ibus-daemon -o user=|grep -v gdm|uniq` - if [ "x$ibususer" != "x" ]; then + ibususers=`ps -C ibus-daemon -o user=|grep -v gdm|uniq` + for ibususer in $ibususers; do sudo -H -u "$ibususer" ibus exit || true - fi + done else - ibususer=`ps -C ibus-daemon -o user=|uniq` - if [ "x$ibususer" != "x" ]; then + ibususers=`ps -C ibus-daemon -o user=|uniq` + for ibususer in $ibususers; do sudo -H -u "$ibususer" ibus restart || true - fi + done fi fi ;; diff --git a/linux/ibus-keyman/debian/postrm b/linux/ibus-keyman/debian/postrm index 1f77d4434d..c1f3425606 100644 --- a/linux/ibus-keyman/debian/postrm +++ b/linux/ibus-keyman/debian/postrm @@ -13,15 +13,15 @@ case "$1" in ! gspid=`ps -C gnome-shell -o pid=|head -n 1` if [ "x$gspid" != "x" ]; then # gnome-shell has multiple ibus-daemon processes and needs exit instead of restart - ibususer=`ps -C ibus-daemon -o user=|grep -v gdm|uniq` - if [ "x$ibususer" != "x" ]; then + ibususers=`ps -C ibus-daemon -o user=|grep -v gdm|uniq` + for ibususer in $ibususers; do sudo -H -u "$ibususer" ibus exit || true - fi + done else - ibususer=`ps -C ibus-daemon -o user=|uniq` - if [ "x$ibususer" != "x" ]; then + ibususers=`ps -C ibus-daemon -o user=|uniq` + for ibususer in $ibususers; do sudo -H -u "$ibususer" ibus restart || true - fi + done fi fi ;;