|
[+] Nie działający .bashrc
Drax - 28-07-2008 18:26
Mam taki nietypowy problem: po uruchomieniu systemu i zalogowaniu się do konsoli jako zwykły użytkownik bash nie odczytuje w ogóle plików .bashrc (zarówno prywatnego, jak i tego publicznego z /etc). Potwierdziłem to podejrzenie, umieszczając w obu plikach polecenia echo - tekst nie wyświetla się.
Problem dotyczy tylko jednego użytkownika (utworzonego przy instalacji systemu) - zarówno root, jak i nowo tworzeni użytkownicy działają poprawnie.
A teraz najciekawsze: po wpisaniu w konsoli polecenia bash pliki .bashrc są przetwarzane: teksty echa są wyświetlane, konsola się koloruje, aliasy zaczynają działać etc. Podobnie dzieje się po uruchomieniu terminala w trybie graficznym i wszelkich innych wypadków uruchamiania basha. Problem dotyczy tylko pierwszego logowania.
Co może być przyczyną?
akaryuu - 28-07-2008 19:07
Moze inna powloka domyslna? Sprobuj wpisac w konsoli help
opcjonalnie zajrzyj do cat /etc/passwd
Drax - 28-07-2008 19:52
Bash ponad wszelką wątpliwość jest powłoką domyślną. Nawet po wpisaniu nieprawidłowego polecenia pojawia się: "bash: ... command not found"... Obydwa podane przez Ciebie źródła to potwierdzają.
akaryuu - 28-07-2008 20:44
Tak, właśnie mi się przypomniało, że kiedyś miałem ten sam problem. Przepraszam za pytanie, ale nigdy nie wiesz z kim masz do czynienia :]
Przyczyną jest to, że gdy logujesz się z na konsoli bash jest uruchamiany jako login shell i zamiast czytać ~/.bashrc tak jak to robi jeśli się go wywoła jako subpowłokę to czyta ~/.bash_profile, lub /etc/bash_profile
Najlepszym sposobem jest dodanie do pliku ~/.bash_profile linijki: source ~/.bashrc
co spowoduje wczytanie tego pliku Pozdrawiam
Drax - 29-07-2008 10:12
Teraz działa doskonale. Wielkie dzięki.
Doszedłem też, dlaczego problem nie dotyczył roota i nowo tworzonych użytkowników. Z nieznanych mi przyczyn mieli oni w katalogu domowym plik .profile (który przeoczyłem badając sprawę poprzednio), wywoływany zawsze przy logowaniu, który ma wpisane, że jeśli powłoką logowania jest bash, to należy wywołać plik konfiguracji ~/.bashrc. Byłby to więc drugi sposób na rozwiązanie problemu.
Pozdrawiam, Drax
zanotowane.pldoc.pisz.plpdf.pisz.plminister.pev.pl
|