Restaurar o antigo comportamento do diretório de saída do mc

2

Eu gostaria de ter o comportamento antigo de mc, quando sair significaria que eu estaria no diretório onde eu estava antes de iniciar o mc. Sou apenas um usuário no sistema, suspeito que seja um Suse Linux. O comando which mc gera /usr/bin/mc , que é um arquivo executável ELF. A parte relevante da minha árvore de processos é assim depois que eu iniciei o Midnight Commander:

root     20974  \_ sshd: user [priv]
user     20982  |   \_ sshd: user@pts/5
user     20985  |       \_ -bash
user     32211  |           \_ /usr/bin/mc -P /tmp/mc-user/mc.pwd.20985
user     32213  |               \_ bash -rcfile .bashrc

Minha suspeita é que bash (acho que devido a alguma configuração que eu não conheço) lê /tmp/mc-user/mc.pwd.20985 após mc ter saído e então muda seu diretório atual para aquele diretório.

Onde está essa configuração? Como posso desativá-lo?

Atualização: inquérito inspirado @hlovdal

user@node01:/tmp> which mc
/usr/bin/mc
user@node01:/tmp> type mc
mc is a function
mc ()
{
    . /usr/share/mc/mc-wrapper.sh
}

O que significa que no meu sistema mc é uma função bash, então eu precisarei pesquisar o local dessa definição ou de alguma forma não a definir. Eu coloquei esta adição para ajudar os visitantes posteriores.

    
por Notinlist 28.11.2014 / 09:34

1 resposta

1

No meu sistema eu tenho

$ type mc
mc is aliased to '. /usr/libexec/mc/mc-wrapper.sh'
$ cat /usr/libexec/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
$

que parece corresponder ao seu comportamento, por isso, para desativar a alteração do diretório após a saída, desative apenas o mc alias.

    
por 28.11.2014 / 10:05