Я пытаюсь открыть экран GNU с помощью следующей команды на моем Mac OS:
host:~ user$ screen
Экран терминала открывается, но быстро умирает с сообщением об ошибке:
Невозможно выполнить exec / bin / false: нет такого файла или каталога
Мой терминал настроен на открытие bash
оболочки при запуске. Я попытался установить оболочку терминала sh
, она выдает ту же ошибку.
Тем не менее, когда я выполняю screen
команду как sudo
, то команда завершается успешно.
Как мне решить это для обычного пользователя?
/bin/false
в своих rc-файлах (.bashrc
и.bash_profile
т. Д.) И проверьте свои.screenrc
.Ответы:
Загляните в свои сценарии инициализации оболочки
bash
или вscreen
файл конфигурации и посмотрите, не используется ли где-нибудьfalse
с явным путем/bin/false
.В macOS
false
утилита находится в/usr/bin
, а не в/bin
.В противном случае, посмотрите, не установлена ли ваша оболочка для входа по какой-то странной причине
/bin/false
, либо проверив,/etc/passwd
либо просмотрев «Дополнительные параметры» в разделе «Пользователь и группы» Системных настроек (вы получите их, щелкнув правой кнопкой мыши по своему пользователю). в списке учетных записей пользователей, и вы можете изменить здесь оболочку). Кто-то, не задумываясь, следовал учебнику / HOWTO, в котором пользователь/bin/false
по умолчанию использует оболочку.Когда вы работаете
screen
сsudo
вами, используйтеroot
файлы оболочки / инициализации экрана. Вот почему это работает.источник
Перейдите в настройки терминала, затем перейдите к общему, затем в «Shell open with» выберите Command и введите bash -l
источник