Вопрос или проблема
Я использую 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 приводит к следующему:
Нажатие на `Choose Application` ведет к следующему:
Нажатие на Open Link
открывает qbittorrent:
Я также вижу значок в моем лаунчере приложений:
.
Ответ или решение
Для назначения магнитных ссылок приложению qBitTorrent, запускаемому через AppImage, необходимо выполнить ряд шагов, чтобы корректно ассоциировать эти ссылки с приложением, несмотря на его неинсталляционный характер. Учитывая, что вы используете AppImage версии 5.0.4, сюда не требуется установка qBitTorrent через пакетные менеджеры вроде apt-get или другого способа установки программ в Linux. Достижение нужного функционала возможно посредством создания и настройки специального файла .desktop
.
Теоретическая часть
Технология AppImage позволяет пользователям запускать приложения без их фактической установки. Это особенно полезно в случаях, когда необходимо использовать более свежую версию программы, чем доступна в стандартных репозиториях дистрибутива. Однако, из-за отсутствия стандартного процесса установки, приложение не регистрируется в системе как обработчик конкретных типов данных, таких как магнитные ссылки. Для решения этой проблемы используется создание и настройка .desktop
файла, который ассоциирует магнитные ссылки с выбранным приложением.
Пример
Для примера, давайте рассмотрим, как можно создать и настроить такой файл. Во-первых, создайте .desktop
файл в вашем домашнем каталоге или в системе, если вы хотите сделать его доступным для всех пользователей:
-
Создание
.desktop
файла:Создайте файл в
~/.local/share/applications/
или в/usr/share/applications/
, если требуется системный доступ:touch ~/.local/share/applications/qbittorrent-5.0.4_x86_64.AppImage.desktop
-
Конфигурация файла:
Откройте файл и вставьте следующий код, изменяя пути на актуальные для вашего окружения:
[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=
, чтобы приложение могло принимать магнитные ссылки как аргументы. -
Настройка иконки:
Во время работы AppImage приложение монтируется в временную директорию, расположенную в
/tmp
. Зайдите в соответствующую директорию, например/tmp/.mount_qbittoAdJGnK
, найдите и скопируйте иконку, напримерqbittorrent.svg
, в удобное вам место, например~/.icons/
, и укажите путь к ней в файле.desktop
. -
Обновление ассоциаций 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 без привязки к стандартным пакетам дистрибутива, обеспечивая функциональность, даже если программа не установлена по привычному пути.