LINUX.ORG.RU

Странная засада с отключением враппера Midnight Commander'а

 , , засада


0

1

Собственно, странный ребус. По дефолту, по ходу, где-то у меня включен враппер Midnight Commander'а, который обеспечивает чтобы после выхода из MC текущая директория в shell'е оставалась той же, что была и в MC. Собственно, в Гугле полно ссылок как его включить. А я не могу понять как мне его, наоборот, отключить.

В Гугле описывают включение через alias. OK, смотрим:

> alias mc
alias mc='mc -b'
> whereis mc
mc: /usr/bin/mc /usr/lib/mc /etc/mc /usr/share/mc /usr/share/man/man1/mc.1.gz
> file /usr/bin/mc
/usr/bin/mc: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=9be5b353943ce2563c409a1b90553f328d39589a, for GNU/Linux 3.2.0, stripped
>
Теоретически должен запускаться именно
/usr/bin/mc -b
Но что показывает ps? Вот это:
/usr/bin/mc -P /tmp/mc-saahriktu/mc.pwd.12761 -b
Как понять откуда берётся это "-P /tmp/mc-saahriktu/mc.pwd.*" и как это отключить?

★★★★★

А ребус это потому, что ты будешь сопротивляться, не запускать strace и пускать по ложно у следу?

t184256 ★★★★★
()

Всё, нашёл где была засада. Она оказалась в /etc/profile.d/mc.sh.

Там, внезапно, оказалось это:

# Don't define aliases in plain Bourne shell
[ -n "${BASH_VERSION}${KSH_VERSION}${ZSH_VERSION}" ] || return 0
mc()
{
. /usr/share/mc/mc-wrapper.sh
}
if [ -n "$BASH_VERSION" ]
then
    export -f mc
fi

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

это потому что ты strace на mc натравил, а надо было на шелл

t184256 ★★★★★
()

Вау! Я и не знал, что так можно!

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