[РЕШЕНО] Firefox перехватывает ассоциации файлов в mc

SLAX, Deep Style, ZenWalk

Модератор: Модераторы разделов

Axxxin
Сообщения: 11
ОС: ArchLinux

[РЕШЕНО] Firefox перехватывает ассоциации файлов в mc

Сообщение Axxxin »

Здравствуйте!
При попытке открыть какие-либо документы (например *.pdf, *.odt и т.д.) в mc у меня постоянно открывается firefox c вопросом - что использовать для открытия этого файла. Если снести firefox, то скрипт /usr/libexec/mc/ext.d/doc.sh отрабатывает без проблем. После установки браузера все возращается на круги своя.

~/.config/mc/mc.ext

Код: Выделить всё

# PDF
type/^PDF
    Open=/usr/libexec/mc/ext.d/doc.sh open pdf
    View=%view{ascii} /usr/libexec/mc/ext.d/doc.sh view pdf
# StarOffice 6 and OpenOffice.org formats
regex/\.(odt|ott|sxw|stw|ods|ots|sxc|stc|odp|otp|sxi|sti|odg|otg|sxd|std|odb|odf|sxm|
odm|sxg)$
    Open=/usr/libexec/mc/ext.d/doc.sh open ooffice
    View=%view{ascii} /usr/libexec/mc/ext.d/doc.sh view odt


/usr/libexec/mc/ext.d/doc.h

Код: Выделить всё

#!/bin/sh

# $1 - action
# $2 - type of file

action=$1
filetype=$2


do_view_action() {
    filetype=$1

    case "${filetype}" in
    ps)
        ps2ascii "${MC_EXT_FILENAME}"
        ;;
    pdf)
        pdftotext "${MC_EXT_FILENAME}" -
        ;;
    odt)
        odt2txt "${MC_EXT_FILENAME}"
        ;;
    msdoc)
        antiword -t "${MC_EXT_FILENAME}" || \
            catdoc -w "${MC_EXT_FILENAME}" || \
            word2x -f text "${MC_EXT_FILENAME}" - || \
            strings "${MC_EXT_FILENAME}"
        ;;
    msxls)
        xls2csv "${MC_EXT_FILENAME}" || \
            strings "${MC_EXT_FILENAME}"
        ;;
    dvi)
        dvi2tty "${MC_EXT_FILENAME}"
        ;;
    djvu)
        djvused -e print-pure-txt "${MC_EXT_FILENAME}"
        ;;
    *)
        ;;
    esac
}

do_open_action() {
    filetype=$1

    case "${filetype}" in
    ps)
        (gv "${MC_EXT_FILENAME}" &)
        ;;
    pdf)
        (xpdf "${MC_EXT_FILENAME}" &)
        #(acroread "${MC_EXT_FILENAME}" &)
        #(ghostview "${MC_EXT_FILENAME}" &)
        ;;
    ooffice)
        (libreoffice4.1 "${MC_EXT_FILENAME}" &)
        ;;
    abw)
        (abiword "${MC_EXT_FILENAME}" &)
        ;;
    msdoc)
        (libreoffice4.1 "${MC_EXT_FILENAME}" >/dev/null 2>&1 &)
        ;;
    msxls)
        (gnumeric "${MC_EXT_FILENAME}" >/dev/null 2>&1 &)
        ;;
    framemaker)
        fmclient -f "${MC_EXT_FILENAME}"
        ;;
    dvi)
        if [ x$DISPLAY = x ]; then
            dvisvga "${MC_EXT_FILENAME}"
        else
            (xdvi "${MC_EXT_FILENAME}" &)
        fi
        ;;
    djvu)
        djview "${MC_EXT_FILENAME}" &
        ;;
    *)
        ;;
    esac
}

case "${action}" in
view)
    do_view_action "${filetype}"
    ;;
open)
    xdg-open "${MC_EXT_FILENAME}" 2>/dev/null || \
        do_open_action "${filetype}"
    ;;
*)
    ;;
esac


Slackware 14, Linux 3.2.45-smp #2 SMP Fri May 31 16:57:40 CDT 2013 i686 Intel® Core™2 Duo CPU T9300 @ 2.50GHz GenuineIntel GNU/Linux
Подскажите, где собака порылась.
Спасибо сказали:

Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: [РЕШЕНО] Firefox перехватывает ассоциации файлов в mc

Сообщение drBatty »

