Question

Je n'aime pas retaper du poisson à chaque démarrage du terminal. Je veux que fish soit activé par défaut. Comment définir une coquille de poisson comme coquille par défaut sur un Mac?

Était-ce utile?

La solution

Celles-ci s'appliquent à MacOS Sierra 10.12.5 (16F73) et probablement à d'autres versions récentes et à venir de MacOS.

  1. chsh ne suffit pas pour changer le shell par défaut. Assurez-vous que vous appuyez sur Commande + , pendant que votre terminal est ouvert et modifiez l'option 'Shell ouverts avec' par 'Shell de connexion par défaut.'

  2. En cas de bash, assurez-vous d’exécuter echo $ BASH_VERSION pour confirmer que vous exécutez la version prévue de bash. bash --version ne vous donne pas les informations correctes.

Autres conseils

1. sudo nano / etc / shells entrer la description de l'image ici

2. ajoutez / usr / local / bin / fish à votre liste d'obus entrer la description de l'image ici

3. chsh -s / usr / local / bin / fish

Vous pouvez utiliser chsh pour changer le shell d'un utilisateur.

Exécutez le code suivant, par exemple, pour changer votre shell en Zsh

chsh -s /bin/zsh

Comme décrit dans la page de manuel, et par Lorin, si le shell n’est pas connu du système d’exploitation, vous devez l’ajouter à sa liste connue: / etc / shells .

Depuis le terminal:

  1. Ajoutez un poisson à / etc / shells , ce qui nécessitera un mot de passe administratif:

    sudo echo /usr/local/bin/fish >> /etc/shells
    
  2. Faites de Fish votre coque par défaut avec chsh :

    chsh -s /usr/local/bin/fish
    

Dans les préférences système:

  1. Utilisateurs et groupes & # 8594; Ctrl-clic sur l'utilisateur actuel & # 8594; Options avancées ...

  2. Remplacez le shell de connexion par / usr / local / bin / fish

    login shell

  3. Appuyez sur OK, déconnectez-vous et reconnectez-vous

Voici une autre façon de procéder:

En supposant que vous l’ayez installé avec MacPorts, vous pouvez le faire en effectuant:

sudo port install fish

Votre shell sera situé dans / opt / local / bin / fish .

Vous devez indiquer à OSX qu'il s'agit d'un shell valide. Pour ce faire, ajoutez ce chemin à la fin du fichier / etc / shells .

Une fois que vous avez terminé, vous pouvez modifier le shell en allant dans Préférences Système - > Comptes. Cliquez sur le verrou pour autoriser les modifications. Cliquez avec le bouton droit sur le compte, puis choisissez "Options avancées ...". Dans le " Login shell " champ, ajoutez le chemin d'accès au poisson.

La seule chose qui a fonctionné pour moi a été une combinaison de toutes ces méthodes.

  1. J'ai d'abord dû ajouter du poisson au fichier / etc / shells

  2. Ensuite, j'ai exécuté chsh -s / usr / local / bin / fish

  3. Enfin, j'ai tapé Commande + , et ajouté / usr / local / bin / fish au chemin par défaut <. / p>

Ce n'est qu'après avoir effectué ces trois opérations que les poissons ont commencé à apparaître comme paramètres par défaut pour les nouvelles fenêtres du terminal.

Sur macOS Mojave, je devais faire ce qui suit (en utilisant zsh comme exemple):

brew install zsh
sudo sh -c "echo $(which zsh) >> /etc/shells"
chsh -s $(which zsh)
  1. Ouvrez votre terminal et appuyez sur commande + , (virgule). Cela ouvrira une fenêtre de préférences.
  2. Le premier onglet est "Général".
  3. Recherchez le paramètre "Shell ouvert avec" et choisissez la 2e option, qui nécessite un chemin complet vers le shell.
  4. Collez le lien vers votre commande fish, généralement / usr / local / bin / fish .

J'utilise macOS Sierra.

le programme chsh vous permettra de changer votre shell par défaut. Il voudra le chemin complet de l'exécutable, donc si votre shell est fish , il vous demandera de fournir le résultat indiqué lorsque vous tapez quel poisson .

Une ligne commençant par " Shell: " apparaît. Si vous ne l'avez jamais modifié, le message " Shell: / bin / bash " est probablement utilisé. Remplacez ce chemin / bin / bash par le chemin du shell souhaité.

Une fois dans le terminal, ouvrez les préférences du terminal à l'aide de commande + , .

Dans l'onglet Paramètres, sélectionnez l'un des thèmes et choisissez l'onglet shell à droite.

Vous pouvez définir la commande de démarrage automatique poisson .

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 >

changez simplement cette valeur (avec la commande write dans dscl ).

Comment obtenir la dernière version de bash sur macOS moderne (testé sur Mojave).

brew install bash
which bash | sudo tee -a /etc/shells
chsh -s $(which bash)

Vous êtes alors prêt à obtenir la complétion des onglets de style vim qui est uniquement disponible sur bash > = 4 (version actuelle de infusion vaut 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"

Si vous rencontrez des problèmes avec les autres méthodes, travaillez sur mac Mojave, mais cela devrait fonctionner normalement.

which fish

ajoutez le chemin de sortie à " Préférences système > Utilisateurs & amp; Groupes > clic droit sur l'utilisateur, Options avancées " Collez le résultat à partir de lequel dans "shell de connexion:"

Ceci fonctionne pour moi sur la nouvelle installation de mac osx (sierra):

  1. Définir l'utilisateur actuel en tant que propriétaire des shells
sudo chown $(whoami) /etc/shells
  1. Ajouter du poisson à / etc / shells
sudo echo /usr/local/bin/fish >> /etc/shells
  1. Faites de Fish votre coque par défaut avec chsh
chsh -s /usr/local/bin/fish
  1. Redéfinissez la racine en tant que propriétaire de coques
sudo chown root /etc/shells
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top