拡張インストール処理ツール

拡張インストール処理ツール

拡張機能をインストールできますか?https://extensions.gnome.org/使用しないでくださいGNOMEシェルの統合ブラウザプラグイン?

上記のWebサイトで拡張機能を検索してインストールするためのツールを探しています。たとえば、次のようになります。

$ gnome-extensions search <keyword>
$ gnome-extensions install <extension-id>

答え1

ソリューション1

拡張URLがある場合は、以下を使用してください。ここでは、拡張を配列に入れました。インストールしたい拡張子のURLをこの配列に入れます。

#!/bin/bash

array=( https://extensions.gnome.org/extension/1328/disable-workspace-switch-animation/
https://extensions.gnome.org/extension/1532/lock-keys/
https://extensions.gnome.org/extension/104/netspeed/
https://extensions.gnome.org/extension/2182/noannoyance/
https://extensions.gnome.org/extension/1460/vitals/ )

for i in "${array[@]}"
do
    EXTENSION_ID=$(curl -s $i | grep -oP 'data-uuid="\K[^"]+')
    VERSION_TAG=$(curl -Lfs "https://extensions.gnome.org/extension-query/?search=$EXTENSION_ID" | jq '.extensions[0] | .shell_version_map | map(.pk) | max')
    wget -O ${EXTENSION_ID}.zip "https://extensions.gnome.org/download-extension/${EXTENSION_ID}.shell-extension.zip?version_tag=$VERSION_TAG"
    gnome-extensions install --force ${EXTENSION_ID}.zip
    if ! gnome-extensions list | grep --quiet ${EXTENSION_ID}; then
        busctl --user call org.gnome.Shell.Extensions /org/gnome/Shell/Extensions org.gnome.Shell.Extensions InstallRemoteExtension s ${EXTENSION_ID}
    fi
    gnome-extensions enable ${EXTENSION_ID}
    rm ${EXTENSION_ID}.zip
done

ソリューション2

拡張機能のUUIDがある場合は、以下を使用してください。ここではUUIDを配列に入れます。インストールする拡張のUUIDをこの配列に配置します。

#!/bin/bash

array=( [email protected] lockkeys@fawtytoo [email protected] [email protected] [email protected] )

for i in "${array[@]}"
do
    VERSION_TAG=$(curl -Lfs "https://extensions.gnome.org/extension-query/?search=${i}" | jq '.extensions[0] | .shell_version_map | map(.pk) | max')
    wget -O ${i}.zip "https://extensions.gnome.org/download-extension/${i}.shell-extension.zip?version_tag=$VERSION_TAG"
    gnome-extensions install --force ${EXTENSION_ID}.zip
    if ! gnome-extensions list | grep --quiet ${i}; then
        busctl --user call org.gnome.Shell.Extensions /org/gnome/Shell/Extensions org.gnome.Shell.Extensions InstallRemoteExtension s ${i}
    fi
    gnome-extensions enable ${i}
    rm ${EXTENSION_ID}.zip
done

ボーナス(シナモン)

Linux Mint(Cinnamon)にアクセスできる場合は、次のスクリプトを使用できます。拡張機能をダウンロードして正しいディレクトリに配置します。

#!/bin/bash

array=( https://cinnamon-spices.linuxmint.com/applets/view/83
    https://cinnamon-spices.linuxmint.com/applets/view/106
    https://cinnamon-spices.linuxmint.com/applets/view/222
    https://cinnamon-spices.linuxmint.com/applets/view/238
    https://cinnamon-spices.linuxmint.com/applets/view/284
    https://cinnamon-spices.linuxmint.com/applets/view/303 )

for i in "${array[@]}"
do
    DOWNLOAD_URL=$(curl -Lfs ${i} | grep -m1 -Po '(?<=href=")[^"]*zip')
    FILE_NAME=$(echo $DOWNLOAD_URL | grep -Eo "([^\/]+$)")
    wget $DOWNLOAD_URL
    unzip -o "$FILE_NAME" -d "$HOME/.local/share/cinnamon/applets"
    rm "${FILE_NAME}"     
done

拡張機能がまだ有効になっていないことがわかります。後に次のような行を追加する必要があるからですdone

gsettings set org.cinnamon enabled-applets "['panel1:left:0:[email protected]:0', 'panel1:left:1:[email protected]:1', 'panel1:left:2:[email protected]:2', 'panel1:right:4:[email protected]:3', 'panel1:right:6:[email protected]:4', 'panel1:right:7:[email protected]:5', 'panel1:right:8:[email protected]:6', 'panel1:right:9:[email protected]:7', 'panel1:right:10:[email protected]:8', 'panel1:right:11:[email protected]:9', 'panel1:right:12:[email protected]:10', 'panel1:right:13:[email protected]:11', 'panel1:right:14:[email protected]:12', 'panel1:right:15:[email protected]:13', 'panel1:right:16:[email protected]:14', 'panel1:right:3:temperature@fevimu:15', 'panel1:right:2:download-and-upload-speed@cardsurf:16', 'panel1:right:17:betterlock:17', 'panel1:right:5:turn-off-monitor@zablotski:18']"

価値はenabled-appletsユーザーによって異なります。。アプレットを有効にするために使用されます。

今私が見せるこの文字列を作成する方法$HOME/.local/share/cinnamon/applets(ボーナススクリプトを使用して)拡張機能を追加したら、次に進みます。システム設定>基本設定>ミニプログラムパネルに追加してください。再配置パネルでアプレットを使用するには、Panel edit mode続行してください。次に、次を実行します。

gsettings get org.cinnamon enabled-applets

これからこの文字列をで使用できますgsettings set org.cinnamon enabled-applets。しかし、参考にしてくださいパネルにアプレットが追加または削除されるか、パネル内のアプレットの位置が移動されるたびに文字列が変更されます。

答え2

GNOME シェル拡張インストーラあなたが探しているもの:

スクリーンショット

答え3

最近触れました。GNOME拡張CLI、これはしばらくあったようですが、最近は新しい活動がありました(参照コード頻度プロジェクト)。私はこれが美しい出力を生成し、スクリプトに優しい素晴らしいツールだと思います。

CLIを使用すると、GNOME拡張機能などを検索、インストール、アップグレード、アクティブ化、および一覧表示できます。拡張機能のUUIDまたはそのパッケージ番号を渡すことができます。

ツールGNOME シェル拡張インストーラ2023年4月現在、@WuerfelDevの提案はもはや維持されていないようです。

答え4

@cdelledonneの提案は私にとって非常に有望に見えます。

上記のWebサイトで拡張機能を検索してインストールするためのツールを探しています。たとえば、次のようになります。

$ gnome-extensions search <keyword>
$ gnome-extensions install <extension-id>

ほとんどの人が探しているもの(スクリプトと自動化)なので、質問の後半に集中します。

拡張インストール処理ツール

公式

~によると赤い帽子、それは簡単です:

gnome-extensions install <UUID>

しかし、これはUbuntu 24.04では機能しません。

Python

Python 3は通常Linuxにインストールされます。使いたいですpipx。確認してください。設定手順、コマンドは5個以下(通常3個)です。

# Install helper tool gnome-extensions-cli
pipx install gnome-extensions-cli

# Install extension by UUID
gext install <UUID>

UUID経由?どちら?どのように?なぜ? !

ブラウザで拡張ページを開き、「ソースを見る」(通常はCTRL+ u)に移動してを検索しますuuid

または、ブラウザがこれをサポートし、それを処理する方法を知っている場合は、次の例を使用してください。view-source:https://extensions.gnome.org/extension/4655/date-menu-formatter/

私はGnome 3と拡張機能が登場して以来、拡張機能を主にUUIDではなくID(一般番号)と呼んできたことを知っています。しかし、ここにはUUIDを必要とする2つのツールがあります。はい、長いが私のようにコードを使用して管理したい場合[email protected]4655

次のように考えることもできます。

Gnomeが私たちがUUIDを使用したい場合は、誰もが簡単に見つけることができるようにページにUUIDを置きます。

GitHubと比較して、このサイトは何年も実際には変更されていません。これは、誰かが直すまで私たちが追跡し続ける問題の1つにすぎません。老化と維持されていない拡張など。

拡張機能は表示されません!

この答えを完了するには:

  • 以前にこのコンピュータ/ユーザーで拡張機能を使用したことがない場合は、ログアウトして再度ログインする必要があります。
  • 必要に応じてGUIを使用して拡張と設定を管理できるように、同様のパッケージをインストールする必要がありますgnome-shell-extension-prefs(少なくともUbuntu 24.04デスクトップでは)。

関連情報