staging.inyokaproject.org

Starter für TeamViewer im Panel nach Programmupgrade korrigieren

Status: Ungelöst | Ubuntu-Version: Ubuntu 12.04 (Precise Pangolin)
Antworten |

ubuch07

Anmeldungsdatum:
7. Oktober 2007

Beiträge: 107

Hallo

Kann mir bitte jemand sagen, wie ich den Starter von TeamViewer im Unity/Unity Startmenü nach einem Versionswechsel des Programms via Skript korrigieren kann?

Auslesen der aktuell gesetzten Starter

1
2
echo $(gsettings get com.canonical.Unity.Launcher favorites)
['ubiquity-gtkui.desktop', 'nautilus-home.desktop', 'firefox.desktop', 'google-chrome.desktop', 'thunderbird.desktop', 'libreoffice-writer.desktop', 'libreoffice-calc.desktop', 'libreoffice-impress.desktop', 'skype.desktop', 'teamviewer-teamviewer10.desktop', 'ubuntu-software-center.desktop', 'gnome-control-center.desktop']

Da nach einer Aktualisierung von TeamViewer der Name des Starters manuell geändert werden muss (habe zumindest nichts gefunden, was einen im Unity/Unity Startmenü gesetzten Starter automatisch anpassen würde), habe ich folgendes probiert (funktioniert jedoch nur, wenn die aktuelle Version bekannt ist, ich benötige jedoch eine variable Lösung).

1
2
3
starter=$(gsettings get com.canonical.Unity.Launcher favorites)
starter2=$(echo $starter | sed -e 's/teamviewer-teamviewer10.desktop/teamviewer11.desktop/g')
gsettings set com.canonical.Unity.Launcher favorites "${starter2}"

Freue mich auf DIE Lösung.

Gruss ubuch07

Vej Team-Icon

Moderator, Supporter
Avatar von Vej

Anmeldungsdatum:
7. März 2013

Beiträge: 3401

Hallo ubuch07,

verstehe ich das richtig, dass nach einem Versionsupdate automatisch eine passend benannte .desktop-Datei in /usr/share/applications angelegt wird?

Falls dem so ist, könnte dein Skript doch einfach alle Dateinamen der Form "teamviewer-teamviewer*.desktop" in diesem Ordner suchen, den ersten und letzten Teil wegschneiden und die Ergebnisse vergleichen, um die größte vorhandene Nummer zu finden. Diese ergibt dann die Nummer für starter2.

Die zu deinstallierende Nummer findest du ja in der Ausgabe von gsettings get com.canonical.Unity.Launcher favorites.

Das so als Anregung

Viele Grüße

Vej

ubuch07

(Themenstarter)

Anmeldungsdatum:
7. Oktober 2007

Beiträge: 107

Hallo Vej,

das ist absolut korrekt.

Leider will es mir auf keine Art und Weise gelingen, den String zu ersetzen (meine obgenannte Variante mit sed funktioniert nur, wenn die bisherige Version bekannt ist). Weisst du die Syntax, mit welcher ich das Ersetzen variabel gestalten kann (alte Versionsnummer besteht aus 1 oder 2 Zahlen).

Lieber Gruss ubuch07

Vej Team-Icon

Moderator, Supporter
Avatar von Vej

Anmeldungsdatum:
7. März 2013

Beiträge: 3401

Hallo ubuch07,

du solltest Variablen einfügen können. Etwa so:

1
2
3
alteVersionsnummer= #Hier Code zum Bestimmen der alten Versionsnummer einfügen
neueVersionsnummer= #Hier Code zum Bestimmen der neuen Versionsnummer einfügen
starter2=$(echo $starter | sed -e 's/teamviewer-teamviewer${alteVersionsnummer}.desktop/teamviewer${neueVersionsnummer}.desktop/g')

Den Code für die Kommentarstellen solltest du dir wie beschrieben zusammenbauen können.

Viele Grüße

Vej

Antworten |