Logi Options+ vollständig deinstallieren

Logi Options+ vollständig deinstallieren

Korrigierte und praktisch geprüfte Terminal-Anleitung für macOS. Jeder Terminalblock wird vollständig kopiert und als geschlossener Schritt ausgeführt.

Wichtige Hinweise vor dem Start

Wichtig
Wichtig: Die Blöcke 1 bis 5 müssen im selben Terminalfenster ausgeführt werden. Nach Block 6 startet der Mac neu. Die Kontrollen erfolgen anschließend in einem neuen Terminalfenster.

Aufbau: Jeder Terminalblock steht geschlossen in einem eigenen Abschnitt. Zu jedem Schritt ist angegeben, in welchem Fenster er ausgeführt wird und welche Ausgabe am Ende erwartet wird.

Sicherheitsregel: Der Papierkorb wird erst nach dem Neustart und der abschließenden Kontrolle geleert. Die Logdatei auf dem Schreibtisch kann danach ebenfalls gelöscht werden.

Korrektur gegenüber der früheren Fassung: Block 1 enthält keine dauerhafte exec ... tee-Umleitung mehr. Dadurch kehrt der Terminal-Prompt sofort zurück.

Block 1 – Vorbereitung

Hinweis
Fenster: Neues Terminalfenster öffnen. Diesen Block vollständig kopieren und einfügen.

Der Block legt einen eindeutigen Sicherheitsordner im Papierkorb sowie eine Logdatei auf dem Schreibtisch an. Er verschiebt noch keine App und keine Systemdatei.

stamp=$(date +%Y-%m-%d_%H-%M-%S)
trash="$HOME/.Trash/LogiOptionsPlus_Removed_$stamp"
log="$HOME/Desktop/LogiOptionsPlus_Uninstall_$stamp.txt"

mkdir -p "$trash"
touch "$log"

echo "=== Logi Options+ Deinstallation gestartet ===" | tee -a "$log"
echo "Papierkorb-Ziel: $trash" | tee -a "$log"
echo "Logdatei: $log" | tee -a "$log"
echo

Gewünschtes Ergebnis

Erwartetes Ergebnis
=== Logi Options+ Deinstallation gestartet === Papierkorb-Ziel: /Users/.../.Trash/LogiOptionsPlus_Removed_<Zeitstempel> Logdatei: /Users/.../Desktop/LogiOptionsPlus_Uninstall_<Zeitstempel>.txt Danach erscheint sofort wieder der normale Terminal-Prompt.

Block 2 – Dienste und Prozesse stoppen

Hinweis
Fenster: Im selben Terminalfenster wie Block 1 ausführen.

Bei sudo -v kann macOS nach dem Benutzerpasswort fragen. Beim Tippen werden weder Punkte noch Sternchen angezeigt; das ist normal.

echo "1) Administratorrechte prüfen..."
echo "Bei der Passworteingabe werden keine Zeichen angezeigt."
sudo -v

echo
echo "2) LaunchAgents und LaunchDaemons stoppen..."

launchctl bootout gui/$(id -u) \
"$HOME/Library/LaunchAgents/com.logi.optionsplus.plist" 2>/dev/null

launchctl bootout gui/$(id -u) \
"$HOME/Library/LaunchAgents/com.logi.cp-dev-mgr.plist" 2>/dev/null

sudo launchctl bootout system \
"/Library/LaunchDaemons/com.logi.optionsplus.updater.plist" 2>/dev/null

sudo launchctl bootout system \
"/Library/LaunchDaemons/com.logi.cp-dev-mgr.plist" 2>/dev/null

echo
echo "3) Logi Options+ und Hintergrundprozesse beenden..."

sudo killall logioptionsplus 2>/dev/null
sudo killall logioptionsplus_agent 2>/dev/null
sudo killall logioptionsplus_updater 2>/dev/null
sudo killall LogiPluginService 2>/dev/null

echo
echo "Block 2 abgeschlossen."

Gewünschtes Ergebnis

Erwartetes Ergebnis
Block 2 abgeschlossen. Danach erscheint wieder der normale Terminal-Prompt.

Block 3 – Hilfsfunktionen einrichten

Hinweis
Fenster: Im selben Terminalfenster wie Block 1 und Block 2 ausführen.

Dieser Block definiert zwei Hilfsfunktionen. Er verschiebt selbst noch nichts. Die Funktionen sorgen in den nächsten Blöcken für eindeutige Dateinamen im Sicherheitsordner.

move_user() {
  local p="$1"
  local name

  if [ -e "$p" ] || [ -L "$p" ]; then
    name=$(printf '%s' "$p" | sed 's#^/##; s#/#__#g')
    echo "Verschiebe Benutzerdatei: $p"
    /bin/mv "$p" "$trash/$name"
  fi
}

