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.
This commit is contained in:
Eberhard Beilharz 2020-11-20 18:39:48 +01:00
parent cc7cbeb8fd
commit 0a36a484d4
No known key found for this signature in database
GPG key ID: 64A39A9E98B53105
2 changed files with 12 additions and 12 deletions

View file

@ -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
;;

View file

@ -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
;;