GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Wie aktualisiere ich das Anwendungsmenü des Launcher-Symbols in Ubuntu 12.04?

Nach dem Ändern einer Desktop-Datei in /usr/share/applications , ich muss das Anwendungsmenü des Launcher-Symbols aktualisieren, damit meine Änderung angezeigt wird.
Aus Gründen der Übersichtlichkeit sollte das Menü, das geändert werden sollte, dasjenige sein, das mit einem Rechtsklick angezeigt wird, wenn sich der Mauszeiger auf einem Symbol von befindet den Launcher (die große Leiste voller Symbole auf der linken Seite des Bildschirms).

Die beste Antwort wäre eine einfache Befehlszeile.

Ich verwende Ubuntu-2d nicht und möchte mich nicht abmelden/anmelden.

Mir ist eine Teillösung bekannt:

  • unity --replace lädt alles neu (Fensterdekoration, Infobereich, …)
  • killall ubuntu-2d-launcher ist nur Ubuntu-2d, aber wenn ein ähnlicher einzeiliger Befehl für Unity existiert, wäre das eine gute Lösung.
  • Abmelden und erneutes Anmelden funktioniert auch, aber ich kann es mir nicht leisten, meine gesamte Sitzung zu verlieren, nur um das Menü zu aktualisieren.
  • unter Ubuntu 14.04 habe ich dieses Problem nicht:Alle Änderungen, die an „*.desktop“-Dateien vorgenommen wurden, scheinen live nachgeahmt zu werden.

Irgendwelche Vorschläge ? Gibt es eine Möglichkeit dank ccsm ?

Akzeptierte Antwort:

Am elegantesten ist es, das Icon neu zu starten; , um das Symbol von seiner Position im Launcher zu entfernen und es an derselben Position zu ersetzen. Das folgende Skript erledigt die Aufgabe. Es befindet sich in python2, da 12.04 standardmäßig nicht mit python3 geliefert wird. Es kann jedoch auch in Python3 verwendet werden, ändern Sie in diesem Fall nur den Shebang. Das Skript kann auch nützlich sein (auch auf späteren Ubuntu-Versionen), um beispielsweise ein geändertes Symbol sofort zu übernehmen.

Sie können es einfach verwenden, indem Sie das Skript aufrufen, mit der bearbeiteten Desktop-Datei als Argument (siehe weiter unten).

Hinweis :in 12.04, wenn ein aktualisiertes Symbol ein Laufen darstellt Anwendung, stürzt die betreffende Anwendung ab, wie in dieser Frage beschrieben. Wenn Sie sie also verwenden, stellen Sie sicher, dass die Anwendung nicht ausgeführt wird. In 14.04 wird das Symbol bei einer laufenden Anwendung einfach nicht aktualisiert.

Das Skript

#!/usr/bin/env python

import subprocess
import time
import sys

desktopfile = sys.argv[-1]

def read_currentlauncher():
    # reads the current launcher contents
    get_launcheritems = subprocess.Popen([
        "gsettings", "get", "com.canonical.Unity.Launcher", "favorites"
        ], stdout=subprocess.PIPE)
    return get_launcheritems.communicate()[0].decode("utf-8")

def set_launcher(llist):
    # sets a defined unity launcher list
    current_launcher = str(llist).replace(", ", ",")
    subprocess.Popen([
        "gsettings", "set", "com.canonical.Unity.Launcher", "favorites",
        current_launcher,
        ])

def refresh_icon(desktopfile):
    current_launcher = read_currentlauncher()
    current_launcher_temp = eval(current_launcher)
    item = [item for item in current_launcher_temp if desktopfile in item][0]
    index = current_launcher_temp.index(item)
    current_launcher_temp.pop(index)
    set_launcher(current_launcher_temp)
    time.sleep(2)
    set_launcher(current_launcher)

refresh_icon(desktopfile)

Verwendung

  • Kopieren Sie das obige Skript in eine leere Datei und speichern Sie es als refresh.py
  • Machen Sie es der Einfachheit halber ausführbar
  • Aktualisieren Sie das Symbol mit dem Befehl:

    /path/to/script/refresh.py name_of_edited_desktopfile (e.g. 'firefox.desktop')
    

Wenn Sie es wirklich glatt machen wollen

  • Machen Sie das Skript ausführbar, entfernen Sie die .py Erweiterung, speichern Sie sie in ~/bin . Nach dem Abmelden/Anmelden können Sie es mit dem folgenden Befehl ausführen:

    refresh firefox.desktop (as an example)
    

Ubuntu
  1. Anwendungsmenü auf Ubuntu 20.04 GNOME Desktop hinzufügen

  2. So erstellen Sie einen integrierten Anwendungsstarter für eine Appimage-Datei in Ubuntu

  3. Wie verstecke ich das Grub-Menü in Ubuntu 14.04?

  4. Wie ändere ich die Größe des Desktop-Symbols in Ubuntu 16.10?

  5. Ubuntu 16.04 Eclipse Launcher Icon Probleme?

Lösung:Kein Dropbox-Symbol in Ubuntu 14.10 und 14.04

So installieren Sie ReactJS unter Ubuntu 21.04

Wie ändere ich den Kernel beim Booten?

Wie füge ich eine Anwendung zum Startanwendungsmenü hinzu?

Launcher Symbol ohne Symbol duplizieren?

So installieren Sie das Papirus Icon-Design auf Ubuntu 22.04