mirror of
https://github.com/keymanapp/keyman.git
synced 2026-08-05 16:35:33 +00:00
This change deals with restarting ibus in the post-install script. Also, on Ubuntu 21.10 Impish there are two `ibus-daemon` processes running for the current user. One of them has the `--xim` flag and is the one we care about. This change improves the detection that ibus is running in the post installation script.
52 lines
1.3 KiB
Bash
52 lines
1.3 KiB
Bash
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
case "$1" in
|
|
|
|
remove)
|
|
# if don't have sudo and ps then don't attempt to restart ibus
|
|
if which sudo > /dev/null && which ps > /dev/null; then
|
|
|
|
# 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
|
|
|
|
# No need to verify that ibus is running - we're uninstalling keyman
|
|
# and so we don't care if it's not running
|
|
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
|