move_root() {
  local p="$1"
  local name

  if [ -e "$p" ] || [ -L "$p" ]; then
    name=$(printf '%s' "$p" | sed 's#^/##; s#/#__#g')
    echo "Verschiebe Systemdatei: $p"
    sudo /bin/mv "$p" "$trash/$name"
  fi
}

echo "Block 3 abgeschlossen."

Gewünschtes Ergebnis

Erwartetes Ergebnis
Block 3 abgeschlossen. Danach erscheint wieder der normale Terminal-Prompt.

Block 4A – App und Systemreste verschieben

Hinweis
Fenster: Im selben Terminalfenster wie die bisherigen Blöcke ausführen.

Vorhandene Logi-Options+-Systempfade werden in den zuvor angelegten Sicherheitsordner im Papierkorb verschoben. Nicht vorhandene Pfade werden still übersprungen.

echo
echo "4A) App und Systemreste verschieben..."

move_root "/Applications/Logi Options+.app"
move_root "/Applications/logioptionsplus.app"
move_root "/Applications/Utilities/LogiPluginService.app"
move_root "/Applications/Utilities/Logi Options+ Uninstaller.app"

move_root "/Library/Application Support/Logi"
move_root "/Library/Application Support/Logitech.localized/LogiOptionsPlus"
move_root "/Library/Logs/Logi"

move_root "/Library/LaunchDaemons/com.logi.optionsplus.updater.plist"
move_root "/Library/LaunchDaemons/com.logi.cp-dev-mgr.plist"

echo
echo "Block 4A abgeschlossen."

Gewünschtes Ergebnis

Erwartetes Ergebnis
Block 4A abgeschlossen. Davor können mehrere Zeilen mit „Verschiebe Systemdatei:“ erscheinen. Fehlende Zeilen bedeuten lediglich, dass der betreffende Pfad nicht vorhanden war.

Block 4B – Benutzerreste verschieben

Hinweis
Fenster: Im selben Terminalfenster wie die bisherigen Blöcke ausführen.

Vorhandene Logi-Options+-Dateien aus dem persönlichen Benutzerordner werden in den Sicherheitsordner verschoben.

echo
echo "4B) Benutzerreste verschieben..."

move_user "$HOME/Applications/Utilities/LogiPluginService.app"

move_user "$HOME/Library/Application Support/Logi"
move_user "$HOME/Library/Application Support/LogiOptionsPlus"

move_user "$HOME/Library/LaunchAgents/com.logi.optionsplus.plist"
move_user "$HOME/Library/LaunchAgents/com.logi.cp-dev-mgr.plist"

move_user "$HOME/Library/HTTPStorages/LogiPluginServiceNative"
move_user "$HOME/Library/Logs/xlog_logitech"

move_user "$HOME/Library/Preferences/com.logi.cp-dev-mgr.plist"
move_user "$HOME/Library/Preferences/com.logi.lps.settings.plist"
move_user "$HOME/Library/Preferences/com.logi.optionsplus.driverhost.plist"
move_user "$HOME/Library/Preferences/com.logi.optionsplus.plist"
move_user "$HOME/Library/Preferences/com.logi.pluginservice.plist"

move_user "$HOME/Library/Saved Application State/com.logi.optionsplus.savedState"

echo
echo "Block 4B abgeschlossen."

Gewünschtes Ergebnis

Erwartetes Ergebnis
Block 4B abgeschlossen. Davor können mehrere Zeilen mit „Verschiebe Benutzerdatei:“ erscheinen.

Block 5 – Erste Kontrolle und Abschlussanzeige

Hinweis
Fenster: Im selben Terminalfenster wie die Blöcke 1 bis 4B ausführen.

Der Block prüft laufende Prozesse und die wichtigsten Restorte. Die Ausgabe wird zusätzlich an die Logdatei angehängt.

{
  echo
  echo "5) Kontrolle laufender Logitech-Prozesse:"

  if pgrep -afil 'logioptionsplus|LogiPluginService|optionsplus|com\.logi'; then
    echo "Hinweis: Oben wurden noch passende Prozesse gefunden."
  else
    echo "Keine laufenden Logi-Options+-Prozesse gefunden."
  fi

  echo
  echo "Kontrolle wichtiger Restorte:"

  found=0

  for p in \
    "/Applications/Logi Options+.app" \
    "/Applications/logioptionsplus.app" \
    "/Library/Application Support/Logi" \
    "/Library/Application Support/Logitech.localized/LogiOptionsPlus" \
    "/Library/LaunchDaemons/com.logi.optionsplus.updater.plist" \
    "/Library/LaunchDaemons/com.logi.cp-dev-mgr.plist" \
    "$HOME/Library/Application Support/Logi" \
    "$HOME/Library/Application Support/LogiOptionsPlus" \
    "$HOME/Library/LaunchAgents/com.logi.optionsplus.plist" \
    "$HOME/Library/LaunchAgents/com.logi.cp-dev-mgr.plist"
  do
    if [ -e "$p" ] || [ -L "$p" ]; then
      echo "Noch vorhanden: $p"
      found=1
    fi
  done

  if [ "$found" -eq 0 ]; then
    echo "Keine der geprüften Hauptdateien mehr vorhanden."
  fi

  echo
  echo "Verschoben nach:"
  echo "$trash"

  echo
  echo "Logdatei:"
  echo "$log"

  echo
  echo "Block 5 abgeschlossen."
} | tee -a "$log"

