user, hostname mostrado duas vezes no terminal após ssh

0

Depois de acessar o servidor remoto por meio do ssh, meu terminal konsole é mostrado assim. Usuário e nome do host são mostrados duas vezes.

user@vps:~[user@vps ~]$

qual pode ser o problema? atualmente estou no fedora 25

    
por BDN 08.09.2017 / 20:04

1 resposta

1

O problema é que os arquivos de inicialização padrão bash do sistema estão configurando o ambiente com (algo como)

PROMPT_COMMAND='"3]0;%s@%s:%s
unset PROMPT_COMMAND
7" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"'

Isso significa que, antes de cada prompt primário, esse comando será executado, o que devo concordar é muito lamentável, pois o prompt deve ser exibido por $PS1 e não $PROMPT_COMMAND .

Adicionando sua própria definição de $PS1 a isso causará um "prompt duplo".

A solução, para um único usuário, é desmarcar PROMPT_COMMAND em ~/.bashrc no servidor com

PROMPT_COMMAND='"3]0;%s@%s:%s
unset PROMPT_COMMAND
7" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"'

A solução para todo o sistema incluiria encontrar o arquivo de inicialização do shell que define essa variável e excluir ou comentar essa linha.

Os arquivos que podem ser interessantes para procurar são

  • /etc/profile
  • /etc/bash.bashrc

... e possivelmente outros arquivos em /etc originados por eles. Além disso, consulte a seção "INVOCATION" no manual bash em seu sistema para ver quais outros arquivos são usados para inicializar bash .

    
por 09.09.2017 / 09:55