Установка расширений GNOME Shell из терминала

Установка расширений GNOME Shell из терминала

Есть ли способ установить расширения GNOME из терминала, например dash в dock? Сейчас я делаю это так: захожу в магазин приложений Ubuntu Software и устанавливаю его.

решение1

Расширение Dash to Dock для GNOME

Как видно наhttps://extensions.gnome.org/extension/307/dash-to-dock/

Загрузите .zip-файл здесьhttps://micheleg.github.io/dash-to-dock/releases.html

Примечание: имя загруженного .zip-файла может отличаться от [email protected]указанного в команде unzip, показанной ниже. При необходимости откорректируйте команду для правильного имени .zip.

См. примечания по ручной установке здесь.https://micheleg.github.io/dash-to-dock/download.html

Ручная установка

Вы также можете получить расширение в виде zip-архива со страницы релиза. Найдите последнюю версию, поддерживающую вашу версию оболочки. Расширение можно установить с помощью gnome-tweak-tool, или альтернативно внутриdirectly extracting the archive in the a directory named [email protected]~/.local/share/gnome-shell/extensions/

unzip [email protected] \ -d ~/.local/share/gnome-shell/extensions/[email protected]/

Требуется перезагрузка оболочки Alt+F2 r Enter. Расширение можно включить с помощью gnome-tweak-tool, или с помощью dconf, добавив [email protected]к /org/gnome/shell/enabled-extensionsключу.

Примечание: DtD несовместим с 19.04.

  • Ходят слухи, что если удалить Ubuntu Dock, то DtD будет работать с 19.04

  • также, по-видимому, ручная установка DtD сделает это работоспособным в версии 19.04

решение2

Вы можете установить Dash-to-Dock, выполнив следующую команду:

sudo apt install gnome-shell-extension-dashtodock

Список доступных расширений можно получить, запустив, apt search gnome-shell-extensionнапример.

решение3

Я только что нашел два способа установки из терминала. Лично я предпочитаю упакованный инструмент python за его простоту, но второй способ может дать вам более тонкий контроль над процессом установки.

А) С пакетом Python

# 1. Install the package
pip3 install gnome-extensions-cli

# 2. Install extension by UUID
gnome-extensions-cli install [email protected]
# 2.a ... or by PK (primary key)
gnome-extensions-cli install 307

Более подробная информация на странице github:https://github.com/essembeh/gnome-extensions-cliили используйте gnome-extensions-cli --help.

Если нет активного сеанса оболочки gnome, инструмент выдаст сообщение об ошибке. Чтобы исправить, используйте --backend file.

Б) С помощью пользовательских скриптов оболочки

#!/usr/bin/env bash

[email protected]
pk=307

# 1. GNOME shell version
shell_version=$(gnome-shell --version | cut -d' ' -f3)

# 2. Fetch extension info (for the given shell version)
info_json=$(curl -sS "https://extensions.gnome.org/extension-info/?uuid=$uuid&shell_version=$shell_version")
# 2.a instead of ?uuid=$uuid you can use ?pk=$pk

# 3. Extract download url from the json with jq
download_url=$(echo $info_json | jq ".download_url" --raw-output)

# 4. Install the extension
gnome-extensions install "https://extensions.gnome.org$download_url"
# 4.a ... or download it first, then install
curl -sL "https://extensions.gnome.org$download_url" -o $uuid.zip
gnome-extensions install $uuid.zip
# 4.a.i ... or manually extract the zip
mkdir -p ~/.local/share/gnome-shell/extensions/$uuid
unzip $uuid.zip -d ~/.local/share/gnome-shell/extensions/$uuid

Это более или менее то же самое, что и пакет python, за исключением использования gnome-extensionsутилиты, которая входит в состав оболочки GNOME.

JQ — это процессор командной строки JSON. Подробнее об использовании:https://stedolan.github.io/jq/

Связанный контент