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?

Foi útil?

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.

  1. 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.'

  2. 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 enter descrição da imagem aqui

2. adicionar / usr / local / bin / peixe à sua lista de conchas enter descrição da imagem aqui

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:

  1. Adicionar Peixe para /etc/shells, o que exigirá uma senha administrativa:

    sudo echo /usr/local/bin/fish >> /etc/shells
    
  2. Faça Peixe seu shell padrão com chsh:

    chsh -s /usr/local/bin/fish
    

De Preferências do Sistema:

  1. Usuário e Grupos ? ctrl-clique sobre o usuário atual ? Opções avançadas ...

  2. Alterar login shell para /usr/local/bin/fish

    shell de login

  3. 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.

  1. Primeiro eu tive que adicionar peixes para o arquivo /etc/shells

  2. Então eu corri chsh -s /usr/local/bin/fish

  3. 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)
  1. Abra o comando de terminal e pressione + , (vírgula). Isto irá abrir uma janela de preferências.
  2. A primeira guia é 'Geral'.
  3. Encontre 'Shells abrir com' configuração e escolher opção 2, que precisa caminho completo para o shell.
  4. 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):

  1. Definir usuário atual como proprietário de conchas
sudo chown $(whoami) /etc/shells
  1. Adicionar Peixe para / etc / shells
sudo echo /usr/local/bin/fish >> /etc/shells
  1. Faça Peixe seu shell padrão com chsh
chsh -s /usr/local/bin/fish
  1. Redefinir raiz como proprietário de conchas
sudo chown root /etc/shells
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top