管理GNOMEShell扩展的命令行工具

gnome-extensions-cli的Python项目详细描述


gnome扩展cli

从终端安装、更新和管理GNOMEShell扩展

特点

  • 您可以在Gnome website上安装任何可用的扩展
  • 使用DBusgnomeshell通信,就像Firefox插件一样
    • 如果需要,还支持非DBus安装
  • 自动选择要为Gnome Shell安装的兼容版本
  • 如果需要,可以自动重启gnomeshell
  • 用一个命令更新所有扩展:gnome-extensions-cli update
  • 您还可以卸载、启用和禁用扩展和打开首选项

安装

PyPI安装

$ pip3 install --user gnome-extensions-cli

从存储库安装最新版本

^{pr2}$

或者建立一个开发环境

# Dependencies to install PyGObject with pip
$ sudo apt install libgirepository1.0-dev gcc libcairo2-dev pkg-config python3-dev gir1.2-gtk-3.0
$ git clone https://github.com/essembeh/gnome-extensions-cli
$ cd gnome-extensions-cli
$ make venv
$ make install
$ make test
$ source venv/bin/activate
(venv) $ gnome-extensions-cli --help

使用

列出你的分机号

$ gnome-extensions-cli list 
Installed extensions:
[] auto-move-windows@gnome-shell-extensions.gcampax.github.com
[X] dash-to-panel@jderose9.github.com (v37)[X] todo.txt@bart.libert.gmail.com (v25)# Use verbose to see available updates
$ gnome-extensions-cli list -v
Installed extensions:
[] auto-move-windows@gnome-shell-extensions.gcampax.github.com
      available version: 37[X] dash-to-panel@jderose9.github.com (v37)[X] todo.txt@bart.libert.gmail.com (v25)

Note: the first [X] or [ ] indicates if the extension is enabled or not

您还可以使用search命令从Gnome扩展网站打印信息

$ gnome-extensions-cli search 570
Todo.txt: todo.txt@bart.libert.gmail.com
    url: https://extensions.gnome.org/extension/570
    tag: 8141
    recommended version: 25
    installed version: 25
    available versions:
      version 30for Gnome Shell 3.36
      version 29for Gnome Shell 3.34
      version 28for Gnome Shell 3.32
      [...]

安装、卸载和更新

# Install extension by its UUID
$ gnome-extensions-cli install dash-to-panel@jderose9.github.com

# or use its package number from https://extensions.gnome.org
$ gnome-extensions-cli install 1160# You can also install multiple extensions at once
$ gnome-extensions-cli install 1160570# Uninstall extensions
$ gnome-extensions-cli uninstall todo.txt@bart.libert.gmail.com
# ... or use extension number 
$ gnome-extensions-cli uninstall 570# You can enable and disable extensions
$ gnome-extensions-cli disable todo.txt@bart.libert.gmail.com dash-to-panel@jderose9.github.com
$ gnome-extensions-cli enable todo.txt@bart.libert.gmail.com 
# equivalent to 
$ gnome-extensions-cli disable 5701160
$ gnome-extensions-cli enable570

默认情况下,update命令只更新enabled扩展,使用--all/-a也可以更新禁用的扩展

# Update all enabled extensions
$ gnome-extensions-cli update

# Update only given extensions
$ gnome-extensions-cli update dash-to-panel@jderose9.github.com
# ... or use extension number 
$ gnome-extensions-cli update 1160

后端:DBus vs File

gnome-extensions-cli可以使用两种不同的实现与Gnome Shell交互,使用dbus或使用基于file的方式:

By default, it uses dbus which is the safest way ;)

DBus

使用--backend dbus,应用程序使用dbus消息直接与gnomeshell通信。在

优点:

  • 您使用与Firefox插件完全相同的方式安装扩展
  • 需要时自动重新启动gnomeshell
  • 非常稳定
  • 您可以使用gnome-extensions-cli edit EXTENSION1_UUID打开扩展首选项对话框 缺点:
  • 安装是交互式的,在安装扩展之前,系统会提示您使用e Gnome Yes/No对话框,因此您需要有一个正在运行的Gnome会话

文件

使用--backend dbus,应用程序直接在~/.local/share/gnome-shell/extensions/文件夹中使用来自Gnome website的解压包,启用/禁用它们并使用子进程重新启动Gnome Shell。在

优点:

  • 您可以在不运行任何Gnome会话的情况下安装扩展
  • 使用这个方法。。。但是 缺点:
  • 有些扩展没有安装好

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在mybatis中捕获SQLException   java Spring XML自动连线记录器不确定目标类名   JavaSpringDataJPA:使用联接表进行排序和分页   JAVA循环的lang.NullPointerException数组   带Jetty和空密码的java双向SSL   当对象为类型时,java在tableview上显示图像   如何在GWT中从javascript到java获取返回类型“any”?(泛型类型传递)   java从ListView Android中的微调器获取选定值   java缓冲图像中较小的图像被裁剪,我如何解决这个问题?   java Spring MVC 3.1:使用SimpleUrlHandlerMapping和通用基本控制器时的问题   java在每次调用时生成唯一的随机数   java libGDX:在屏幕上移动多边形   java TextView未在应用程序中居中,但在match_约束中居中   在python中重复运行同一java函数的最佳方式是什么?