Axxxin писал(а):
10.09.2013 08:23
При попытке открыть какие-либо документы (например *.pdf, *.odt и т.д.) в mc у меня постоянно открывается firefox c вопросом - что использовать для открытия этого файла.

потому-что у вас браузер прописан как дефолтный "открыватель". А вот где оно в mc прописывается -- сказать даже затрудняюсь. Может быть в DE? Вот здесь: https://wiki.archlinux.org/index.php/Xdg-open mc эту переменную тоже читает. А вот ФФ -- пишет.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:

Аватара пользователя
moonglow
Сообщения: 90
ОС: CentOS

Re: [РЕШЕНО] Firefox перехватывает ассоциации файлов в mc

Сообщение moonglow »

в LXDE MIME тут

Код: Выделить всё

.local/share/applications/
Спасибо сказали:

Аватара пользователя
bormant
Сообщения: 1348

Re: [РЕШЕНО] Firefox перехватывает ассоциации файлов в mc

Сообщение bormant »

Axxxin писал(а):
10.09.2013 08:23
Подскажите, где собака порылась.

А вот вы выше сами написали, где:

Код: Выделить всё

case "${action}" in
open)
    xdg-open "${MC_EXT_FILENAME}" 2>/dev/null || \
        do_open_action "${filetype}"
    ;;
То есть, сначала делается попытка вызвать xdg-open, и только в случае его неудачи будет вызван встроенный do_open_action().
Отсюда и возможные пути решения:
1) настроить системную ассоциацию, тогда xdg-open будет звать желаемое приложение;
2) закомментировать строчку "xdg-open "${MC_EXT_FILENAME}" 2>/dev/null || \", и тогда mc всегда будет использовать свой внутренний список из do_open_action().

Для настройки общесистемной ассоциации pdf с xpdf достаточно создать (от root-а) файл /usr/share/applications/defaults.list или со следующим содержимым:

Код: Выделить всё

[Default Applications]
application/pdf=xpdf.desktop
остальные ассоциации добавить по желанию.
Для настройки ассоциаций только для отдельного пользователя -- файл ~/.local/share/applications/defaults.list (есть тенденция переименования этого файла в ~/.local/share/applications/mimeapps.list, но текущий xdg-mime в Slackware пока использует defaults.list) с аналогичным содержимым.
Спасибо сказали:

Axxxin
Сообщения: 11
ОС: ArchLinux

Re: [РЕШЕНО] Firefox перехватывает ассоциации файлов в mc

Сообщение Axxxin »

bormant писал(а):
10.09.2013 09:58
Axxxin писал(а):
10.09.2013 08:23
Подскажите, где собака порылась.

А вот вы выше сами написали, где:

Код: Выделить всё

case "${action}" in
open)
    xdg-open "${MC_EXT_FILENAME}" 2>/dev/null || \
        do_open_action "${filetype}"
    ;;
То есть, сначала делается попытка вызвать xdg-open, и только в случае его неудачи будет вызван встроенный do_open_action().
Отсюда и возможные пути решения:
1) настроить системную ассоциацию, тогда xdg-open будет звать желаемое приложение;
2) закомментировать строчку "xdg-open "${MC_EXT_FILENAME}" 2>/dev/null || \", и тогда mc всегда будет использовать свой внутренний список из do_open_action().

Для настройки общесистемной ассоциации pdf с xpdf достаточно создать (от root-а) файл /usr/share/applications/defaults.list или со следующим содержимым:

Код: Выделить всё

[Default Applications]
application/pdf=xpdf.desktop
остальные ассоциации добавить по желанию.
Для настройки ассоциаций только для отдельного пользователя -- файл ~/.local/share/applications/defaults.list (есть тенденция переименования этого файла в ~/.local/share/applications/mimeapps.list, но текущий xdg-mime в Slackware пока использует defaults.list) с аналогичным содержимым.


Направление поиска понял. Посмотреть смогу только завтра. По результатам отпишусь.
Спасибо сказали:

Axxxin
Сообщения: 11
ОС: ArchLinux

Re: [РЕШЕНО] Firefox перехватывает ассоциации файлов в mc

Сообщение Axxxin »

Всем спасибо за помощь. Проблема была действительно в вышеуказанном - у меня отсутствовал файл defaults.list как по адресу ~/.local/share/applications/, так и в /usr/share/applications/. Создал, прописал ассоциации и все заработало.
Спасибо сказали: