Como eu faço Bash meu shell padrão no Ubuntu?

80

Eu tenho um .bash_profile no meu diretório inicial, mas ele não está sendo executado no login. Se eu fizer o seguinte, as coisas parecem ser como eu esperava:

ssh myhost
bash
source ~/.bash_profile

Mas normalmente isso acontece no login. Pensamentos?

    
por James A. Rosen 25.09.2009 / 14:03

6 respostas

142

Uso:

chsh

Digite sua senha e informe o caminho para o shell que você deseja usar.

Para o Bash, isso seria /bin/bash . Para Zsh, isso seria /usr/bin/zsh .

    
por 25.09.2009 / 14:08
34
Além da resposta da akira, você também pode editar o seu arquivo / etc / passwd para especificar seu shell padrão. / p>

Você encontrará uma linha como este exemplo:

john:x:1000:1000:john,,,:/home/john:/bin/sh

O shell é especificado no final.

    
por 25.09.2009 / 14:09
2

Você pode verificar seu programa de terminal. Pode ser configurado para executar / bin / sh em vez de / bin / bash

O Bash executa o .bash_profile apenas para sessões de login. O .bashrc é executado para todas as sessões bash, não apenas para sessões de login. Tente pesquisar o .bash_profile a partir do .bashrc (evite dependências circulares!) Ou configure seu programa terminal para executar o / bin / bash -l como um programa shell.

    
por 25.09.2009 / 14:14
2

Uma alternativa é renomear seu script de inicialização para .profile. Este arquivo está sendo usado pela maioria dos shells Unix .

    
por 01.06.2010 / 13:40
0

Ativar o bash:

$ /bin/bash

Alterar shell do usuário:

$ sudo usermod -s /bin/bash username

onde:

  -s, --shell SHELL             new login shell for the user account
    
por 25.01.2018 / 19:44
0

Não há informações suficientes em sua pergunta para dizer com certeza, mas já tive o mesmo problema. Supondo que você já tenha definido / bin / bash na sua entrada de senha, pode ser que o seu terminal seja iniciado.

Se você estiver tentando iniciar um terminal GUI, diga gnome-terminal , você pode estar esperando que o shell leia seus arquivos de inicialização do bash. No entanto, isso não acontece no Ubuntu e talvez outros sistemas por padrão.

A forma como o consertei no Ubuntu é editar as preferências do gnome-terminal e definir o comando de inicialização como bash -l . -l é a abreviação de --login . Isso diz ao bash para iniciar como shell de login, o que faz com que ele carregue os scripts de inicialização como você obtém ao efetuar login via ssh.

Tenho certeza de que há uma boa lógica para que seja assim, mas achei surpreendente e mais do que irritante compartilhar os mesmos perfis nos sistemas Linux, cyggin e macos.

    
por 15.09.2018 / 21:37

Tags