Impossible d'exécuter / bin / false: aucun fichier ou répertoire de ce type

10

J'essaie d'ouvrir l' écran GNU avec la commande suivante sur mon Mac OS:

host:~ user$ screen

Le terminal d'écran s'ouvre mais s'éteint rapidement avec le message d'erreur:

Impossible d'exécuter / bin / false: aucun fichier ou répertoire de ce type

Mon terminal est configuré pour ouvrir le bashshell au démarrage. J'ai essayé de régler le shell du terminal sur sh, cela donne la même erreur.

Cependant, lorsque j'exécute la screencommande as sudo, la commande réussit.

Comment le résoudre pour l'utilisateur normal?

sultan.of.swing
la source
2
Recherchez /bin/falsedans vos fichiers rc ( .bashrc, .bash_profileetc.) Vérifiez également votre .screenrc.
choroba

Réponses:

9

Jetez un œil dans vos scripts d'initialisation du shell bashou dans le screenfichier de configuration et voyez s'il y a un endroit où falsele chemin explicite est utilisé /bin/false.

Sous macOS, l' falseutilitaire se trouve dans /usr/bin, pas dans /bin.

À défaut, vérifiez si votre shell de connexion est défini pour une raison étrange /bin/false, soit en inspectant /etc/passwdou en consultant les "Options avancées" dans la section "Utilisateurs et groupes" des Préférences Système (vous les obtenez en cliquant avec le bouton droit sur votre utilisateur dans la liste des comptes utilisateurs, et vous pouvez également changer le shell ici). Quelqu'un a peut-être inconsciemment suivi un tutoriel / HOWTO qui définit un utilisateur avec /bin/falsecomme shell par défaut.

Lorsque vous exécutez screenavec sudovous utilisez rootles fichiers d'initialisation shell / écran de. Voilà pourquoi cela fonctionne.

Kusalananda
la source
2
Désolé, en appuyant sur Entrée, vous avez accidentellement publié le commentaire incomplet. J'ai vérifié les fichiers suivants: / etc / passwd et ~ / .screenrc. Cependant, il semble que mon shell ait été configuré avec / bin / false comme shell par défaut. Quand j'ai fait un "echo $ SHELL" cela a donné "/ bin / false". Faire un "export SHELL = / bin / bash" a résolu le problème. :)
sultan.of.swing
1
@ sultan.of.swing Bon! Vous devez changer votre shell par défaut dans les Préférences Système. De plus, si cela résout votre problème, veuillez envisager d' accepter la réponse
Kusalananda
5

Allez dans les préférences sur Terminal, puis allez dans Général, puis sous 'Shell ouvert avec', sélectionnez Commande et tapez bash -l

Ravi
la source
3
Veuillez expliquer ce que cela fait et comment cela résout le problème.
guntbert
est-ce "bash - <Capital Eye>" ou "bash- <Uncial Ell>"?
Reb.Cabin
meilleure réponse est
Reb.Cabin