From 947c7f949dcd4cf585e436e456983db50e587f97 Mon Sep 17 00:00:00 2001 From: Khoa Vo Date: Mon, 29 Jun 2026 20:34:55 +0700 Subject: [PATCH] add uninstall script --- uninstall.sh | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100755 uninstall.sh diff --git a/uninstall.sh b/uninstall.sh new file mode 100755 index 0000000..bed1fb4 --- /dev/null +++ b/uninstall.sh @@ -0,0 +1,58 @@ +#!/usr/bin/env bash +# SPDX-License-Identifier: MIT +# Viet+ — Vietnamese Input Method Uninstaller +set -euo pipefail + +# Color codes for output +RED='\033[0;31m' +GREEN='\033[0;32m' +NC='\033[0m' # No Color + +echo -e "${RED}=== Viet+ Uninstallation Script ===${NC}" + +if [ "$EUID" -ne 0 ]; then + echo -e "${RED}Error: This script must be run as root (or with sudo).${NC}" + exit 1 +fi + +echo "Stopping any running Viet+ processes..." +pkill -x vietc-tray 2>/dev/null || true +pkill -x vietc-daemon 2>/dev/null || true +pkill -x vietc-uinputd 2>/dev/null || true +pkill -x vietc 2>/dev/null || true + +echo "Removing binaries..." +rm -f /usr/bin/vietc-daemon /usr/bin/vietc-cli /usr/bin/vietc-uinputd /usr/bin/vietc-tray /usr/bin/vietc-xrecord +rm -f /usr/local/bin/vietc-daemon /usr/local/bin/vietc-cli /usr/local/bin/vietc-uinputd /usr/local/bin/vietc-tray /usr/local/bin/vietc-xrecord /usr/local/bin/vietc + +echo "Removing icons..." +rm -f /usr/share/icons/hicolor/256x256/apps/vietc.svg +rm -f /usr/share/icons/hicolor/256x256/apps/vietc-vn.svg +rm -f /usr/share/icons/hicolor/256x256/apps/vietc-en.svg + +if command -v gtk-update-icon-cache >/dev/null 2>&1; then + gtk-update-icon-cache -f /usr/share/icons/hicolor/ >/dev/null 2>&1 || true +fi + +echo "Removing desktop files and autostart..." +rm -f /usr/share/applications/vietc.desktop +rm -f /etc/xdg/autostart/vietc-tray.desktop + +echo "Removing systemd service..." +rm -f /usr/lib/systemd/user/vietc.service + +echo "Removing udev rules..." +rm -f /etc/udev/rules.d/99-vietc.rules +if command -v udevadm >/dev/null 2>&1; then + udevadm control --reload-rules >/dev/null 2>&1 || true + udevadm trigger --subsystem-match=misc >/dev/null 2>&1 || true +fi + +echo "Removing global configuration..." +rm -rf /etc/vietc + +if command -v systemctl >/dev/null 2>&1; then + systemctl --global daemon-reload >/dev/null 2>&1 || true +fi + +echo -e "\n${GREEN}=== Uninstallation Completed Successfully! ===${NC}"