[Решено] }Как работает назначение расширений в mc?

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Ответить
MiK13
Сообщения: 1180
ОС: Linux Debian

[Решено] }Как работает назначение расширений в mc?

Сообщение MiK13 »

Ещё давно сделал настройку в mc чтобы файлы при нажатии "Ввод" или F3 обрабатывались так как я хочу.
Изображения просматриваю вызывая geeqie (при нажатии "Ввод", а на файлы PDF при нажатии "Ввод" вызывается evince (в нём удобнее копировать текст), а при нажатии F3 -- mupdf (там навигация удобная).
Поставил (дополнительно) Debian 12. Хочу, чтобы в нём было аналогично. (~ тот же). Но не всё работает.
В файле ~/.config/mc/mc.ext.ini такие настройки (то, что было не удалял, а просто комментировал):

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

include/image
#	Open=(see %f &)
#	Open=if [ "$DISPLAY" = "" ]; then zgv %f; else (geeqie %f 1>/dev/null 2>/dev/null &); fi
	Open=(geeqie %f 1>/dev/null 2>/dev/null &)
	View=%view{ascii} identify %f
	#View=%view{ascii} asciiview %f

# PDF
type/^PDF
#	Open=(echo "evince %f >/dev/null 2>&1 &")
	Open=(evince %f >/dev/null 2>&1 &)
	#Open=(see %f >/dev/null 2>&1 &)
	#Open=(acroread %f &)
	#Open=(ghostview %f &)
	#View=%view{ascii} pdftotext %f -
	View=(mupdf %f >/dev/null 2>&1 &)
В Debian 11 всё работает, а вот в Debian 12...
Но при нажатии "Ввод" на файлы изображений их открывает Firefox.
При нажатии "Ввод" на файлы PDF их открывает atril (впрочем это меня устраивает), а при нажатии F3 -- mcview показывает текст, преобразованный с помощью pdftotext.

Как это изменить?

P.S.
Вроде удалось разобраться. Там новый формат mc.ext.ini, и обработка идёт через /usr/lib/mc/ext.d/*.sh
Подправил doc.sh. На файл.pdf стал вызываться mupdf, но, во-первых, с какой-то заметной задержкой, а во вторых в mc выскакивает
warning: ICC support is not available
Установил в ~/.config/mc/mc.ext.ini просмотр через mupdf -- стало работать. Правда, есть небольшая задержка, но терпимо.
Спасибо сказали:
Аватара пользователя
sunjob
Сообщения: 330
Контактная информация:

Re: [Решено] }Как работает назначение расширений в mc?

Сообщение sunjob »

день добрый! у меня тоже какие-то, блин траблы постоянно с этим мс... :о)

> там новый формат mc.ext.ini, и обработка идёт через /usr/lib/mc/ext.d/*.sh
т.е. если отредактить (аналогично) F9 / menu / command / edit extension file

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

include/image
	Open=(geeqie %f 1>/dev/null 2>/dev/null &)
то буде вызываться?

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

/usr/lib/mc/ext.d/*.sh

я уже не помню всех особенностей, редко ему мозги прочищаю, когда уже совсем достанет! :wacko:

у меня щас непобедима какая-то хрень с просмотром по ENTER некоторых, бл...ин, особенных форматов граф.файлов
если отдельно запустить geeqie то он отлично все покажет
если в mc кликать по ENTER - ничего не кажет, не реагирует, ошибки не валит, молчит, скатина, как пьяный турок... :crazy:

по F4 - виден заголовок, кокой-то уже не помню (под рукой сейчас этих особенных файлов нет, почистил нубук)

не встречались с таким поведением нашего любимого mc?
если я ошибаюсь, то поправьте а не критикуйте :о)
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20798
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: [Решено] }Как работает назначение расширений в mc?

Сообщение Bizdelnick »

sunjob писал(а):
25.03.2024 16:35
ошибки не валит, молчит, скатина, как пьяный турок
sunjob писал(а):
25.03.2024 16:35
1>/dev/null 2>/dev/null
И с чего бы…
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
sunjob
Сообщения: 330
Контактная информация:

Re: [Решено] }Как работает назначение расширений в mc?

Сообщение sunjob »

> И с чего бы…
чукча не полный писатель, немножко и читатель! код для топика я выдернул у автора (убрал лишнее, оставил только факт применения переопределения вызова на geeqie)
у себя пробовал по всякому - не помогло понять суть проблемы (если наткнусь на "кареженные" фотки, обязательно уточню еще раз, но пока "как-то так").

уточняю - моя трабла не решена :crazy:
можно просто высказывать идеи, пендили, ссылки итд
если я ошибаюсь, то поправьте а не критикуйте :о)
Спасибо сказали:
Kopilov
Сообщения: 949
ОС: [K]Ubuntu, Debian

Re: [Решено] }Как работает назначение расширений в mc?

Сообщение Kopilov »

sunjob писал(а):
26.03.2024 02:28
убрал лишнее, оставил только факт применения переопределения вызова на geeqie
Перенаправление вывода тоже убрали? И всё равно молчит?
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2660
ОС: Gentoo

Re: [Решено] }Как работает назначение расширений в mc?

Сообщение ormorph »

Я вообще ни чего не правлю в mc.
Мой стандартный image.sh:
Spoiler

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

#!/bin/sh

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

action=$1
filetype=$2

[ -n "${MC_XDG_OPEN}" ] || MC_XDG_OPEN="xdg-open"

do_view_action() {
    filetype=$1

    case "${filetype}" in
    jpeg)
        identify "${MC_EXT_FILENAME}"
        which exif >/dev/null 2>&1 && exif "${MC_EXT_FILENAME}" 2>/dev/null
        ;;
    xpm)
        sxpm "${MC_EXT_FILENAME}"
        ;;
    *)
        identify "${MC_EXT_FILENAME}"
        ;;
    esac
}

do_open_action() {
    filetype=$1

    case "${filetype}" in
    xbm)
        (bitmap "${MC_EXT_FILENAME}" &)
        ;;
    xcf)
        (gimp "${MC_EXT_FILENAME}" &)
        ;;
    svg)
        (inkscape "${MC_EXT_FILENAME}" &)
        ;;
    *)
        if [ -n "$DISPLAY" ]; then
            if which geeqie >/dev/null 2>&1; then
                (geeqie "${MC_EXT_FILENAME}" &)
            else
                (gqview "${MC_EXT_FILENAME}" &)
            fi
        elif which see >/dev/null 2>&1; then
            (see "${MC_EXT_FILENAME}" &)
        else
            (zgv "${MC_EXT_FILENAME}" &)
        fi
        ;;
    esac
}

case "${action}" in
view)
    do_view_action "${filetype}"
    ;;
open)
    ("${MC_XDG_OPEN}" "${MC_EXT_FILENAME}" >/dev/null 2>&1) || \
        do_open_action "${filetype}"
    ;;
*)
    ;;
esac
Как видно там это идёт через xdg-open, его и настраивать:

Shell

$ xdg-mime default geeqie.desktop image/jpeg
$ xdg-mime default geeqie.desktop image/png
Спасибо сказали:
Аватара пользователя
sunjob
Сообщения: 330
Контактная информация:

Re: [Решено] }Как работает назначение расширений в mc?

Сообщение sunjob »

Kopilov писал:
26.03.2024 15:40
И всё равно молчит?
да, сам в шоке! может чего в лапах напутал (левую с правой)?! :crazy:
Добавлено (12:57):
ormorph писал(а):
26.03.2024 22:22
его и настраивать
везет вам, калдунам! все знаете, где ткнуть, куда пнуть, где шваркнуть... :drinks:

доберусь попробую уговорить, посмотрим что там к чему (правда, пока на пакостные фотки не наткнулся)
если я ошибаюсь, то поправьте а не критикуйте :о)
Спасибо сказали:
Аватара пользователя
sunjob
Сообщения: 330
Контактная информация:

Re: [Решено] }Как работает назначение расширений в mc?

Сообщение sunjob »

$ xdg-mime default geeqie.desktop image/jpeg
а можно такой фокус провернуть с группой? например для всех граф.файлов / image?
если я ошибаюсь, то поправьте а не критикуйте :о)
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2660
ОС: Gentoo

Re: [Решено] }Как работает назначение расширений в mc?

Сообщение ormorph »

sunjob писал(а):
28.03.2024 17:53
а можно такой фокус провернуть с группой? например для всех граф.файлов / image?
Очень сомневаюсь. Но если хочется применить ко всем файлам которые нужны для geeqie, то посмотрите на то что внутри файла geeqie.desktop:
Spoiler

Shell

[Desktop Entry]
Name[ru]=Geeqie
Name=Geeqie
GenericName[ru]=Программа просмотра изображений
GenericName=Image Viewer
Comment[ru]=Просмотр и управление изображениями
Comment=View and manage images
Exec=geeqie -r %F
Icon=geeqie
Type=Application
Terminal=false
# Startup notification disabled, since the remote -r switch may not open a new window...
#StartupNotify=false
#StartupWMClass=geeqie
NotShowIn=X-Geeqie;
Categories=Graphics;Viewer;
MimeType=application/x-navi-animation;image/bmp;image/x-bmp;image/x-MS-bmp;image/gif;image/x-icon;image/jpeg;image/png;image/x-portable-anymap;image/x-portable-bitmap;image/x-portable-graymap;image/x-portable-pixmap;image/x-tga;image/tiff;image/x-xbitmap;image/x-xpixmap;image/svg;image/svg+xml;image/x-png;image/xpm;image/x-ico;
Там как раз присутствует строчка MimeType в которой всё прописано. Можно для этого скрипт сделать, который всё это прогоняет.
Спасибо сказали:
Аватара пользователя
sunjob
Сообщения: 330
Контактная информация:

Re: [Решено] }Как работает назначение расширений в mc?

Сообщение sunjob »

да эт понятно... с миру по шнитке, как говориться :о)

p.s. у меня эта ванючка все мозги выела, св...чь!

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

$ /usr/libexec/mc/ext.d/image.sh open ./@JPG@
из ком.строки нормально открывает, как ему задали - в geeqie

клацаешь по энтеру в мс - открывается лиса
если я ошибаюсь, то поправьте а не критикуйте :о)
Спасибо сказали:
Ответить