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.