Files
wallpaper_demon/uninstall_service.sh
T

47 lines
1.4 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
set -e
SERVICE_NAME="wallpaper-daemon"
SYSTEM_SERVICE_DIR="/etc/systemd/user"
# Используем домашнюю директорию реального пользователя, а не root
if [ "$EUID" -eq 0 ]; then
REAL_USER="${SUDO_USER:-$(logname)}"
INSTALL_DIR="/home/$REAL_USER/.local/share/wallpaper-daemon"
else
INSTALL_DIR="$HOME/.local/share/wallpaper-daemon"
fi
if [ "$EUID" -ne 0 ]; then
echo "Для удаления сервиса требуются права root. Запустите с sudo:"
echo " sudo $0"
exit 1
fi
echo "Остановка сервисов у активных пользователей..."
for uid in $(loginctl list-users --no-legend | awk '{print $1}'); do
user=$(id -un "$uid" 2>/dev/null)
if [ -n "$user" ]; then
echo " - $user"
runuser -u "$user" -- systemctl --user stop "$SERVICE_NAME.service" 2>/dev/null || true
runuser -u "$user" -- systemctl --user disable "$SERVICE_NAME.service" 2>/dev/null || true
fi
done
for uid in $(loginctl list-users --no-legend | awk '{print $1}'); do
user=$(id -un "$uid" 2>/dev/null)
if [ -n "$user" ]; then
loginctl disable-linger "$user" 2>/dev/null || true
fi
done
rm -f "$SYSTEM_SERVICE_DIR/$SERVICE_NAME.service"
systemctl daemon-reload
echo "Удаление файлов из $INSTALL_DIR..."
rm -rf "$INSTALL_DIR"
echo "Сервис удален"