Нормальное открытие файлов в Firefox

Многие встречались с тем, что Mozilla Firefox вместо открытия файлов torrent или pdf или еще каких-нибудь распространенных форматов в предназначенных для них программах, предлагает открыть их в Gedit. Баг (или фича?) наблюдается уже более 10-ти лет и за час гугления я не нашел приемлемого решения. Нашел его только после второго часа.

Для начала о проблеме.

Проблема в том, что мы живем в неидеальном мире, в котором неидеально настроенные web-сервера отдают неидеальные заголовки. Вместо заголовка для торрент файла "Content-Type: application/x-bittorrent" сервер выдает нам "Content-Type: application/octet-stream". В следующей строке он, конечно, добавляет "Content-Disposition: attachment; filename=12345.torrent", но Огнелису уже на это плевать. Firefox считает этот файл потоком данных неизвестного типа и предлагает открыть его универсальной программой для этого типа... Gedit. Что за бред?

Теперь решение.

Слава богу операционная система знает что делать с файлом 12345.torrent, поэтому для всех файлов "octet-stream" будем спрашивать операционку, что с ним делать. Для начала создадим ярлык для открытия любого файла средствами операционной системы. За это у нас отвечает программа "xdg-open", соотвественно создаем файл "~/.local/share/applications/xdg-open.desktop" со следующим содержанием:
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Exec=xdg-open %f
Name=xdg-open
NoDisplay=true

Каталог .local скрыт, поэтому если пытаетесь его найти через графический файловый менеджер нажмите Ctrl+H в домашнем каталоге и вы его увидите, для тех же кто не чурается консоли, скопируйте в консоль следующую команду:

nano ~/.local/share/applications/xdg-open.desktop

и будет Вам Счастье... Большая часть дела уже сделана. Дальше отредактируем файл mimeapps.list в том же каталоге. Для консоли:

nano ~/.local/share/applications/mimeapps.list

В этом файле заменим строку: "application/octet-stream=gedit.desktop;" на следующую "application/octet-stream=xdg-open.desktop;"

Готово. Напоследок удаляем файл mimeinfo.cache, если он присутствует, и перезапускаем firefox. Теперь файлы с неизвестным для фаерфокса типом будут открываться средствами операционной системы а не тупо в блокноте.


Uptime. Мониторинг сайтов и серверов.