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 bash
powłoki podczas uruchamiania. Próbowałem ustawić powłokę terminala na sh
, daje to ten sam błąd.
Jednak gdy wykonam screen
polecenie as sudo
, polecenie się powiedzie.
Jak rozwiązać ten problem dla zwykłego użytkownika?
/bin/false
w swoim RC plików (.bashrc
,.bash_profile
etc.) Należy również sprawdzić swojej.screenrc
.Odpowiedzi:
Przejrzyj skrypty inicjujące powłokę
bash
lubscreen
plik konfiguracyjny i sprawdź, czy gdzieśfalse
jest używana z jawną ścieżką/bin/false
.W systemie macOS
false
narzę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/passwd
lub 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/false
jako domyślną powłokę.Po uruchomieniu
screen
zsudo
użyćroot
„s pliki startowe powłoki / ekran. Właśnie dlatego to działa.źródło
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
źródło