spiegel-keyman/linux/ibus-keyman/debian/postrm
Eberhard Beilharz 0a36a484d4
fix(linux): Deal with multiple users running ibus-daemon
If there are multiple users running `ibus-daemon` processes on the
machine, we restart ibus for all of them.
2020-11-20 18:39:48 +01:00

45 lines
1 KiB
Bash

#!/bin/sh
set -e
case "$1" in
remove)
# Restart IBus if it is running
! ibuspid=`ps -C ibus-daemon -o pid=|head -n 1`
if [ "x$ibuspid" != "x" ]; then
# check for gnome-shell as it works differently
! 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
ibususers=`ps -C ibus-daemon -o user=|grep -v gdm|uniq`
for ibususer in $ibususers; do
sudo -H -u "$ibususer" ibus exit || true
done
else
ibususers=`ps -C ibus-daemon -o user=|uniq`
for ibususer in $ibususers; do
sudo -H -u "$ibususer" ibus restart || true
done
fi
fi
;;
purge|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
exit 0
;;
*)
echo "postrm called with unknown argument \`$1'" >&2
exit 1
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0