Faça alguns comandos exit . Seu su root iniciou um subshell no qual você é root e seu su user iniciou outro. Digitar exit terminará esses subshells e o levará de volta ao ponto de partida - um nível de profundidade.
No meu servidor linux eu entrei como usuário root para acessar alguns arquivos: su root ... Depois de verificar os arquivos eu fui entrar como meu usuário principal su username . Na minha janela de terminal, ele agora diz server ~: em vez de username @ server ~: à esquerda da linha de comando. Existe alguma maneira de eu voltar ao normal?
Faça alguns comandos exit . Seu su root iniciou um subshell no qual você é root e seu su user iniciou outro. Digitar exit terminará esses subshells e o levará de volta ao ponto de partida - um nível de profundidade.
Você só precisa alterar o prompt. Você pode usar o seguinte comando:
export PS1="\u@\h \w: "
Eu pessoalmente prefiro o seguinte como meu prompt, mas isso é só comigo:
export PS1="[\u@\h \w]\$ "
Você pode impedir que seu prompt seja alterado adicionando a instrução aos arquivos bashrc relevantes. Veja também Bash Shell PS1: 10 Exemplos para fazer seu prompt do Linux como Angelina Jolie para mais informações sobre o PS1.
su alterna usuários gerando um novo (sub) shell. Então quando você logou, você iniciou um shell. Com o primeiro su para root, você iniciou um subshell como root. O próximo su para o seu usuário começou com outro subshell - note que neste momento você tem três shells em execução. Então, em vez de su -ing para o seu usuário do rootshell, exit -ing de volta ao seu shell de login resolverá seus problemas.
Se você tiver pstree instalado, pstree -h mostrará uma representação gráfica do que está acontecendo.
Seu prompt parece ser normalmente configurado por um de seus arquivos de inicialização do shell não sendo executado quando você su da raiz para o usuário. Se você estiver usando bash, man bash na seção INVOCATION pode ser esclarecedor. Existem vários arquivos de inicialização que o bash pode ler, incluindo, mas não se limitando a:
/etc/profile ~/.bash_profile ~/.bash_login ~/.profile ~/.bashrc A variável de ambiente PS1 é apenas uma variável de ambiente e pode ou não ser definida dependendo de qual combinação dos arquivos acima é executada.
O comando su tem uma opção -l (ou --login ) que pode ser abreviada para apenas - , o que torna o novo shell um shell de login. Isto é provavelmente o que você quer:
su - david
Eu sempre uso su com essa opção.
se este for um bash shell, tente:
source ~/.bashrc
se isso não funcionar, execute echo $PS1 e veja o que mudou.
su por si só não cria uma nova sessão do shell. é por isso que não configura o shell como normalmente faz. no entanto,
su -
iniciará uma nova sessão de login