Como configurar meu shell padrão no Mac?
Pergunta
Eu não gosto de peixe Redigite cada vez que eu começar terminal. Quero fish
por padrão. Como posso definir shell peixes como meu shell default em um Mac?
Solução
Estes são aplicáveis ??a MacOS Sierra 10.12.5 (16F73) e provavelmente algumas outras versões recentes e futuros de MacOS.
-
chsh
não é suficiente para mudar o shell padrão. Certifique-se de pressionar Comando + , , enquanto o terminal está aberto e alterar as 'Shells abrir com' opção 'shell de login padrão.' -
Em caso de bash, certifique-se de executar
echo $BASH_VERSION
para confirmar que você está executando a versão pretendida do bash.bash --version
não lhe dá informações corretas.
Outras dicas
1. sudo nano / etc / shells
2. adicionar / usr / local / bin / peixe à sua lista de conchas
3. chsh -s / usr / local / bin / peixe
Você pode usar chsh para mudar shell do usuário.
Executar o seguinte código, por exemplo, para alterar o seu shell para Zsh
chsh -s /bin/zsh
Como descrito na página de manual, e por Lorin, se o shell não é conhecido pelo sistema operacional, você tem que adicioná-lo à sua lista conhecido:. /etc/shells
De Terminal:
-
Adicionar Peixe para
/etc/shells
, o que exigirá uma senha administrativa:sudo echo /usr/local/bin/fish >> /etc/shells
-
Faça Peixe seu shell padrão com
chsh
:chsh -s /usr/local/bin/fish
De Preferências do Sistema:
-
Usuário e Grupos ? ctrl-clique sobre o usuário atual ? Opções avançadas ...
-
Alterar login shell para
/usr/local/bin/fish
-
Pressione OK, sair e novamente
Aqui está outra maneira de fazê-lo:
Assumindo que você instalou-lo com MacPorts, o que pode ser feito com:
sudo port install fish
Seu shell será localizado na /opt/local/bin/fish
.
Você precisa dizer a OSX que este é um shell válido. Para fazer isso, adicione este caminho para o final do arquivo /etc/shells
.
Uma vez feito isso, você pode mudar o shell, indo para Preferências do Sistema -> Contas. Clique no cadeado para permitir alterações. Clique com o botão direito do mouse sobre a conta e escolha "Opções Avançadas ...". No campo "Login shell", adicionar o caminho para peixes.
A única coisa que funcionou para mim foi uma combinação de todos estes métodos.
-
Primeiro eu tive que adicionar peixes para o arquivo
/etc/shells
-
Então eu corri
chsh -s /usr/local/bin/fish
-
Finalmente, eu digitei Comando + , e
/usr/local/bin/fish
adicionado ao caminho padrão há
Só depois que eu tinha feito todas as três coisas fez peixe começar a aparecer como o padrão para novas janelas de terminal.
Em MacOS Mojave eu tinha que fazer o seguinte (usando zsh como um exemplo):
brew install zsh
sudo sh -c "echo $(which zsh) >> /etc/shells"
chsh -s $(which zsh)
- Abra o comando de terminal e pressione + , (vírgula). Isto irá abrir uma janela de preferências.
- A primeira guia é 'Geral'.
- Encontre 'Shells abrir com' configuração e escolher opção 2, que precisa caminho completo para o shell.
- Cole o link para o seu comando de peixe, que geralmente é
/usr/local/bin/fish
.
Eu estou usando MacOS Sierra.
o programa chsh
permite que você mude seu shell padrão. Ele vai querer o caminho completo para o executável, por isso, se o seu shell é fish
então ele vai querer que você fornecer a saída dada quando você digita which fish
.
Você verá uma linha começando com "Shell:
". Se você nunca editou, ele provavelmente diz "Shell: /bin/bash
". Substituir esse caminho /bin/bash
com o caminho para o shell desejada.
Quando no terminal, abra as preferências do terminal usando Comando + , .
Na guia configuração, selecione um dos temas, e escolha a guia shell à direita.
Você pode definir o fish
comando de início automático.
heimdall:~ leeg$ dscl
Entering interactive mode... (type "help" for commands)
> cd /Local/Default/Users/
/Local/Default/Users > read <<YOUR_USER>>
[...]
UserShell: /bin/bash
/Local/Default/Users >
apenas alterar esse valor (com o comando de escrita em dscl
).
Como obter a versão mais recente do bash em MacOS modernos (testado em Mojave).
brew install bash
which bash | sudo tee -a /etc/shells
chsh -s $(which bash)
Em seguida, você está pronto para get vim guia Estilo conclusão que só está disponível em festa> = 4 (versão atual em brew
é 5.0.2
# If there are multiple matches for completion, Tab should cycle through them
bind 'TAB':menu-complete
# Display a list of the matching files
bind "set show-all-if-ambiguous on"
# Perform partial completion on the first Tab press,
# only start cycling full results on the second Tab press
bind "set menu-complete-display-prefix on"
No caso de você está tendo problemas com as outras maneiras, trabalhou no mac Mojave, mas deve geralmente trabalho.
which fish
adicionar o caminho de saída para "Preferências do Sistema> Usuários e Grupos> usuário clique direito, opções avançadas" Cole o resultado de que em "Login shell:"
Este trabalho para mim na nova instalação do Mac OSX (Serra):
- Definir usuário atual como proprietário de conchas
sudo chown $(whoami) /etc/shells
- Adicionar Peixe para / etc / shells
sudo echo /usr/local/bin/fish >> /etc/shells
- Faça Peixe seu shell padrão com chsh
chsh -s /usr/local/bin/fish
- Redefinir raiz como proprietário de conchas
sudo chown root /etc/shells