Още от времето на DOS любима патерица ми беше една програма XTree. Оказа се, че я има и за Unix. Покрай XTree-то често използвах и Norton Commander (нали знаете лафа: “Гледам аз: отдясно диск “C”, и отляво диск “C”. И за какво ли са ми два еднакви?! Я, да взема да изтрия единият….) не защото ми харесваше, ами защото колегите не излизаха от него по цял ден и просто нямах избор – трябваше да свиквам. Всъщност, подобни програми в последствие се превръщат от патерици в инвалидни колични, било заради удобството, което предлагат, било заради чисто човешкият мързал да се използва нещо друго. Затова и аз, често използвам в конзола при x-образните ОС Midnight Commander-a – свободният проект, почти пълен аналог на досовският си дядо.Традиционно Midnight Commander-a в RedHat базираните ОС може да се използва за бърза смяна между директориите – особено, ако в единият панел покажете дървото на директориите. Незнайно защо, тази функция при Debian клоновете е точно обратното – там mc-то се връща точно оттам, откъдето е извикано. Това поведение, лично мен не ми допада, затова на всяка (Debian like) машина на която работя правя следното:
vi ~/.bashsrc
и добавям в краят на файла (или в секция alias)
alias mc=’. /usr/share/mc/bin/mc-wrapper.sh’ или
или за по-мързеливите, всичко на един ред:
echo alias mc=’. /usr/share/mc/bin/mc-wrapper.sh’ >> ~/.bashrc
За тази “магия” стои параметърът “-P” на mc-то за запомняне на текущата директория във външен файл. Ето и какво точно прави тази опаковка mc-wrapper.sh:
MC_USER=`id | sed ‘s/[^(]*(//;s/).*//’`
MC_PWD_FILE=”${TMPDIR-/tmp}/mc-$MC_USER/mc.pwd.$$”
/usr/bin/mc -P “$MC_PWD_FILE” “$@”
if test -r “$MC_PWD_FILE”; then
MC_PWD=”`cat $MC_PWD_FILE`”
if test -n “$MC_PWD” && test -d “$MC_PWD”; then
cd “$MC_PWD”
fi
unset MC_PWD
fi
rm -f “$MC_PWD_FILE”
unset MC_PWD_FILE
ВНИМАВАЙТЕ, ако правите Copy&Paste от екраните по-горе. Темите на шрифтовете понякога сменят апострофи и кавички или обратен апостроф, с каквото те си решат.
Допълнителни ресурси: User Guide и FAQ.
Пакетът в Дебиан отговаря на стандартното поведение на `mc’, както са решили разработчиците му. Опцията `-P’ си е опция все пак, както и нестандартния начин за използването й. В README.Debian това е обяснено:
Because of some issues a method to stay in the last working directory after exit has changed with 4.6.0. See the description of the -P option in the Options section of the manual and new wrapper scripts in /usr/share/mc/bin/.
Като си компилираш `mc’ от изходния код без кръпки, прилагани от дистрибуцията, ще забележиш, че поведението на програмата (поне в това отношение) е същото, както в Дебиан.
Навярно от Федора са сметнали, че това е нещо полезно и заслужава да бъде активирано по подразбиране. Аз лично никога не съм ползвал тази функционалност и никога не ми е трябвало подобно нещо (ползвам mc вече 12 години, макар да не съм напреднал потребител).
Така че по-правилният въпрос е “Незнайно защо в дистрибуциите, базирани на Ред Хат, mc не се държи стандартно.”
Хе, колко ме радва тази статия! 😀
В момента използвам Slackware и Ubuntu (dapper), и при двете не мога да работя без Midnight Commander. За мен е изключително ценен и не само за бързата смяна на директории, но и за копиране и местене, улеснява ме с правенето и редактиране на symlinks, а понеже не ми се запаметяват команди (едно ли е, че да го запомниш :), F9 и после chmod и chown също много ми помагат.
@Явор: Ей, не можа да се удържиш от малко пропаганда! Удари 2-3 камъка по Fedora. 🙂 Прав си за забележката. Все пак, съгласи се, че моето изречение е съвсем правилно: аз не знаех, че “нормалното” поведение на mc е да не сменя директориите, просто защото почти винаги съм го ползвал от пакет, а не чрез компилиране.
@Гери: има и още нещо, което не е много ясно и затруднява потребителите. mc не работи с функционалните клавиши в gnome-terminal, затова аз използвам ESC последователностите. Примерно с F10 влизаш е менюто на терминала, което е гадно. Затова натискаш ESC+0 (нула) и ефекта е същият. Аналогично, ESC+1 e F1 и т.н. Със сигурност това може да се настрои от някъде, но поне за момента ме мързи да изследвам.
Не знам откъде си останал с това впечатление. Отдавна спрях да препоръчвам Дебиан и ако на някой му се налага да избира между двете, бих го посъветвал да се спре на Федора (защото е на път да стане свободна дистрибуция).
@Гери: Много удобни са и комбинациите:
Ctrl+X и C – chmod
Ctrl+X и O – chown
Ctrl+X и S – създаване на symlink
Ctrl+X+S – редактиране на symlink
Alt+S – бързо търсене
Shift+F5 – копиране с редактиране на името
Shift+F6 – преместване с редактиране на името
Аз вече трудно ползвам MC без тия и още няколко подобни клавиши 😉
@Явор: Защо трябва в нещо толкова конкретно като usability на MC да намесваме обвиненията към Дебиан? Аз мога да кажа точно обратното и пак няма да сме по темата на Владо. Нека не говорим за Debian vs FSF, най-малкото Владо е федораджия и не го касае 😉
Мама му стара на този шиб*** сек. код. За трети път пиша тука в опита си да успея. Направо съм бесен.
За това този път без обяснения:
gnome-terminal -> Edit -> Keyboard shortcuts … махаш белязките на опциите:
– Disable all menu access keys
– Disable menu shortcut key
После на mc -то можеш и в гноме -то да си използваш F1-F10 … особено F8 …
В случай, че така ти е по – удобно … аз пиря Старопрамен 🙂
Опааа,
не махаш, а слагаш :-)…
Слагаш очила ли?! 🙂 По-просто нещо от тоя security code няма!
Както и да е… мерси за подсказката.
Благодаря за статията.
1 час рових из нета, докато реших да потърся и страници на български и решението излезе на първо мясот 🙂
(странно решение на разработчиците да не направят смяната на директории по подразбиране. Така се губи поне 60% от функционалността на mc )