확장 설치 처리 도구

확장 설치 처리 도구

확장 프로그램을 설치할 수 있습니까?https://extensions.gnome.org/사용하지 마세요그놈 쉘 통합브라우저 플러그인?

위 웹사이트에서 확장 프로그램을 검색하고 설치할 수 있는 도구를 찾고 있습니다. 예를 들면 다음과 같습니다.

$ 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

그놈 쉘 확장 설치 프로그램당신이 찾고 있는 것:

스크린샷

답변3

최근에 접했어요그놈 확장 CLI, 이는 한동안 있었던 것으로 보이지만 최근에야 새로운 활동을 얻었습니다(참조코드 빈도프로젝트). 저는 이것이 아름다운 출력을 생성하고 스크립트 친화적인 훌륭한 도구라고 생각합니다.

CLI를 사용하면 GNOME 확장 기능 등을 검색, 설치, 업그레이드, 활성화 및 나열할 수 있습니다. 확장 프로그램의 UUID 또는 해당 패키지 번호를 전달할 수 있습니다.

도구그놈 쉘 확장 설치 프로그램2023년 4월 현재 @WuerfelDev의 제안은 더 이상 유지되지 않는 것으로 보입니다.

답변4

@cdelledonne의 제안은 나에게 매우 유망해 보입니다.

위 웹사이트에서 확장 프로그램을 검색하고 설치할 수 있는 도구를 찾고 있습니다. 예를 들면 다음과 같습니다.

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

대부분의 사람들이 찾고 있는 것(스크립팅 및 자동화)이기 때문에 질문의 후반부에 집중하겠습니다.

확장 설치 처리 도구

공식적인

~에 따르면빨간 모자, 그것은 간단합니다:

gnome-extensions install <UUID>

그러나 이것은 Ubuntu 24.04에서는 작동하지 않습니다.

파이썬

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가 필요한 두 가지 도구가 있습니다. 예, 더 길지만 저처럼 코드를 사용하여 관리하려는 경우 [email protected]에는 4655.

당신은 다음과 같이 생각할 수도 있습니다.

Gnome이 우리가 UUID를 사용하기를 원한다면 모든 사람이 쉽게 찾을 수 있도록 페이지에 UUID를 넣을 것입니다.

GitHub와 비교할 때 이 사이트는 수년 동안 실제로 변경되지 않았습니다. 이는 누군가 고칠 때까지 우리가 계속 추적할 문제 중 하나일 뿐입니다. 노화 및 유지 관리되지 않는 확장 등.

확장 프로그램이 표시되지 않습니다!

이 답변을 완성하려면:

  • 이전에 이 컴퓨터/사용자에서 확장 기능을 사용한 적이 없다면 로그아웃했다가 다시 로그인해야 합니다.
  • 필요할 때 GUI를 사용하여 확장 및 설정을 관리할 수 있도록 비슷한 패키지를 설치해야 합니다 gnome-shell-extension-prefs(적어도 Ubuntu 24.04 데스크탑에는).

관련 정보