LINUX.ORG.RU

midnight commander - file associations

 , ,


1

2

Человеки, приветствую вас.

Знает ли кто?

Запускаю в чистой консоли через фрэймбуфер картиночки через fbi, а видосики через mplayer. Тоже через фрэймбуфер. И всё работает. Жирное НО.

Как эти команды правильно пихнуть в сабж?

Я как бы не очень шарю в скриптах пока что.

И поэтому /etc/mc/mc.ext ~/.config/mc/mc.ext /usr/lib/mc/ext.d/ не осилил…

Массу вариантов перепробовал ничего хорошего не вышло.

Ответ на: комментарий от anonymous

И я бы честное слово написал бы амперсанты. Хоть на каждый тип файла используемый мной, но попросту не умею как это сделать. Вот тут и нужна поддержка…а то можно сесть мимо горшка. А ещё хуже в него. )

uriukti
() автор топика

Что тут осиливать, в ~/.config/mc/mc.ext повбивать что-то вроде

# mp4
shell/i/.mp4
	Open=(mplayer %f >/dev/null 2>&1 &)
	View=

# mkv
shell/i/.mkv
	Open=(mplayer %f >/dev/null 2>&1 &)
	View=

# avi
shell/i/.avi
	Open=(mplayer %f >/dev/null 2>&1 &)
	View=

и всё.

piyavking ★★★★★
()
Последнее исправление: piyavking (всего исправлений: 1)
Ответ на: комментарий от piyavking

Я сейчас объясню, что значит не знать. )))

regex/.([Jj][Pp][Gg]?)$ 
        Open=/usr/bin/fbi %f &

я делал вот так.

Так учит google. Блин.

Попробую ваш вариант. Выйдет, нет, отпишусь.

uriukti
() автор топика

У меня в этом файле используются переменные вместо пути запуска нужного приложения. Эти переменные прописаны внизу пустыми. К ним через равно подписываем что надо. Например images=/usr/bin/feh , audio=/usr/bin/mpv или же вообще вместо них подписать =xdg-open чтоб открывали программы которые по умолчанию.

beeper
()
Ответ на: комментарий от uriukti

Удачи.

Про наличие в mc Ctrl+\ и Alt+I знаешь? Нет, они прямого отношения к теме не имеют, но делают работу в mc намного веселее.

hobbit ★★★★★
()

А почему не используете настройки МС: Команда-Редактировать файл расширений? Там для каждого типа файлов прописывается команда Open (нажатие Enter) и View (нажатие F3). Собственно, каких знаний вам не хватает, чтобы написать Open=mplayer %p ? Все шаблонные переменные описаны в начале файла

sigurd ★★★★★
()
Последнее исправление: sigurd (всего исправлений: 1)

Забыл важное. Система Armbian <- по сути Dibian. Компьютер - одноплатник. Я его собираю как полевой, лёгкий, переносной PC для помощи в создании и сортировке аудио, видео, фото материалов. В полевых, то есть реально в полевых, далеко от цивилизации, где заряжаться можно от солнца или ветра только. Поэтому он очень выгоден. Планшеты и смартфоны не подходят. Они не работают с несколькими флэшками и HDD, а этот - легко. Уже проверил его в бою и он оправдал все ожидания, но было дико не удобно каждый раз проверять видеофайлы через командную строку, то выходя, то входя в mc. Поэтому и пытаюсь сейчас этот момент настроить.

Прошу прощения пока ушёл в работу. Но обязательно отвечу, когда перепробую все предложеные варианты. Спасибо вам, ребят за поддержку.

Про то, какая система написал, чтобы было понятнее где именно не получалось. Надо было в начале написать, конечно, да забыл.

uriukti
() автор топика
Ответ на: комментарий от uriukti

Это лучше в конфиге mplayer прописать, чтобы он всегда с этими параметрами взлетал. А ещё лучше вместо mplayer использовать mpv, ибо mplayer мёртв, а mpv его наследник.

Jameson ★★★★★
()
Последнее исправление: Jameson (всего исправлений: 1)
Ответ на: комментарий от uriukti

Сейчас я на работе показать немогу. Но там и показывать нечего. Там просто в конце Файла его стоят два слова с знаком равно И пустота. Поэтому на ентер он ничего не запускает. Вот напротив них и впиши свои программы. Это глобальные переменные, например audio выше подписана к разным расширениям файлов, можешь и сам добавлять. А в конце указываешь что это за audio открывалка. Сам подумываю пересесть на mc.

beeper
()
Ответ на: комментарий от beeper

Почти понятно. Вот так это выглядит у меня. Ну вот допустим секция кода для изображений. Она в mc.ext выглядит так:

### Images ###

type/^GIF
        Include=image

type/^JPEG
        View=%view{ascii} /usr/lib/mc/ext.d/image.sh view jpeg
        Include=image

type/^PC\ bitmap
        Include=image

type/^PNG
        Include=image

type/^JNG
        Include=image

type/^MNG
        Include=image