Gewünschtes Ergebnis

Erwartetes Ergebnis
Keine laufenden Logi-Options+-Prozesse gefunden. Keine der geprüften Hauptdateien mehr vorhanden. ... Block 5 abgeschlossen.
Wichtig
Falls vor dem Neustart noch ein Prozess oder Pfad genannt wird, nicht blind löschen. Zuerst den angezeigten Namen genau prüfen.

Block 6 – Mac neu starten

Hinweis
Fenster: Noch im selben Terminalfenster ausführen. Vorher offene Dokumente speichern.

Der Neustart beendet das Terminalfenster sofort. Das ist beabsichtigt.

echo
echo "Mac wird jetzt neu gestartet..."
sudo reboot

Gewünschtes Ergebnis

Erwartetes Ergebnis
Der Mac startet neu. Den Papierkorb noch nicht leeren.

Kontrolle 1 – Laufende Prozesse

Hinweis
Fenster: Nach dem Neustart ein neues Terminalfenster öffnen.
echo "Kontrolle 1 - laufende Logi-Options+-Prozesse"

if pgrep -afil 'logioptionsplus|LogiPluginService|optionsplus|com\.logi' >/dev/null; then
  pgrep -afil 'logioptionsplus|LogiPluginService|optionsplus|com\.logi'
  echo
  echo "Es wurden noch passende Prozesse gefunden."
else
  echo "Keine laufenden Logi-Options+-Prozesse gefunden."
fi

Gewünschtes Ergebnis

Erwartetes Ergebnis
Kontrolle 1 - laufende Logi-Options+-Prozesse Keine laufenden Logi-Options+-Prozesse gefunden.

Kontrolle 2 – App im Programme-Ordner

Hinweis
Fenster: Im selben neuen Terminalfenster wie Kontrolle 1 ausführen.
echo "Kontrolle 2 - Logi-Options+-App"

if [ -e "/Applications/Logi Options+.app" ] || \
   [ -e "/Applications/logioptionsplus.app" ]; then
  echo "Die Logi-Options+-App ist noch vorhanden."
  ls -ld "/Applications/Logi Options+.app" \
         "/Applications/logioptionsplus.app" 2>/dev/null
else
  echo "Keine Logi-Options+-App im Programme-Ordner gefunden."
fi

Gewünschtes Ergebnis

Erwartetes Ergebnis
Kontrolle 2 - Logi-Options+-App Keine Logi-Options+-App im Programme-Ordner gefunden.

Kontrolle 3 – Wichtige Restorte

Hinweis
Fenster: Im selben neuen Terminalfenster wie Kontrolle 1 und 2 ausführen.
echo "Kontrolle 3 - wichtige Logi-Options+-Restorte"

found=0

for p in \
"/Library/Application Support/Logi" \
"/Library/Application Support/Logitech.localized/LogiOptionsPlus" \
"/Library/Logs/Logi" \
"/Library/LaunchDaemons/com.logi.optionsplus.updater.plist" \
"/Library/LaunchDaemons/com.logi.cp-dev-mgr.plist" \
"$HOME/Library/Application Support/Logi" \
"$HOME/Library/Application Support/LogiOptionsPlus" \
"$HOME/Library/LaunchAgents/com.logi.optionsplus.plist" \
"$HOME/Library/LaunchAgents/com.logi.cp-dev-mgr.plist" \
"$HOME/Library/HTTPStorages/LogiPluginServiceNative" \
"$HOME/Library/Logs/xlog_logitech" \
"$HOME/Library/Preferences/com.logi.optionsplus.plist" \
"$HOME/Library/Preferences/com.logi.optionsplus.driverhost.plist" \
"$HOME/Library/Preferences/com.logi.pluginservice.plist"
do
  if [ -e "$p" ] || [ -L "$p" ]; then
    echo "Noch vorhanden: $p"
    found=1
  fi
done

