El Capitan Mac: /usr/bin/login пытается запустить /bin/false

Только что обновился с Yosemite до El Capitan, и я начал с проблемы с Emacs: он не запускался со значка Emacs.app, жалуясь, что не может найти /bin/false. Я отследил это до того, что Emacs.app пытался запустить /usr/bin/login, значение по умолчанию для приложения «Терминал». Я могу переключить «Терминал» на запуск /bin/bash, но это не решает проблему Emacs.app или аналогичные проблемы для любых других приложений, которые пытаются запустить /usr/bin/login.

Похоже, мне нужно исправить /usr/bin/login для запуска /usr/bin/false, а не /bin/false, но я понятия не имею, как это сделать.

Я пытался обмануть программы в обратном направлении,

sudo ln -s /usr/bin/false /bin/false 

и я получаю "Операция не разрешена". Я пытался

sudo cp /usr/bin/false /bin/false

и получаю "Операция запрещена".

Я застрял в поисках «правильного ответа» или других обходных путей.

Нормально ли работает терминал /udr/bin/login, и если да, то работает ли он? И что echo $SHELLдает?
В Системных настройках-> Пользователи и группы. Нажмите на свое имя пользователя и отобразите дополнительные параметры, сначала вам нужно будет нажать на замок. В чем ценность Login Shell?
@Mark показывает /bin/bash как оболочку входа по умолчанию (я заблокировал компьютер, изменив его на /usr/bin/false, только что закончил восстановление ОС. Совершенно новая свежая установка Emacs из Университета Лаваля по-прежнему имеет то же самое проблема - попытка запустить /bin/false)
@Mark Я только что закончил полностью новую переустановку ОС на отформатированном жестком диске. echo $SHELLпоказывает /bin/bash. Пользователь по умолчанию в Системных настройках > Пользователи и группы — /bin/bash. Я не знаю, нормально ли работает терминал /usr/bin/login, но если я запускаю /usr/bin/login вручную в терминале, он работает. Emacs ВСЕ ЕЩЕ жалуется (после полной загрузки и переустановки), что не может найти /bin/false. Этого не происходит на совершенно отдельном Mac El Capitan, которым я владею (все отлично работает на Mac # 2, идентичном близнеце проблемного Mac).
Какой эмакс? и что находится в ~/.emacs и других файлах запуска
emacs 24.5.1 от Laval vgoulet.act.ulaval.ca/en/emacs . Такое же поведение без .emacs.d или с spacemacs.org . При запуске нажатием Emacs.app emacs говорит, что не может найти /bin/false в минибуфере. При запуске путем ввода полного пути /Applications/Emacs.app/Contents/MacOS/Emacs все в порядке. У меня нет такого поведения на Mac с «идентичным близнецом».
Это поведение необъяснимым образом исчезло примерно после десятой перезагрузки, подключенной к моей корпоративной сети. У меня нет объяснения, но на данный момент я отказываюсь от поиска, чтобы объяснить: внутри слишком много движущихся частей слишком много черных ящиков, чтобы это стоило потраченного времени. Я ценю вашу помощь!

Ответы (2)

У меня была та же проблема: emacs выдавал мне «Ошибка (использование пакета): exec-path-from-shell: init: Поиск программы: нет такого файла или каталога, /bin/false» при запуске. Однако я заметил, что это происходит только при запуске Emacs (установленного из emacsformacosx) из Dock или Spotlight. Если я запустил его из своего терминала или щелкнув его в приложениях в Finder, он работал нормально.

После перезагрузки проблема решилась. Я подозреваю, что Dock и Spotlight сохранили мою первоначальную оболочку по умолчанию и после перезапуска использовали новое значение (измененное с /bin/false на /bin/zsh).

это не исправило это для меня

Ваша оболочка emacs неправильно направляется в /bin/false, который является просто двоичным файлом, который немедленно завершает работу, возвращая false при вызове. Чтобы перезаписать это, скопируйте и вставьте следующий код в свой файл ~/.emacs/init.el:

(setq explicit-shell-file-name "/bin/sh")
это не исправило это для меня.