qpdfview: Нет приложения по умолчанию для ‘textedit:///path/file.ext:2:3:4’

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

qpdfview 0.5.0 на Lubuntu 24.10

У меня есть PDF-документ с несколькими встроенными ссылками в виде textedit:///path/file.ext:2:3:4.

Я включил Open URL (Правка -> Настройки… -> Поведение –> Открыть URL), но когда я нажимаю на ссылку, я получаю No default application for 'textedit:///path/file.ext:2:3:4'. Я не могу найти документ, который объясняет, как установить “приложение по умолчанию” для qpdfview.

В конечном итоге я хочу нажать на ссылку и передать эту строку textedit в подготовленный мной скрипт, но сначала мне нужно разобраться с этим вопросом “приложения по умолчанию”.

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

Проблема с открытием ссылок в qpdfview на Lubuntu 24.10

Ваша проблема с qpdfview версии 0.5.0 на Lubuntu 24.10, в частности ошибка "No default application for ‘textedit:///path/file.ext:2:3:4’", связана с тем, что система не знает, как обрабатывать специальные схемы URL, такие как textedit://. Давайте пошагово разберемся, как это исправить и как направить ссылки в нужное вам приложение или скрипт.

1. Понимание проблемы

Ссылки, которые вы хотите использовать, имеют нестандартный префикс textedit://, который не ассоциирован с каким-либо приложением в вашей системе. Поскольку вы уже включили опцию "Open URL" в настройках qpdfview, следующим шагом будет создание или привязка подходящего обработчика для этих ссылок.

2. Создание обработчика для ссылок

Шаг 1: Создайте скрипт

Для начала создайте Bash-скрипт, который будет обрабатывать эти ссылки. Например, создайте файл open_textedit.sh с следующим содержимым:

#!/bin/bash

# Извлечь параметры из URL
if [[ $1 =~ textedit://([^:]+):([0-9]+):([0-9]+):([0-9]+) ]]; then
    FILE_PATH="${BASH_REMATCH[1]}"
    LINE="${BASH_REMATCH[2]}"
    COLUMN="${BASH_REMATCH[3]}"
    OTHER_DATA="${BASH_REMATCH[4]}"

    # Здесь вы можете вставить логику для обработки файла
    echo "Открытие файла: $FILE_PATH на строке: $LINE, колонне: $COLUMN"
    # Например, можно использовать текстовый редактор
    gedit "$FILE_PATH"
else
    echo "Неверный формат URL"
fi

Не забудьте сделать скрипт исполняемым:

chmod +x open_textedit.sh

Шаг 2: Зарегистрируйте новый тип URL

Теперь вам нужно зарегистрировать этот скрипт как обработчик для textedit://. Это делается через создание файла .desktop.

Создайте файл с именем textedit.desktop в каталоге ~/.local/share/applications/:

[Desktop Entry]
Name=TextEdit Handler
Exec=/path/to/open_textedit.sh %u
Type=Application
Terminal=false
MimeType=x-scheme-handler/textedit;

Шаг 3: Обновите базу данных приложений

Для применения изменений выполните команду:

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

3. Настройка MIME-типа

Вам необходимо отредактировать файл ~/.config/mimeapps.list, чтобы добавить обработчик для вашей схемы. Откройте этот файл и добавьте:

[Default Applications]
x-scheme-handler/textedit=textedit.desktop

Таким образом, ваша система будет знать, что ссылки формата textedit:// следует обрабатывать с помощью вашего скрипта.

4. Тестирование

Теперь прокомментируйте или перезагрузите qpdfview и попробуйте снова щелкнуть по ссылке. Если все было настроено правильно, ваш скрипт должен запуститься, и к нему будет передана ссылка на нужный файл.

Заключение

Теперь вы знаете, как обрабатывать специфичные URL-ссылки в qpdfview на Lubuntu. С помощью правильно настроенного скрипта и создания .desktop файла вы можете перемещаться в соответствии с вашими предпочтениями. Этот подход позволяет гибко взаимодействовать с PDF-документами и интегрировать сторонние скрипты в вашу рабочую среду.

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

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