Вопрос или проблема
$ xdg-open
Программа 'xdg-open' в настоящее время не установлена. Вы можете установить её, набрав:
sudo apt-get install xdg-utils
$ sudo apt-get install xdg-utils
Чтение списков пакетов... Готово
Формирование дерева зависимостей
Чтение информации о состоянии... Готово
xdg-utils уже является самой новой версией.
0 обновлено, 0 установлено новыми, 0 для удаления и 89 не обновлено.
$ whereis xdg-open
xdg-open: /usr/bin/xdg-open /usr/bin/X11/xdg-open /usr/share/man/man1/xdg-open.1.gz
$ which xdg-open
$ xdg-open
Программа 'xdg-open' в настоящее время не установлена. Вы можете установить её, набрав:
sudo apt-get install xdg-utils
Нет, я не имел в виду “рекурсию”.
Я на Linux Mint 15 MATE, но вместо MATE я использую оконный менеджер i3.
Редактировать, прислушавшись к совету @slm
$ type -a xdg-open
type: xdg-open не найден
Но он находится в /usr/bin/xdg-open. Я проверил.
$ dpkg -S /usr/bin/xdg-open
xdg-utils: /usr/bin/xdg-open
Следующий был ещё более интересным.
$ dpkg -S xdg-open
git-annex: /usr/share/doc/git-annex/html/bugs/Fix_for_opening_a_browser_on_a_mac___40__or_xdg-open_on_linux__47__bsd__63____41__.html
xdg-utils: /usr/bin/xdg-open
xdg-utils: /usr/share/man/man1/xdg-open.1.gz
Исправление ошибки — это всего лишь архив почты патча для проблемы с OSX. В любом случае, я полагаю, я мог бы попробовать использовать полный путь:
$ /usr/bin/xdg-open
/usr/bin/xdg-open: Нет такого файла или каталога
Это похоже на то, что ваша база данных пакетов повреждена. Сначала я бы определил все версии xdg-open
, которые у вас есть в системе. type
всегда следует использовать для выполнения этой задачи, никогда не полагайтесь на which
или whereis
.
Пример
Определите все xdg-open
.
$ type -a xdg-open
xdg-open находится в /usr/bin/xdg-open
Выясните, в каких пакетах они находятся.
$ dpkg -S /usr/bin/xdg-open
xdg-utils: /usr/bin/xdg-open
Вы захотите либо повторить вышеупомянутый dpkg -S ..
для каждого совпадения, возвращаемого type -a
или использовать вместо этого поиск dpkg -S ..
.
$ dpkg -S xdg-open
xdg-utils: /usr/bin/xdg-open
xdg-utils: /usr/share/man/man1/xdg-open.1.gz
Я бы делал каждую операцию по одной.
Переустановка xdg-utils
Если вы хотите обновить установку этого пакета, сделайте так:
$ sudo apt-get install --reinstall xdg-utils
Благодаря совету @slm, я нашёл это.
chromium-browser браузером по умолчанию в Linux Mint. Совет был таков: удалите usr/bin/xdg-open
, а затем создайте символическую ссылку на chromium-browser
.
Это действительно сделало Chromium браузером по умолчанию. Это сделало Chromium браузером по умолчанию для множества вещей.
С тех пор, конечно, я установил официальный Chrome для Linux от Google. Он автоматически работал как браузер по умолчанию, и я забыл об этом обходном решении.
К сожалению, это трудно исправить. Вы можете удалить символическую ссылку, но как восстановить оригинал? sudo apt-get install xdg-utils
не беспокойтесь, потому что считает, что он уже обновлён. sudo apt-get remove xdg-utils
в настоящее время занят удалением практически всей моей системы.
Ответ или решение
Проблема с xdg-open на Linux Mint: Решение и Восстановление
Введение
Если вы столкнулись с проблемой, когда команда xdg-open
подозрительно сообщает "The program ‘xdg-open’ is currently not installed", несмотря на то что утилита установлена как часть пакета xdg-utils
, это может быть связано с некорректной конфигурацией вашей системы. Давайте подробно рассмотрим, как можно решить данную проблему.
Анализ Проблемы
-
Проверка Установки: Вы уже проверили, что пакет
xdg-utils
установлен, и система сообщает о наличии самой утилиты:$ dpkg -S /usr/bin/xdg-open xdg-utils: /usr/bin/xdg-open
Тем не менее, команда
xdg-open
не выполняется. Это приводит к предположению, что файл/usr/bin/xdg-open
может быть поврежден или отсутствует необходимые права доступа. -
Символическая Ссылка или Удаленный Файл: Из вашего описания видно, что ранее вы создавали символическую ссылку на
chromium-browser
, заменив оригинальный файлxdg-open
. Чтобы выяснить, является ли сам файл символической ссылкой, выполните:ls -l /usr/bin/xdg-open
Если это символическая ссылка, вы сможете увидеть, на что она указывает. Если ссылка указывает на
chromium-browser
, вам необходимо восстановить оригинал. -
Восстановление xdg-open: Так как
sudo apt-get install xdg-utils
не переустановитxdg-utils
, если система считает его обновленным, вам необходимо вручную удалить символическую ссылку:sudo rm /usr/bin/xdg-open
После этого восстановите правильный файл. Вы можете извлечь исполняемый файл из пакета
xdg-utils
с помощью команды:sudo apt-get install --reinstall xdg-utils
-
Проверка Переменных Среды: Убедитесь, что переменные окружения и пути к исполняемым файлам настроены корректно. Это можно сделать с помощью:
echo $PATH
Убедитесь, что
/usr/bin
входит в список.
Дополнительные Шаги и Проверки
-
Права Доступа: Убедитесь, что у файла
xdg-open
есть необходимые права:chmod +x /usr/bin/xdg-open
-
Тестирование: После выполнения всех шагов протестируйте выполнение команды:
xdg-open https://www.example.com
-
Логи: Если после выполнения вышеуказанных шагов проблема сохраняется, проверьте системные логи на наличие ошибок, связанных с запуском программ:
dmesg | grep xdg-open
Заключение
При возникновении подобной проблемы с утилитой xdg-open
на Linux Mint важно проследить за целостностью исполняемых файлов и конфигурацией вашего окружения. Следуйте приведенным выше шагам, чтобы вернуть функциональность данной утилиты. Если проблема не решается, возможно, стоит рассмотреть вариант более глубокого анализа системы или консультации с опытными пользователями на форумах.