Неможливо виконати / bin / false: такого файлу чи каталогу немає


10

Я намагаюся відкрити екран GNU із наступною командою на моїй Mac OS:

host:~ user$ screen

Екранний термінал відкривається, але швидко вмирає з повідомленням про помилку:

Неможливо виконати / bin / false: такого файлу чи каталогу немає

Мій термінал налаштований для відкриття bashоболонки при запуску. Я спробував встановити термінальну оболонку sh, вона дає ту саму помилку.

Однак, коли я виконую screenкоманду як sudo, тоді команда успішна.

Як вирішити це для звичайного користувача?


2
Шукати /bin/falseв ваших RC-файлах ( .bashrc, і .bash_profileт.д.) Крім того, перевірити ваш .screenrc.
choroba

Відповіді:


9

Подивіться у ваші сценарії ініціалізації оболонки для bashчи screenконфігураційного файлу, і перевірте, чи використовується десь falseіз явним шляхом /bin/false.

У macOS falseутиліта знаходиться в /usr/bin, а не в /bin.

Якщо цього не зробити, перевірте, чи встановлено оболонку для входу з якоїсь дивної причини /bin/false, перевіривши /etc/passwdабо переглянувши "Додаткові параметри" в розділі "Користувачі та групи" в системних налаштуваннях (ви отримуєте ці, клацнувши правою кнопкою миші на своєму користувачеві у списку облікових записів користувачів, і ви можете також змінити оболонку тут). Хтось, можливо, бездумно слідкував за підручником / HOWTO, який налаштовує користувача у /bin/falseякості оболонки за замовчуванням.

При запуску screenз sudoви використовуєте root«s файли ініціалізації оболонки / екрану. Ось чому це працює.


2
На жаль, натиснувши Enter, випадково опублікував неповний коментар. Я перевірив такі файли: / etc / passwd та ~ / .screenrc. Однак, схоже, моя оболонка була встановлена ​​з / bin / false як оболонка за замовчуванням. Коли я зробив "echo $ SHELL", це дало "/ bin / false". Виконання "експорту SHELL = / bin / bash" вирішило проблему. :)
sultan.of.swing

1
@ sultan.of.swing Добре! Ви повинні змінити стандартну оболонку в Налаштуваннях системи. Крім того, якщо це вирішить ваше питання, будь ласка, подумайте про прийняття відповіді
Kusalananda

5

Перейдіть до налаштувань на Terminal, а потім перейдіть до загального, потім у розділі "Shell open with" виберіть команду та введіть bash -l


3
Поясніть, будь ласка, що це робить і як вона вирішує проблему.
guntbert

це "bash - <Capital Eye>" або "bash- <Uncial Ell>"?
Reb.Cabin

найкраща відповідь на це
Reb.Cabin
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.