if [ "$found" -eq 0 ]; then
  echo "Keine der geprüften Logi-Options+-Hauptreste gefunden."
fi

Gewünschtes Ergebnis

Erwartetes Ergebnis
Kontrolle 3 - wichtige Logi-Options+-Restorte Keine der geprüften Logi-Options+-Hauptreste gefunden.
Wichtig
Falls eine Zeile mit „Noch vorhanden:“ erscheint, den genannten Pfad zuerst genau ansehen. Im praktischen Test wurde nach dem Neustart genau der Ordner ~/Library/Application Support/LogiOptionsPlus erneut gefunden.

Kontrolle 4 – Nur beim genannten Restordner

Wichtig
Nur ausführen, wenn Kontrolle 3 genau diesen Pfad meldet:
/Users/DEIN_NAME/Library/Application Support/LogiOptionsPlus

Der Restordner wird nicht sofort gelöscht, sondern in einen neuen Sicherheitsordner im Papierkorb verschoben.

stamp=$(date +%Y-%m-%d_%H-%M-%S)
dest="$HOME/.Trash/LogiOptionsPlus_Rest_$stamp"

mkdir -p "$dest"

mv "$HOME/Library/Application Support/LogiOptionsPlus" "$dest/"

echo "Verbliebener Logi-Options+-Ordner wurde in den Papierkorb verschoben:"
echo "$dest"

Gewünschtes Ergebnis

Erwartetes Ergebnis
Verbliebener Logi-Options+-Ordner wurde in den Papierkorb verschoben: /Users/.../.Trash/LogiOptionsPlus_Rest_<Zeitstempel>

Abschlusskontrolle – Kontrolle 3 wiederholen

Hinweis
Fenster: Im selben Terminalfenster bleiben.

Nach Kontrolle 4 denselben Block „Kontrolle 3“ noch einmal vollständig ausführen.

echo "Kontrolle 3 - wichtige Logi-Options+-Restorte"

found=0

for p in \
"/Library/Application Support/Logi" \
"/Library/Application Support/Logitech.localized/LogiOptionsPlus" \
"/Library/Logs/Logi" \
"/Library/LaunchDaemons/com.logi.optionsplus.updater.plist" \
"/Library/LaunchDaemons/com.logi.cp-dev-mgr.plist" \
"$HOME/Library/Application Support/Logi" \
"$HOME/Library/Application Support/LogiOptionsPlus" \
"$HOME/Library/LaunchAgents/com.logi.optionsplus.plist" \
"$HOME/Library/LaunchAgents/com.logi.cp-dev-mgr.plist" \
"$HOME/Library/HTTPStorages/LogiPluginServiceNative" \
"$HOME/Library/Logs/xlog_logitech" \
"$HOME/Library/Preferences/com.logi.optionsplus.plist" \
"$HOME/Library/Preferences/com.logi.optionsplus.driverhost.plist" \
"$HOME/Library/Preferences/com.logi.pluginservice.plist"
do
  if [ -e "$p" ] || [ -L "$p" ]; then
    echo "Noch vorhanden: $p"
    found=1
  fi
done

if [ "$found" -eq 0 ]; then
  echo "Keine der geprüften Logi-Options+-Hauptreste gefunden."
fi

Jetzt muss dieses Ergebnis erscheinen

Erwartetes Ergebnis
Kontrolle 3 - wichtige Logi-Options+-Restorte Keine der geprüften Logi-Options+-Hauptreste gefunden.
Erwartetes Ergebnis
Erst wenn diese Abschlussmeldung erscheint, ist die Sicherheitskontrolle bestanden.

Papierkorb und Logdatei aufräumen

Ja: Nach bestandener Abschlusskontrolle können die Logi-Options+-Ordner im Papierkorb endgültig gelöscht werden.

Möglichkeit 1 – Gesamten Papierkorb leeren

Im Finder auf „Papierkorb leeren“ klicken. Dabei werden allerdings auch alle anderen Gegenstände im Papierkorb endgültig gelöscht.

Möglichkeit 2 – Nur die Logi-Ordner löschen

Im Papierkorb nur die Ordner löschen, deren Namen mit LogiOptionsPlus_Removed_ oder LogiOptionsPlus_Rest_ beginnen.

Logdatei auf dem Schreibtisch

Die Datei LogiOptionsPlus_Uninstall_...txt kann nach der erfolgreichen Abschlusskontrolle ebenfalls gelöscht werden. Wer den Ablauf dokumentieren möchte, kann sie stattdessen aufbewahren.

Erwartetes Ergebnis
Abschluss: Logi Options+ ist entfernt, wenn Kontrolle 1 keine Prozesse, Kontrolle 2 keine App und die abschließende Kontrolle 3 keine Hauptreste meldet.
Keine Treffer gefunden.