18 октября 2009 г.

mc — смена каталога при выходе

После обновления mc до версии 4.7.0_pre1, было обнаружено, что пропала удобная функция, позволяющая при выходе из программы остаться в последней директории, а не в той, которая была на момент запуска mc. В gentoo это работало благодаря добавлению следующих строк в .bashrc:

if [ -f /usr/share/mc/mc.gentoo ]; then
    . /usr/share/mc/mc.gentoo
fi

Так вот, выяснилось, что файл /usr/share/mc/mc.gentoo отсутствует в новой версии mc. Ну и собственно, для возврата работоспособности описанной функции, необходимо под root'ом создать файл /usr/share/mc/mc.gentoo следующего содержания:

#!/bin/sh

MC_ENV=/usr/libexec/mc/mc.sh

for i in $MC_ENV; do
    if [ -x $i ]; then
        . $i
    fi
done

Также не забываем проверить наличие указанного выше фрагмента в .bashrc. Теперь все должно работать, как раньше.

P.S Как правильно заметил ForeverYoung, все можно настроить без создания дополнительного файла. Начиная с версии 4.7.0_pre3 в gentoo, после установки mc, советуют для включения описанной выше функции добавить нечто вроде следующих строк в ~/bashrc:

if [ -f /usr/libexec/mc/mc.sh ]; then
    . /usr/libexec/mc/mc.sh
fi