type/^TIFF
        Include=image

type/^PBM
        Include=image

type/^PGM
        Include=image

type/^JNG
        Include=image

type/^MNG
        Include=image

type/^TIFF
        Include=image

type/^PBM
        Include=image

type/^PGM
        Include=image

type/^PPM
        Include=image

type/^Netpbm
        Include=image

shell/.xcf
        Open=/usr/lib/mc/ext.d/image.sh open xcf

shell/.xbm
        Open=/usr/lib/mc/ext.d/image.sh open xbm

shell/.xpm
        Include=image
        View=/usr/lib/mc/ext.d/image.sh view xpm %f
        Include=image

type/^Netpbm
        Include=image

shell/.xcf
        Open=/usr/lib/mc/ext.d/image.sh open xcf

shell/.xbm
        Open=/usr/lib/mc/ext.d/image.sh open xbm

shell/.xpm
        Include=image
        View=/usr/lib/mc/ext.d/image.sh view xpm %f

shell/.ico
        Include=image

shell/i/.svg
        View=%view{ascii} /usr/lib/mc/ext.d/image.sh view svg
        Open=/usr/lib/mc/ext.d/image.sh open svg

include/image
        Open=/usr/lib/mc/ext.d/image.sh open ALL_FORMATS
        View=%view{ascii} /usr/lib/mc/ext.d/image.sh view ALL_FORMATS

Я понимаю, что это приводятся разные форматы файлов изображений и все они группируются под общим названием image. А для некоторых специфических назначена работа с конкретными программами. Но последняя строка направляет эти все images в скрипт для открытия всего. А в этом скрипте я ни бум бум. Ну нет. Кое-что понимаю, но мой уровень кунг фу пока ещё не позволяет победить это.

И вот думаю...

Я должен это всё удалить? И вписать своё?

Или же что-то поменять здесь, в списке?

Или может.. В конце файла есть такое:

### Default ###

