Wie kann ich GNOME-Shell-Erweiterungen über die Befehlszeile aktualisieren?


14

Gelegentlich erhalte ich die Meldung, dass ein Update für eine meiner GNOME-Shell-Erweiterungen vorhanden ist. Diese Nachricht leitet mich zu https://extensions.gnome.org/local/ weiter, wo ich über die Weboberfläche ein Update auslösen kann.

Ich würde lieber Updates über die Befehlszeile aufrufen, ähnlich wie beim Aufrufen apt update && apt upgrade. Wie kann ich das machen?


Mithilfe eines cronJobs können Sie Shell-Erweiterungen aus der /etc/shellsDatei extrahieren und apt-getAktualisierungen für jeden Wert ausführen - nur eine Idee.
— The Pizza Overlord

1
@ThePizzaOverlord Bei diesen Dingen handelt es sich in der Regel nicht um verpackte Dinge, und wenn sie vorhanden sind, werden sie häufig durch die direkt von Gnome bereitgestellten Versionen ersetzt.
— Oli

Weitere Informationen zum Hinzufügen dieser Funktion finden Sie in der Gnome-Shell-Ausgabe Nr. 906 .
— Peterino

Antworten:


9

In den Kommentaren zu diesem Artikel von omgubuntu.co.uk sind zwei Möglichkeiten aufgeführt:

  1. Das GNOME-Shell-Erweiterungsinstallationsprogramm · Github , ein Bash-Skript zum Installieren und Durchsuchen von Erweiterungen von extensions.gnome.org . Installieren Sie es mit

    wget -O gnome-shell-extension-installer "https://github.com/brunelli/gnome-shell-extension-installer/raw/master/gnome-shell-extension-installer"
    chmod +x gnome-shell-extension-installer
    sudo mv gnome-shell-extension-installer /usr/bin/

    Aktualisieren Sie die Erweiterungen 23und 42für GNOME Shell 3.18.4mit

    ids=( 23 42 )
    gnome=3.18.4
    gnome-shell-extension-installer ${ids[@]} $gnome --yes --update --restart-shell

    Aktualisieren Sie alle Erweiterungen mit

    gnome-shell-extension-installer --yes --update --restart-shell

    Ich konnte es nicht testen, aber ich bin mir ziemlich sicher, dass es skriptfähig ist.

  2. Wenn Sie Ihre Erweiterungen durch Klonen ihrer Git-Repos installiert haben, können /path/Sie nur git pulldie Repos nacheinander installieren :

    for i in /path/*; do
      git -C"$i" pull
    done

    Danach müssen Sie die GNOME-Shell entweder mit Alt+ F2und roder mit dem Befehl neu laden gnome-shell -r.


0

Mit dem gnomeshell-extension-manage- Skript von Nicolas Bernaerts können GNOME-Shell-Erweiterungen sowohl systemweit als auch im Benutzerbereich installiert und entfernt werden.

So würden Sie es installieren:

wget https://raw.githubusercontent.com/NicolasBernaerts/ubuntu-scripts/master/ubuntugnome/gnomeshell-extension-manage
chmod 755 gnomeshell-extension-manage
sudo mv -iv gnomeshell-extension-manage /usr/local/bin/gnome-shell-extension-manage

Dies macht es für jeden Benutzer verfügbar: (neben ähnlichen GNOME-Befehlen)

$ gnome-shell-extension-manage 
Install/remove extension from Gnome Shell Extensions site https://extensions.gnome.org/
Extension ID should be retrieved from https://extensions.gnome.org/extension/<ID>/extension-name/
Version installed will be targeted as the same as Gnome Shell or the next available one
Parameters are :
  --install               Install extension (default)
  --remove                Remove extension
  --user                  Installation/remove in user mode (default)
  --system                Installation/remove in system mode
  --version <version>     Force Gnome version (use 'latest' to force latest one)
  --extension-id <id>     Extension ID in Gnome Shell Extension site (compulsory)

Die Gnome-Shell - Verwaltung von Erweiterungen aus dem Konsolen- Blogbeitrag erklärt detailliert, wie sie verwendet wird. Zum Aktualisieren einer Erweiterung müssen Sie --version latestden Befehl hinzufügen .


Technisch gesehen bestehen die beiden Hauptunterschiede zu Ian Brunellis Gnome-Shell-Erweiterungsinstallationsprogramm darin, dass Sie systemweite Installationen durchführen können und diese verwenden, wgetanstatt curldie Erweiterungen herunterzuladen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.