Как назначать ссылки на Magnet файлы для qBitTorrent, установленного как AppImage?

Вопрос или проблема

Я использую qBitTorrent 5.0.4, но запускаю его из AppImage.

Как мне назначить ссылки Magnet File для этого “приложения”, если в системе нет “установленной” версии qBitTorrent.

Мне нужно установить qBitTorrent с помощью apt-get (или другого), ассоциировать его, затем удалить его с помощью purge, или мне нужно установить его, ассоциировать и оставить его там?

Единственная причина, по которой я использую AppImage, заключается в том, что версия более новая, чем та, которую вы получаете при установке через apt-get (или любой другой командой).

Спасибо.

Так как у вас уже есть рабочий .desktop-файл, добавьте строку

MimeType=application/x-bittorrent;x-scheme-handler/magnet;

и добавьте %U в строку Exec=, чтобы она выглядела так:

Exec=/Path/to/your/appimage %U

После этого вам нужно обновить кэш mimeinfo, см. пример ниже, как это сделать.

в .desktop-файл, чтобы связать magnet-ссылки с вашим appimage.

Чтобы получить значок для вашего .desktop-файла, вам нужно скопировать значок из вашего appimage в выбранную вами директорию (например, ~/.icons/) и указать полный путь к значку в .desktop-файле.

Пока qbittorrent работает, appimage будет смонтирован в скрытой папке под /tmp, в моем случае папка /tmp/.mount_qbittoAdJGnK, название может немного отличаться на вашей системе. Просмотрите директорию к /tmp/.mount_qbittoAdJGnK/usr/share/icons и скопируйте значок оттуда. Я попробовал масштабируемый значок /tmp/.mount_qbittoAdJGnK/usr/share/icons/hicolor/scalable/apps/qbittorrent.svg, который работает нормально.


Вот пример моего очень простого .desktop-файла, сохраненного в /home/mook/.local/share/applications/qbittorrent-5.0.4_x86_64.AppImage.desktop:

[Desktop Entry]
Exec=/home/mook/qbittorrent-5.0.4_x86_64.AppImage %U
MimeType=application/x-desktop;x-scheme-handler/magnet;
Name=qbittorrent-5.0.4_x86_64.AppImage
Type=Application
Icon=/home/mook/.icons/qbittorrent.svg
Categories=Network;FileTransfer;P2P;Qt;

После создания этого файла мне нужно было выполнить update-desktop-database ~/.local/share/applications. Если вы сохранили ваш .desktop-файл в /usr/share/applications, выполните sudo update-desktop-database /usr/share/applications.

Вывод команды gio mime x-scheme-handler/magnet:

~$ gio mime x-scheme-handler/magnet
Default application for "x-scheme-handler/magnet": qbittorrent-5.0.4_x86_64.AppImage.desktop
Registered applications:
        qbittorrent-5.0.4_x86_64.AppImage.desktop
Recommended applications:
        qbittorrent-5.0.4_x86_64.AppImage.desktop

Нажатие на magnet-ссылку в Firefox приводит к следующему:

enter image description here

Нажатие на `Choose Application` ведет к следующему:

enter image description here

Нажатие на Open Link открывает qbittorrent:

enter image description here

Я также вижу значок в моем лаунчере приложений:

enter image description here

.

Ответ или решение

Для назначения магнитных ссылок приложению qBitTorrent, запускаемому через AppImage, необходимо выполнить ряд шагов, чтобы корректно ассоциировать эти ссылки с приложением, несмотря на его неинсталляционный характер. Учитывая, что вы используете AppImage версии 5.0.4, сюда не требуется установка qBitTorrent через пакетные менеджеры вроде apt-get или другого способа установки программ в Linux. Достижение нужного функционала возможно посредством создания и настройки специального файла .desktop.

Теоретическая часть

Технология AppImage позволяет пользователям запускать приложения без их фактической установки. Это особенно полезно в случаях, когда необходимо использовать более свежую версию программы, чем доступна в стандартных репозиториях дистрибутива. Однако, из-за отсутствия стандартного процесса установки, приложение не регистрируется в системе как обработчик конкретных типов данных, таких как магнитные ссылки. Для решения этой проблемы используется создание и настройка .desktop файла, который ассоциирует магнитные ссылки с выбранным приложением.

Пример

Для примера, давайте рассмотрим, как можно создать и настроить такой файл. Во-первых, создайте .desktop файл в вашем домашнем каталоге или в системе, если вы хотите сделать его доступным для всех пользователей:

  1. Создание .desktop файла:

    Создайте файл в ~/.local/share/applications/ или в /usr/share/applications/, если требуется системный доступ:

    touch ~/.local/share/applications/qbittorrent-5.0.4_x86_64.AppImage.desktop
  2. Конфигурация файла:

    Откройте файл и вставьте следующий код, изменяя пути на актуальные для вашего окружения:

    [Desktop Entry]
    Name=qbittorrent
    Exec=/путь/к/вашему/qbittorrent-5.0.4_x86_64.AppImage %U
    MimeType=application/x-bittorrent;x-scheme-handler/magnet;
    Icon=/путь/к/вашему/иконе/qbittorrent.svg
    Type=Application
    Categories=Network;FileTransfer;P2P;Qt;

    Важно добавить %U к строке Exec=, чтобы приложение могло принимать магнитные ссылки как аргументы.

  3. Настройка иконки:

    Во время работы AppImage приложение монтируется в временную директорию, расположенную в /tmp. Зайдите в соответствующую директорию, например /tmp/.mount_qbittoAdJGnK, найдите и скопируйте иконку, например qbittorrent.svg, в удобное вам место, например ~/.icons/, и укажите путь к ней в файле .desktop.

  4. Обновление ассоциаций MIME:

    После сохранения файла выполните команду для обновления базы данных mime:

    update-desktop-database ~/.local/share/applications

    Если файл .desktop находится в /usr/share/applications, команда должна быть выполнена с правами суперпользователя:

    sudo update-desktop-database /usr/share/applications

Применение

Для проверки корректности ассоциации магнитных ссылок выполните команду:

gio mime x-scheme-handler/magnet

Должно отобразиться, что вашим обработчиком является созданный .desktop файл.

По завершении данных операций, клик по магнитной ссылке в браузере, например Firefox, будет автоматически стартовать qBitTorrent, позволяя управлять загрузками непосредственно через интерфейс приложения.

Таким образом, подход с использованием AppImage и соответствующей настройки .desktop файлов позволяет гибко управлять приложениями и их ассоциациями в Linux без привязки к стандартным пакетам дистрибутива, обеспечивая функциональность, даже если программа не установлена по привычному пути.

Оцените материал
Добавить комментарий

Капча загружается...