Как я могу обновить расширения GNOME Shell из командной строки?

14

Иногда я получаю сообщения о том, что есть обновление для одного из моих расширений GNOME Shell, и направляет меня на https://extensions.gnome.org/local/, где я могу запустить обновление через веб-интерфейс.

Я бы предпочел вызывать обновления из командной строки, аналогично вызову apt update && apt upgrade. Как я могу это сделать?

david.libremone
источник
Вы можете использовать cronзадание для извлечения расширений оболочки из /etc/shellsфайла и запуска apt-getобновлений для каждого значения - только одна идея.
Повелительница Пиццы
1
@ThePizzaOverlord Они, как правило, не являются упакованными вещами, и когда они есть, они часто заменяются версиями, предоставленными Gnome напрямую.
Оли
Обратитесь к выпуску gnome-shell # 906 с просьбой добавить эту функцию.
Петерино

Ответы:

10

Комментарии к этой статье omgubuntu.co.uk содержат два возможных пути:

  1. Расширение GNOME Shell Installer · Github , Баш скрипт для установки и поиск расширений из extensions.gnome.org . Установите его с

    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/

    Обновите расширения 23и 42для GNOME Shell 3.18.4с помощью

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

    Обновите все расширения с

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

    Я не мог проверить это, но я почти уверен, что это можно написать.

  2. Если вы установили свои расширения путем клонирования их репозиториев git, /path/вы можете просто делать git pullрепозитории один за другим:

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

    После этого необходимо перезагрузить GNOME Shell или с Alt+ F2и rили команды gnome-shell -r.

Десерт
источник
0

Сценарий gnomeshell-extension-manage от Николаса Бернаертса позволяет устанавливать и удалять расширения GNOME Shell как в масштабе всей системы, так и в пространстве пользователя.

Вот как бы вы его установили:

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

Это делает его доступным для каждого пользователя: (наряду с аналогичными командами GNOME)

$ 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)

Gnome Shell - Управление расширений из консоли блоге подробно объясняет , как она используется. Для обновления расширения необходимо добавить --version latestв команду.


Технически говоря, два основных отличия от gnome-shell-extension-installer Яна Брунелли заключаются в том, что вы можете выполнять общесистемные установки и использовать их wgetвместо curlзагрузки расширений.

Peterino
источник
Если вы запустите gnome-shell-extension-installкак sudo, он установит всю систему.
eduncan911