
Есть ли способ установить расширения 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/