Você o compilou --enable-vfs-smb? Tente desativar o recurso. Parece ser um problema comum com a versão 4.8.4: mc arranque muito lento
Marco
2
Corra strace -r -tt -o mc.strace mcpara ver onde está demorando. Faça o upload do arquivo de rastreamento, se precisar de ajuda para interpretá-lo. Observe que o arquivo de rastreio pode conter informações particulares (pelo menos nomes de arquivos), dê uma olhada nele e desinfecte-o, se necessário, antes do upload.
Gilles 'SO- stop be evil'
1
tive o mesmo problema, hostname adicionado / etc / hosts (como 127.0.0.1, é claro), tudo se tornou perfeito
Respostas:
5
Trabalha para mim agora. estou usando
GNU Midnight Commander 4.8.21
strace espera em muito tempo
connect(3, {sa_family=AF_INET, sin_port=htons(6011),
sin_addr=inet_addr("x.x.x.x")}, 16) = ? ERESTARTSYS
(To be restarted if SA_RESTART is set)'
Eu tentei isso:
# hostname
use isso para /etc/hosts:
nameofhost=hostname
adicione isso $nameofhostao /etc/hostson-line começando com
Esta foi a única solução que funcionou para mim. Percebo que tenho acesso ao cmd-o, mas não consigo digitar nenhum comando.
Panayotis 27/01
não funciona para mim
stiv
10
A edição do / etc / hosts resolveu o problema para mim.
Meu mc levou 10 segundos para iniciar, devido ao fato de que durante a inicialização o mc tenta resolver o nome do host local para um endereço IP.
Eu adicionei ao / etc / hosts a seguinte linha (meu nome do host é FOO)
127.0.0.2 FOO.domain FOO
que resolveu o problema instantaneamente.
mc serviço interno? pode ser que possamos mudar alguma configuração para corrigir o mc para não exigir a alteração do / etc / hosts? ou o / etc / hosts está quebrado e o mc espera que seja corrigido?
Poder de Aquário
ah, acabei de descobrir que isso funciona aqui:alias mc='TERM=linux mc'
Aquarius Power
Realmente / etc / hosts está quebrado, de algum ponto de vista. Impossível resolver o próprio nome do host para possuir o ip. Não sei por que mc depende disso lá.
MMV-ru
1
Como assim host 'hostname'? Ele retorna a mesma host 'aaaa', host 'aaab'ea lista interminável de anfitriões não-existente. Você queria dizer que o MC está tentando resolver um host inexistente?
Dims 23/02
Desculpe, o apóstrofo deve estar lá no lugar de aspas simples. Resposta corrigida. De alguma forma, sim. O MC faz a conexão com o próprio servidor por Seu nome de host, para obter um host inexistente e fazer várias tentativas.
MMV-ru
4
Pode começar devagar porque inicia um subshell (mostrado quando você pressiona Ctrl-O) e exibe a interface do usuário somente quando o subshell foi iniciado. Eu uso o zsh e notei que quando removo meu ~/.zshrcarquivo, o mc inicia instantaneamente.
Olhando para essa saída, decidi começar mccom empty PROMPT_COMMAND( PROMPT_COMMAND= mc) e ela começou instantaneamente. Eu tinha lá supostamente comum:
history -a; history -c; history -r;
UPD Após mais escavações, verifica-se que não tem nada a ver com a história ( PROMPT_COMMAND=';' strace -r -tt -o mc.strace -s 1000 mc):
Minha conjuntura é que mcmexe de PROMPT_COMMANDmaneira errada. Ele muda PROMPT_COMMANDpara que, se contiver ;, desencadeie um erro de bash. Como tal, nada é gravado no descritor 8, que bloqueia o processo até o tempo limite. Corrija-me se eu estiver errado.
Eu sei que esta é uma resposta antiga e tudo. Mas talvez eu tenha sorte e você se importe em explicar por que conclui da saída do strace que algo estava errado PROMPT_COMMAND. Eu tive o mesmo problema e também o resolvi removendo history -ado meu, PROMPT_COMMANDmas não tenho idéia do porquê disso ajuda e não tenho ideia de onde está a conexão entre isso e select(8, [6,7], ...)(o que aparentemente causa a lentidão do MC com o tempo limite). Talvez você possa me ajudar a entender a solução.
degill 29/08/2015
@degill Por favor, veja minha resposta atualizada.
X-yuri
Obrigado pela atualização! Você está certo, apenas colocando ;no PROMPT_COMMANDtem o mesmo efeito do tempo limite. Eu sei adicionado history -anovamente ao meu PROMPT_COMMAND(dentro ~/.local/share/mc/bashrc) e tudo funciona bem. Ainda interessante o que está acontecendo com o;
Eu tive esse problema por muito tempo e acabei não usando mais o Midnight Commander ...
Mas recentemente encontrei a solução !!! No meu caso, isso estava relacionado apenas à minha concha alternativa: estou usando peixe. http://fishshell.com/
Os dois juntos não funcionam muito bem. Acabei de alterar meu script para garantir que o mc use o bash e não o fish.
Este foi o problema para mim também. DISPLAYA variável de ambiente foi definida como localhost:10.0, mas não havia um servidor X atendendo naquele servidor sem exibição.
fviktor 7/12
-1
Tente excluir a linha "pesquisar qualquer coisa." /etc/resolv.conf
Isso faz algum sentido apenas se a máquina nunca estiver conectada à rede. Esse arquivo é preenchido pelo DHCP (ou quando a conexão com a Internet está configurada).
--enable-vfs-smb
? Tente desativar o recurso. Parece ser um problema comum com a versão 4.8.4: mc arranque muito lentostrace -r -tt -o mc.strace mc
para ver onde está demorando. Faça o upload do arquivo de rastreamento, se precisar de ajuda para interpretá-lo. Observe que o arquivo de rastreio pode conter informações particulares (pelo menos nomes de arquivos), dê uma olhada nele e desinfecte-o, se necessário, antes do upload.Respostas:
Trabalha para mim agora. estou usando
strace espera em muito tempo
Eu tentei isso:
use isso para
/etc/hosts
:adicione isso
$nameofhost
ao/etc/hosts
on-line começando comFelicidades!
fonte
a integração mc / subshell é um culpado frequente; para verificar, tente:
fonte
A edição do / etc / hosts resolveu o problema para mim.
Meu mc levou 10 segundos para iniciar, devido ao fato de que durante a inicialização o mc tenta resolver o nome do host local para um endereço IP.
Eu adicionei ao / etc / hosts a seguinte linha (meu nome do host é FOO)
127.0.0.2 FOO.domain FOO
que resolveu o problema instantaneamente.fonte
127.0.0.2
mas não127.0.0.1
?Verifica
obter resultado rápido
O MC usa o nome do host primeiro para se conectar ao serviço interno
Em situação semelhante no Fedora 18, adiciono o valor do nome do host ao / etc / hosts e isso ajuda.
fonte
alias mc='TERM=linux mc'
host 'hostname'
? Ele retorna a mesmahost 'aaaa'
,host 'aaab'
ea lista interminável de anfitriões não-existente. Você queria dizer que o MC está tentando resolver um host inexistente?Pode começar devagar porque inicia um subshell (mostrado quando você pressiona Ctrl-O) e exibe a interface do usuário somente quando o subshell foi iniciado. Eu uso o zsh e notei que quando removo meu
~/.zshrc
arquivo, o mc inicia instantaneamente.fonte
Demorou cerca de 10 segundos para começar
mc
. Correndostrace -r -tt -o mc.strace mc
eu tenho:Olhando para essa saída, decidi começar
mc
com emptyPROMPT_COMMAND
(PROMPT_COMMAND= mc
) e ela começou instantaneamente. Eu tinha lá supostamente comum:UPD Após mais escavações, verifica-se que não tem nada a ver com a história (
PROMPT_COMMAND=';' strace -r -tt -o mc.strace -s 1000 mc
):Minha conjuntura é que
mc
mexe dePROMPT_COMMAND
maneira errada. Ele mudaPROMPT_COMMAND
para que, se contiver;
, desencadeie um erro de bash. Como tal, nada é gravado no descritor8
, que bloqueia o processo até o tempo limite. Corrija-me se eu estiver errado.fonte
PROMPT_COMMAND
. Eu tive o mesmo problema e também o resolvi removendohistory -a
do meu,PROMPT_COMMAND
mas não tenho idéia do porquê disso ajuda e não tenho ideia de onde está a conexão entre isso eselect(8, [6,7], ...)
(o que aparentemente causa a lentidão do MC com o tempo limite). Talvez você possa me ajudar a entender a solução.;
noPROMPT_COMMAND
tem o mesmo efeito do tempo limite. Eu sei adicionadohistory -a
novamente ao meuPROMPT_COMMAND
(dentro~/.local/share/mc/bashrc
) e tudo funciona bem. Ainda interessante o que está acontecendo com o;
Eu tive esse problema por muito tempo e acabei não usando mais o Midnight Commander ...
Mas recentemente encontrei a solução !!! No meu caso, isso estava relacionado apenas à minha concha alternativa: estou usando peixe. http://fishshell.com/
Os dois juntos não funcionam muito bem. Acabei de alterar meu script para garantir que o mc use o bash e não o fish.
fonte
Apenas resolvi o mesmo problema no FreeBSD. Eu acho que é mais correto editar
/etc/hosts
da seguinte maneira:porque a
hosts
sintaxe de entrada de arquivo é (consulte hosts (5) - página de manual do Linux ):Então, se você apenas adicionar no seu
hosts
arquivo algo comoentão você receberá
Mas se você editar seu
hosts
arquivo como no primeiro exemplo, obterá a resposta correta do ping:O MC começa rápido nos dois sentidos.
fonte
trabalhou para mim (xterm desativado)
fonte
DISPLAY
A variável de ambiente foi definida comolocalhost:10.0
, mas não havia um servidor X atendendo naquele servidor sem exibição.Tente excluir a linha "pesquisar qualquer coisa."
/etc/resolv.conf
/etc/hosts
deve ter as linhas:"hostname" é o seu nome de host e "domain" é o seu domínio.
fonte