Je sais que je peux définir "Shells open with" dans les préférences du terminal, mais je suis curieux de savoir s'il existe un moyen de définir cela à l'échelle du système (similaire à la mise à jour de / etc / passwd dans certains Unix).
21
Notez que vous ne serez autorisé à passer à un shell répertorié dans
/etc/shells
. C'est normalement bien, mais cela signifie que si vous souhaitez installer Bash 4 (depuis Homebrew, MacPorts ou compiler le vôtre), vous devez ajouter une ligne à/etc/shells
. (J'ai rencontré cela il y a quelques semaines et j'ai pensé que cela pourrait aider les autres à savoir ...)Edit : Tim Smith souligne que vous pouvez contourner la
/etc/shells
limitation si vous exécutez enchsh
tant que root viasudo
. Par exemple,sudo chsh -s /usr/local/bin/my_shell $USER
cela fonctionnera, même s'ilmy_shell
n'est pas répertorié dans/etc/shells
. Je préfère éditer/etc/shells
, mais au final, c'est une utilisation dans lessudo
deux sens car vous ne pouvez pas éditer en/etc/shells
tant qu'utilisateur normal. Alors peut-être six d'un, une demi-douzaine de l'autre.la source
/etc/shells
si vous n'êtes pas obligé? Pour raison, je préfère garder les fichiers système identiques./etc/shells
est le fichier du système qui définit les shells reconnus. Je modifie ce fichier car je veux ajouter un shell à la liste des shells reconnus. Cela me semble assez raisonnable.chsh: bash: non-standard shell
chsh
seul si vous essayez d'utiliser un shell qui n'est pas répertorié dans/etc/shells
./etc/shells
ce qui me semble étrange.Pour ce faire à l'aide de l'interface graphique de Mac OS X:
Notez que cet emplacement est l'endroit où vous pouvez modifier votre répertoire personnel, UUID, ID utilisateur, ID de groupe et nom abrégé si vous n'êtes pas à l'aise avec le terminal. Il y a aussi une question similaire ici .
la source
En utilisant les réponses ci-dessus, j'obtenais un message d'erreur:
Pour contourner cela:
whoami
dans un sous-shell est de changer le shell de votre utilisateur, pas la racine.Encore une chose si vous utilisez un homebrew. Lorsque vous exécutez des commandes en tant que root (en utilisant
sudo
), zsh pointe vers / bin / zsh, qui est fourni avec OSX et peut être obsolète. Pour utiliser celui qui est installé via homebrew, utilisez ce qui suit:la source