-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathuninstall.sh
More file actions
executable file
·114 lines (97 loc) · 3.7 KB
/
uninstall.sh
File metadata and controls
executable file
·114 lines (97 loc) · 3.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
#!/bin/bash
# uninstall.sh — Désinstallation de dictee
# Usage : sudo ./uninstall.sh
set -e
PREFIX="/usr/local"
MODEL_DIR="/usr/share/dictee"
if [ "$(id -u)" -ne 0 ]; then
echo "Ce script doit être lancé avec sudo :"
echo " sudo ./uninstall.sh"
exit 1
fi
REAL_USER="${SUDO_USER:-$USER}"
REAL_HOME=$(eval echo "~$REAL_USER")
echo "=== Désinstallation de dictee ==="
echo ""
# Arrêter les services
echo "→ Arrêt des services"
for svc in dictee dictee-tray dictee-ptt dotoold dictee-vosk dictee-whisper dictee-canary; do
su "$REAL_USER" -c "systemctl --user stop $svc 2>/dev/null || true"
su "$REAL_USER" -c "systemctl --user disable $svc 2>/dev/null || true"
done
# Binaires
echo "→ Suppression des binaires"
for bin in transcribe transcribe-daemon transcribe-client transcribe-diarize \
transcribe-stream-diarize dictee dictee-setup dictee-tray dictee-ptt dictee-postprocess \
dictee-switch-backend dictee-test-rules \
dictee-transcribe dictee-reset dictee-translate-langs dictee-audio-sources \
transcribe-daemon-vosk transcribe-daemon-whisper \
dictee-plasmoid-level dictee-plasmoid-level-daemon dictee-plasmoid-level-fft \
dotool dotoold; do
rm -f "$PREFIX/bin/$bin"
done
# Udev rules
echo "→ Suppression des règles udev"
rm -f "/etc/udev/rules.d/80-dotool.rules"
udevadm control --reload-rules 2>/dev/null || true
udevadm trigger /dev/uinput 2>/dev/null || true
# Man pages
echo "→ Suppression des pages de manuel"
for man in transcribe transcribe-daemon transcribe-client transcribe-diarize \
transcribe-stream-diarize dictee dictee-setup dictee-tray \
dictee-switch-backend dictee-test-rules dictee-postprocess; do
rm -f "$PREFIX/share/man/man1/$man.1"
rm -f "$PREFIX/share/man/fr/man1/$man.1"
done
# Desktop entry
echo "→ Suppression du fichier .desktop"
rm -f "$PREFIX/share/applications/dictee-setup.desktop"
rm -f "$PREFIX/share/applications/dictee-tray.desktop"
# Services systemd
echo "→ Suppression des services systemd"
for svc in dictee dictee-tray dictee-ptt dotoold dictee-vosk dictee-whisper dictee-canary; do
rm -f "$REAL_HOME/.config/systemd/user/$svc.service"
done
su "$REAL_USER" -c "systemctl --user daemon-reload 2>/dev/null || true"
# Plasmoid KDE
if command -v kpackagetool6 >/dev/null 2>&1; then
echo "→ Suppression du widget Plasma"
su "$REAL_USER" -c "kpackagetool6 -t Plasma/Applet -r com.github.rcspam.dictee 2>/dev/null || true"
fi
# Preset systemd
echo "→ Suppression du preset systemd"
rm -f "/usr/lib/systemd/user-preset/90-dictee.preset"
# CUDA libs
if [ -d "/usr/lib/dictee" ]; then
echo "→ Suppression des libs CUDA"
rm -rf "/usr/lib/dictee"
rm -f "/etc/ld.so.conf.d/dictee.conf"
ldconfig 2>/dev/null || true
fi
# Locales
echo "→ Suppression des traductions"
for lang in fr de es it uk pt; do
rm -f "/usr/share/locale/$lang/LC_MESSAGES/dictee.mo"
rm -f "$PREFIX/share/locale/$lang/LC_MESSAGES/dictee.mo"
done
# Icônes
echo "→ Suppression des icônes"
for icon in parakeet-active parakeet-active-dark parakeet-inactive parakeet-inactive-dark \
parakeet-offline parakeet-recording parakeet-transcribing parakeet-diarize \
dictee dictee-setup dictee-tray; do
rm -f "$REAL_HOME/.local/share/icons/hicolor/scalable/apps/$icon.svg"
done
# Modèles (demander confirmation)
if [ -d "$MODEL_DIR" ]; then
echo ""
read -p "Supprimer les modèles ONNX ($MODEL_DIR, ~5 Go) ? [o/N] " reply
if [ "$reply" = "o" ] || [ "$reply" = "O" ]; then
rm -rf "$MODEL_DIR"
echo " Modèles supprimés."
else
echo " Modèles conservés."
fi
fi
echo ""
echo "=== Désinstallation terminée ==="
echo ""