Проблема: файлы из Midnight Commander-а (mc) не запускаются или же запускаются, но в окне mc появляется мусорные строчки, которые сдвигают экран вверх и портят вид.

Объяснение: Реакция файл-менеджера на запуск/просмотр/редактирование неисполняемого для системы файла, полностью зависит от так называемого «файла расширений», который описывает запуск определенных программ, в зависимости от расширения файла и совершаемого над ним действия.
Поэтому, чтобы «научить» Midnight Commander открывать файлы, с нужными нам расширениями, и убрать вывод мусорных строк на экран, нам придёться подрихтовать «файл расширений» коммандера.

Решение: запускаем в консоли mc с правами рута:

sudo mc

заходим в меню: F9>Команда(Command)>Файл расширений(Extension file edit) и выбираем файл расширений «Общесистемный», это нужно для того, чтобы изменения распространялись сразу на всех пользователей системы.

или просто запускаем под рутом редактор с общесистемным файлом расширений:

sudo nano /etc/mc/mc.ext

Теперь, к примеру, мы хотим сделать так, чтобы видеофайлы с расширением mkv запускались из файл-менеджера.
Я приведу уже модифицированный кусок файла расширений и с добавленной поддержкой mkv-файлов, и с комментариями:

### Video ###

Это блок расширений видеофайлов. Сами расширения, в верхнем и нижнем регистрах, представлены в виде регулярных выражений. Строка «Include=video» предписывает использовать для обработки расширения директиву «video».

# расширение AVI
regex/.([aA][vV][iI])$
Include=video

# расширение ASF
regex/.([aA][sS][fFxX])$
Include=video

# расширение DIVX
regex/.([dD][iI][vV][xX])$
Include=video

# расширение MOV, MOVQ, MOVQT
regex/.([mM][oO][vV]|[qQ][tT])$
Include=video

# расширения MP4, MPE, MPEG
regex/.([mM][pP]4|[mM][pP][eE]?[gG])$
Include=video

# расширение VOB
regex/.([vV][oO][bB])$
Include=video

# расширение WMV
regex/.([wW][mM][vV])$
Include=video

# расширения FLI, FLC, FLV
regex/.([fF][lL][iIcCvV])$
Include=video

# расширение OGM
regex/.([oO][gG][mM])$
Include=video

# Добавим, по аналогии, расширение MKV
regex/.([mM][kK][vV])$
Include=video

В случае ниже, вместо общей для всех видеофайлов директивы «Include=video», для открытия используется run-mailcap, программа запуска приложений, в соответствиии с системными файловыми ассоциациями.

# расширения формата RealAudio – RA, RAM
regex/.([rR][aA]?[mM])$
Open=run-mailcap %f 2>&1
#Open=(realplay %f >/dev/null 2>&1 &)

Вот мы и добрались до общей директивы для всех расширений (кроме файлов формата RealAudio).
Как видно ниже, в последней закоментированной строке, для открытия видеофайлов, может быть указан конкретный плейер (mplayer), но в моем случае, а именно, в среде XFCE (Xubuntu), для открытия файлов, программами по умолчанию, используется утилита exo-open, которая ориентируется на файловые ассоциации самой среды XFCE. Для Gnome, вместо exo-open, используется gnome-open, а для KDE – kfmclient exec
Так же, решим проблему мусорных строк при запуске файла, вставив «>/dev/null» и тем самым, перенаправив стандартный поток в /dev/null

include/video
# Для XFCE
Open=exo-open %f >/dev/null 2>&1 &
# Для Gnome
# Open=gnome-open %f >/dev/null 2>&1 &
# Для KDE
# Open=kfmclient exec %f >/dev/null 2>&1 &
# тут показано, как открыть сразу плейером
# Open=(mplayer %f >/dev/null 2>&1 &)

По аналогии, редактируется и всё остальное.

Related Blogs

  • Related Blogs on линукс
  • Related Blogs on программы