LINUX.ORG.RU

Ассоциации DWG файлов в Midnight Commander

 ,


0

1

При нажатии на файл DGW в Midnight Commander пишет bash: ./file.dwg: не удаётся запустить бинарный файл: Ошибка формата выполняемого файла

Команда file дает такую информацию file.dwg: DWG AutoDesk AutoCAD 2007/2008/2009

Программа для отображения файла VariCAD Viewer.

Подскажите как настроить ассоциацию?



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

Примерно так, для версии mc > 4.8.28:

$ cp /etc/mc/mc.ext.ini ~/.config/mc

Редактируем ~/.config/mc/mc.ext.ini, добавив секцию в Documents, например:

[dwg]
Shell=.dwg
ShellIgnoreCase=true
Open=ls
View=ls

Заменить ls на нужные программы.
Перезапустить mc.

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

У меня на рабочем ПК нет доступа к каталогу /etc/mc/, редактировал файл через меню МС «Команда>Редактировать файл расширений> ### Documents ###», добавил

[dwg]
Shell=.dwg 
ShellIgnoreCase=true
Open=varicad-view 
View=varicad-view

Не получилось. Скорей всего потому, что версия MC < 4.8.28.

GNU Midnight Commander, версия 4.8.27
Скомпилирован с библиотекой GLib версии 2.58.3
С библиотекой S-Lang 2.3.2 и с базой данных terminfo
Со встроенным редактором и поддержкой Aspell
C поддержкой внутренней командной оболочки
С поддержкой фоновых операций
С поддержкой мыши в xterm и консоли Linux
С поддержкой событий X11
С поддержкой интернационализации
С поддержкой многих кодировок
With ext2fs attributes support
Виртуальная файловая система:
 cpiofs, tarfs, sfs, extfs, ext2undelfs, ftpfs, sftpfs, fish
Тип данных:
 char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64;

В моем конфиге структура такая:

type/^PDF
Open=/usr/lib/mc/ext.d/doc.sh open pdf
View=%view{ascii} /usr/lib/mc/ext.d/doc.sh view pdf
Gnom7
() автор топика
Ответ на: комментарий от dataman

Дмитрий, все равно не получилось. Скорей всего в АстраЛинукс какие-то настройки виноваты. В принципе я уже наловчился через Ctrl+Enter вставлять название файла и дописывать varicad-view electric-scheme.dwg.

Благодарю! На многое открыли глаза.

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

может надо не ls %f a varicad-view %f?

и соответственно ниже, не ls $2, а varicad-view $2

(понятно что ты для теста писал ls)

@Gnom7

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

Глаза открыл. Теперь надо глазеть. Первое, на что глазеть: «F1».

название файла и дописывать varicad-view electric-scheme.dwg.

Самое банальное, вставить это в «user menu».

andytux ★★★★★
()
Ответ на: комментарий от Gnom7

Значит неправильный. Либо ошибка в имени файла. Если находится по «нестандартному пути», то писать полное имя файла (абсолютный путь). А файл «исполняемый»?

Здесь пример для текстоых редакторов.

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

В принципе я уже наловчился через Ctrl+Enter вставлять название файла и дописывать

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

hobbit ★★★★★
()

При нажатии на файл DGW в Midnight Commander пишет bash: ./file.dwg: не удаётся запустить бинарный файл: Ошибка формата выполняемого файла

Если ругается на ошибку формата выполняемого файла - значит у file.dwg стоят биты исполнения и mc не смотрит на тип файла, а просто запускает файл на исполнение.
На тип и расширение файла mc смотрит только для не исполняемых файлов.
Сначала надо убрать биты исполнения chmod a-x file.dwg.

sigurd ★★★★★
()
Ответ на: комментарий от Gnom7

А есть права на /usr/lib/mc/ext.d/doc.sh или /usr/lib/mc/ext.d/image.sh? (или где они там в Астре)

Для проверки можно в каком-то из них добавить после case "${filetype}" in:

dwg)
    (varicad-view "${MC_EXT_FILENAME}" &)
    ;;
dataman ★★★★
()
Ответ на: комментарий от dataman

Заметьте, что настройки в скриптах mc/ext.d/doc.sh или image.sh работают только для акции «view» (т.е. при назатии F3), а при акции «open» (нажатие Enter) работает совершенно другой механизм ("${MC_XDG_OPEN}" "${MC_EXT_FILENAME}" >/dev/null 2>&1) || do_open_action "${filetype}"
т.е. вызывается xdg-open , который работает по своим правилам. И только если xdg-open не знает такого типа файлов - вызываются настройки вызова из скрипта doc.sh

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

А, ну да.

Вот это Open можно заменить на Open=(mplayer %f), где вместо mplayer нужная прога. Можно и параметров туда же накидать. В простейших случаях работает без сбоев.

Тут какие то сложные обсуждения переменных и путей. Просто укажи абсолютный путь к бинарнику.

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

Недавно мне обновили Astra Linux. Теперь у MC версия 4.8.29 (т.е. с обновленным форматом конфига).

Методом тыка, получилось открывать DWG файлы с помощью Varicad так:

 [dwg]        
 Shell=.dwg   
 ShellIgnoreCase=true
      Open=(varicad-view %f)
      View=(varicad-view %f)
Gnom7
() автор топика