Nie można wykonać / bin / false: brak takiego pliku lub katalogu

10

Próbuję otworzyć ekran GNU za pomocą następującego polecenia w moim systemie Mac OS:

host:~ user$ screen

Terminal ekranowy otwiera się, ale szybko umiera z komunikatem o błędzie:

Nie można wykonać / bin / false: brak takiego pliku lub katalogu

Mój terminal jest skonfigurowany do otwierania bashpowłoki podczas uruchamiania. Próbowałem ustawić powłokę terminala na sh, daje to ten sam błąd.

Jednak gdy wykonam screenpolecenie as sudo, polecenie się powiedzie.

Jak rozwiązać ten problem dla zwykłego użytkownika?

sultan.of.swing
źródło
2
Szukaj /bin/falsew swoim RC plików ( .bashrc, .bash_profileetc.) Należy również sprawdzić swojej .screenrc.
choroba

Odpowiedzi:

9

Przejrzyj skrypty inicjujące powłokę bashlub screenplik konfiguracyjny i sprawdź, czy gdzieś falsejest używana z jawną ścieżką /bin/false.

W systemie macOS falsenarzędzie znajduje się w /usr/bin, a nie w /bin.

W przeciwnym razie sprawdź, czy powłoka logowania z jakiegoś dziwnego powodu jest ustawiona na /bin/false, sprawdzając /etc/passwdlub patrząc na „Opcje zaawansowane” w sekcji „Użytkownik i grupy” w Preferencjach systemowych (otrzymujesz je klikając prawym przyciskiem myszy na użytkownika na liście kont użytkowników, możesz również zmienić powłokę tutaj). Ktoś mógł bezmyślnie zastosować się do samouczka / HOWTO, który konfiguruje użytkownika /bin/falsejako domyślną powłokę.

Po uruchomieniu screenz sudoużyć root„s pliki startowe powłoki / ekran. Właśnie dlatego to działa.

Kusalananda
źródło
2
Przepraszamy, naciśnięcie Enter przypadkowo opublikowało niekompletny komentarz. Sprawdziłem następujące pliki: / etc / passwd i ~ / .screenrc. Wydaje się jednak, że moja powłoka została skonfigurowana z domyślną powłoką / bin / false. Kiedy zrobiłem „echo $ SHELL”, dało to „/ bin / false”. Wykonanie „eksportu SHELL = / bin / bash” naprawiło problem. :)
sultan.of.swing
1
@ sultan.of.swing Dobrze! Powinieneś zmienić domyślną powłokę w Preferencjach systemowych. Ponadto, jeśli to rozwiąże problem, rozważ zaakceptowanie odpowiedzi
Kusalananda
5

Przejdź do preferencji w terminalu, a następnie przejdź do ogólnych, a następnie w obszarze „Otwórz za pomocą” wybierz polecenie i wpisz bash -l

Ravi
źródło
3
Wyjaśnij, co to robi i jak rozwiązuje problem.
guntbert
czy to „bash - <Capital Eye>” czy „bash- <Uncial Ell>”?
Reb.Cabin
najlepsza odpowiedź to
Reb.Cabin