Вопрос или проблема
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-документами и интегрировать сторонние скрипты в вашу рабочую среду.