# Default target for anything not described above
default/*
        Open=
        View=


### EOF ###

С этой частью я ничего не делал ещё. Не пробовал. Её чёль надо редактировать?

А так вообще...Делал по разному. И менял части этого кода, и всё удалял пытаясь вписать своё. Толку ноль.

Я думаю, потому, что вариантов для того, чтобы найти правильный из них, огромная куча. Поэтому нужный так и не нашёл.

На какие-то из вариантов изменений выскакивают ошибки. Прямо внизу под mc, а в другом случае я вижу вывод mc после закрытия mc. Например:

-bash: ./1.jpg: не удаётся запустить бинарный файл: Ошибка формата выполняемого файла

Будто за скрипт начинает принимать картинку.

или

using "DejaVu Sans Mono-16", pixelsize=16,67 file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
ioctl VT_GETSTATE: Неприменимый к данному устройству ioctl (not a linux console?)

Других ошибок не видел. В разных случаях появляется одна из них.

Но при открытии просто в консоли командой fbi 1.jpg всё открывается корректно. Никаких ошибок.

А с видео даже не пробовал ещё.

uriukti
() автор топика
Ответ на: комментарий от beeper

«Лучше открывать из самого mc их (см.меню), тогда после сохранения будет всё применяться. Самое тут основное - правильно настроить программы для оссоциаций файлов. Смотрите какие есть и те ставьте. Небольшая хитрость - для большинства файлов для команды Open, по всей видимости, будет удобно назначить универсальную команду открытия по системным ассоциациям окружения» Тоесть xdg-open

beeper
()
Ответ на: комментарий от beeper

Поэтому строчки меняешь так

Open=xdg-open View=ТвояКартинкаСмотрелка

А остальные ассоциации через меню mc и не забывать- сохранить настройки. Я пробовал так. И он сам открывал мне мп3, файлы эмулятора (редкие расширения ) , и запускал картинкосмотрелку. А что не сможет открыть тогда прописываем через меню. Как то так.

beeper
()
Ответ на: комментарий от beeper

Есть сдвиги.

Изменения внёс в файлы ~/.config/mimeapps.list и конфиг mc.ext

mimeapps.list

[Added Associations]
image=/usr/bin/fbi;
text/plain=org.gnome.gedit.desktop;
application/pdf=qpdfview.desktop;

mc.ext часть кода

include/image
        Open=xdg-open %p &
        View=%view{ascii} /usr/lib/mc/ext.d/image.sh view ALL_FORMATS

Не уверен насколько это правильно, но - работает. ) Картинки открываются из mc.

Однако с видео пока так не работает. Думаю метод должен работать, но пока вижу эту ошибку:

Error: no "view" rule for type "video/mp4" passed its test case

Поможете здесь?

Тем временем я пробую настроить дальше.

uriukti
() автор топика
Ответ на: комментарий от uriukti

Где этот руль, блин, не понимаю. В конфиг mplayer добавил все опции и если просто из консоли он всё открывает просто по команде:

mplayer video.mp4

uriukti
() автор топика
Ответ на: комментарий от beeper

короче без всяких mimeapps вообще файла такого нет.

сделал просто - исправил одну лишь строчку:

Open=xdg-open %p

и теперь по Enter запускается видео, картинки, вот музыка только аудаситей запускается. Даже малоизвестный эмулятор консоли запускает свои образы.

beeper
()
Ответ на: комментарий от beeper

и еще я понял что опция View= отвечает за команду при нажатии F3, тоесть я прописал:

View=vim %p

и теперь, по F3 я вижу конфиги и прочие текстовики в vim. хотя в принципе и родной mc неплох.

beeper
()
Ответ на: комментарий от beeper

Да, F3 я даже не менял в стандартном виде он у меня. Он по стандарту показывает справку о файле. Хоть картинка, хоть видео. Мне нравится. Форматы, размеры, частоту кадров и т.д. Сегодня вечером ещё покапаю тему. Всё равно найду решение. ) Где-то оно рядом. У меня видео пока не запускается. Ну и у меня ситуация наверное сложнее, ведь я в консоли вообще без иксов. Точнее оно то всё предустановлено, но я не загружаю иксы с DE. Хопчик, продолжаю поиски.

uriukti
() автор топика
Ответ на: комментарий от uriukti

поковырявшись нашел вот че. смотрим /usr/lib/mc/ext.d это несколько файлов на которые ссылается конфиг ext и там идет проверка на то есть ли у тебя какие проги для открытия, либо если не то пинать - Open. Так вот а там у нас указано xdg-open и как бы и ладно. Но ассоциации не всегда верны, и их расставлять хз как. Так вот открываем каждый скрипт в ext.d и по тематике открываем например sound.sh и видим содержимое, в котором есть отсылка на то что если че то сделать MC_XDG_OPEN=«xdg-open» смотрим прям вначале. вот тут то и лепим свое, я например написал «mpv». И ура. музыка поет им.

Так же ставим свои прожки на остальные скрипты, видос, имаге, веб.

ЗЫ и на последок убираем бесящие затупы mc после выхода из F3,F4 - в ГУИ - Настройки - Конфигурация - Клавиша Esc - Интервал - и удаляем несколько ноликов. Сохранить конфу.

beeper
()
Ответ на: комментарий от gremlin_the_red

короче достал меня этот mc. невкатил как основной. он и был у меня на случай терминального фм. по сути я пользуюсь doublecmd.

а автору топика советую и вовсе ranger поставить. офигенный фм с автоматическим показом инфы о файлах, картинках. и настройка ассоциаций простая, а не как тут хреновы скобки и вопросики.

всё, с темы сошёл.

beeper
()
Ответ на: комментарий от uriukti

Пока толковых результатов нет. Буду искать на забугорных ресурсах.

uriukti
() автор топика

Итак. Победу одержал. Всё настроил. Работает.

Вот только несколько странно всё у меня настроено, возможно настройки эти полуумные, однако именно так работает без сбоев и проблем.

Чтобы нормально заработало видео в последней строчке раздела для видео файла mc.ext сделал:

include/video
         Open=(mplayer %f)

И всё.... Именно с такой настройкой без символа & видео запускается в mplayer и органы управления плеером работают. Когда присутствует & плеер видео играет, но он парализован. Управлять им никак не выйдет, пока не доиграет. Даже сбросить нельзя. Когда в команде присутствовали всякие там ещё >/dev/null 2>&1 и т.д. колличество неразрешимых проблем становится горообразным. И никакие рекомендации из сети никак их не решают. Хоть root, хоть брут. А вот когда так просто, как я сделал, не только всё отлично работает, так ещё и быстро. Но! Возможно всё это справедливо лишь в моей конфигурации, кто знает... Напомню, у меня одноплатник OPI0 с Armbian на борту. Ядро 4.13.х.

Да, кстати, в конце из дефолтов убрал xdg-open. Всё. Для меня тема решена. Спасибо всем огромное. Пусть небо зачтёт вам. Без вас бы не справился. Все советы помогли.

uriukti
() автор топика
Ответ на: комментарий от uriukti

Да, кстати, в конце из дефолтов убрал xdg-open

А как убрал? Нашёл вариант с export MC_XDG_OPEN=/bin/false, или руками выковыривал?

AS ★★★★★
()
Последнее исправление: AS (всего исправлений: 1)
Ответ на: комментарий от AS

В ручную. Из mc.ext. Там в конце дефолтная надстройка. Ранее туда я вписал xdg-open в open= и в view=. Вот в итоге оттуда убрал это. Оставив всё как было ранее, по умолчанию.

uriukti
() автор топика
Ответ на: комментарий от uriukti

Там эта запись для того, что если ниодна программа не совпадёт с сопоставленным файлом, то открыть с xdg-open. И вообще, у кого стоит какая либо среда. Там хдгопен настраивается сам хорошо и бывает этой одной записи вполне хватает. Пысы. Все же я перешёл на ренджер.

beeper
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.