如何从命令行更新GNOME Shell扩展?


14

有时,我会收到消息告诉我GNOME Shell扩展之一已有更新,将我定向到https://extensions.gnome.org/local/,我可以在其中通过Web界面触发更新。

我宁愿从命令行调用更新,类似于call apt update && apt upgrade。我怎样才能做到这一点?


您可以利用一项cron工作从/etc/shells文件中提取shell扩展,并apt-get为每个值运行更新-只是一个主意。
披萨霸主

1
@ThePizzaOverlord这些往往不是打包的东西,当它们打包时,通常会直接被Gnome提供的版本所取代。
奥利

有关添加此功能的请求,请参见gnome-shell问题#906
Peterino

Answers:


10

对此omgubuntu.co.uk文章的评论列出了两种可能的方法:

  1. GNOME Shell扩展安装·Github上,一个bash脚本安装和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壳牌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

    之后,您需要使用Alt+ F2r或命令重新加载GNOME Shell gnome-shell -r


0

Nicolas Bernaerts 的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)

侏儒壳牌-从控制台扩展的管理博客文章中详细介绍了如何使用它。要更新扩展名,您需要添加--version latest到命令。


从技术上讲,与Ian Brunelli的gnome-shell-extension-installer的两个主要区别是,您可以进行系统范围的安装,wget而不是curl下载扩展程序。


如果以gnome-shell-extension-install身份运行sudo,它将在系统范围内安装。
eduncan911
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.