コマンドラインでgnome-shell拡張機能をインストールしますか?

コマンドラインでgnome-shell拡張機能をインストールしますか?

私は方法を探しています確実にコマンドラインで gnome-shell 拡張機能をインストールします。最終的には、Ansible プレイブックを用意したいと思います。

例えば、インストールしたいのはカスタムホットコーナー拡張

私は見つけたmedium.com の「コマンドラインを使用して GNOME 拡張機能をインストールする」そしてまたlinuxhint.com の「Ubuntu 20.04 に Gnome 拡張機能をインストールする方法」. これに続いて、私は次のことを行いました。

wget -O/tmp/extension.zip https://extensions.gnome.org/extension-data/custom-hot-corners-extendedG-dH.github.com.v11.shell-extension.zip
uuid=$(unzip -c /tmp/extension.zip metadata.json | grep uuid | cut -d \" -f4)
unzip /tmp/extension.zip -d "~/.local/share/gnome-shell/extensions/$uuid"
gnome-shell-extension-tool -e "$uuid"
# or:
gnome-extensions enable "$uuid"

しかし、それは機能しません - エラーが発生します:拡大 "[メールアドレス]" 存在しない

当然ですが、gnome-extensions-appにも表示されません。GNOME 拡張機能ブラウザ内のサイトは問題なく動作します。

また、brunelli の gnome-shell-extension-installer スクリプト- これもダメ… :/

Ubuntu 21.10 Impish で GNOME Shell 40.5 を使用しています。

答え1

最近出会ったgnome-拡張機能-cliは、以前から存在していたようですが、最近になって新たな活動が活発化しました(コード頻度これは素晴らしいツールだと思います。出力が美しく、スクリプトにも対応しています。CLI を使用すると、GNOME 拡張機能の検索、インストール、アップグレード、有効化、一覧表示などを行うことができます。

ターゲットマシンに Python 依存関係をインストールしても構わない場合は、次のようにいくつかの Ansible タスクを記述して目的を達成できます。

- name: Install CLI tool to manage GNOME extensions
  ansible.builtin.pip:
    name: gnome-extensions-cli
    extra_args: --user --upgrade

- name: Install and enable GNOME extensions
  ansible.builtin.command:
    cmd: gext install "gTile@vibou" gext enable "gTile@vibou"

答え2

次のファイルからインストールできます.zip:

gnome-extensions install ./custom-hot-corners-extendedG-dH.github.com.v11.shell-extension.zip

インストール後すぐには動作しない場合があります(アドオンは拡張機能アプリのインストール済み拡張機能のリストにも表示されません)これは明らかに誰かが報告する必要があるバグです。ただし、ログアウトして再度ログインすると、機能し始めます。

実用性を優先して、これはgnome-shell-extension-tool時代遅れですgnome-extensions

関連情報