Autouzupełnianie nie działa, gdy jest zalogowany jako root
23
Właśnie natrafiłem na coś, co mnie naprawdę niepokoi. Autouzupełnianie na Ubuntu działa jak urok, ale kiedy loguję się jako root, np. suDostaję tabautouzupełnianie tylko czasami.
@lordmonkey: Może nie, nie jestem do końca pewien. Myślę, że su lub sudo su samo w sobie jest trochę inne, czego nie pamiętam, więc chciałem się upewnić, że mogę to sprawdzić w tych samych warunkach. Wygląda na to, że działa, ale powiedziałeś „czasami”, więc mogę tylko zasugerować, abyś dwukrotnie sprawdził i spróbował sprawić, by był odtwarzalny, lub po prostu upewnij się, że nie dzieje się coś innego, co Cię oszuka - tj. Błąd użytkownika - hej, zdarza się wszystkim! :)
Mój .bashrc zawierał wspomniane wiersze, ale zostały skomentowane; odkomentował wiersze i pozyskał nowy plik .bashrc; teraz wszystko wygląda całkiem dobrze.
bash_completionLinia, przynajmniej w moim przypadku, komentowano na zewnątrz, ponieważ twierdzi, że bash_completionjest już włączony /etc/bash.bashrc, ale że plik ma również, że linie wykomentowane. Zamiast odkomentować etcplik, lepiej jest odkomentować linię w /root/.bashrc.
Myślę, że przy następnym wylogowaniu / zalogowaniu się zregeneruje domyślny plik .bashrc. A może może zawierać pewnego rodzaju „dezaktywację” do autouzupełniania (nie wiem, czy to możliwe). Nie pamiętam jednak faktycznego powodu, dla którego to spisałem.
OK, edytowane i usunięte. Dziękujemy za Twój wkład! Chociaż zastanawiam się, czy ~ / .bashrc może „cofnąć źródło” pliku, czy disable-completionjest nadal dostępny: superuser.com/questions/37148/…
Okazało się, że to zadziałało (podobnie do powyższych odpowiedzi, ale z pewnym zaskoczeniem)
Plik, który należy edytować (przynajmniej w moim przypadku z 12.04) to /root/.bashrc. Ma to sens w moim przypadku, biorąc pod uwagę, że mój zwykły użytkownik automatycznie wypełniał się automatycznie, ale mój root nie.
W każdym razie we wspomnianym pliku znalazłem cały niezbędny kod, ale został on skomentowany:
# enable programmable completion features (you don't need to enable# this, if it's already enabled in /etc/bash.bashrc and /etc/profile# sources /etc/bash.bashrc).#if [ -f /etc/bash_completion ] && ! shopt -oq posix; then#. /etc/bash_completion#fi
Po prostu nie skomentowałem:
# enable programmable completion features (you don't need to enable# this, if it's already enabled in /etc/bash.bashrc and /etc/profile# sources /etc/bash.bashrc).if[-f /etc/bash_completion ]&&! shopt -oq posix;then./etc/bash_completion
fi
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.