Na stałe przez pomyłkę zmieniłem zmienną PATH i nie mogę się teraz zalogować. Jak zmienić domyślną zmienną PATH?

9

Użyłem sudo -H gedit /etc/environmentpolecenia na terminalu, aby trwale zmienić moją zmienną PATH.

Aby to poprawić, nacisnąłem Ctrl+ Alt+ F1i użyłem export PATHpolecenia, ale odmówiono dostępu.

Wiele poleceń (w tym sudoi nano) nie jest rozpoznawanych, ponieważ nowa zmienna PATH nie ma /usr/bin. Jestem nowy w poleceniach Linuksa.

Jak mogę to naprawić?

Swetha
źródło
3
Twórz kopie zapasowe również podczas edycji plików systemowych. W takim razie dzieli Cię tylko 1 mvod przywrócenia;)
Rinzwind
3
Proszę nie krzyżować; Twoje pytanie pasuje Zapytaj Ubuntu lepiej niż pasuje Przepełnienie stosu.
edwinksl

Odpowiedzi:

21
/usr/bin/sudo /bin/nano /etc/environment
Gunnar Hjalmarsson
źródło
9
W rzeczywistości /usr/bin/sudo nano /etc/environmentpowinno wystarczyć (ponieważ sudoużywa własnego secure_pathzamiast PATH)
steeldriver
@steeldriver: Ach, racja, brzmi prawdopodobne. Jeśli jesteś pewien, możesz edytować. (Nie jestem skłonny do testowania ...)
Gunnar Hjalmarsson
8

Możliwe metody:

  • 1. spróbuj zalogować się przy użyciu TTY (control-alt-f1).
  • Jeśli to nie działa, uruchom komputer z płyty DVD na żywo.

a następnie użyj

sudo nano /etc/environment

z wiersza poleceń i edytuj swój błąd. Zapisz i uruchom ponownie, aby przetestować to, co zrobiłeś, jest poprawne.


W razie potrzeby:

 $ more /etc/environment 
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
Rinzwind
źródło
Próbowałem polecenia „sudo -H nano / etc / environment” i oto była odpowiedź: „sudo” jest dostępne w „usr / bin / sudo”. Nie można zlokalizować polecenia, ponieważ „usr / bin” nie jest uwzględniony w zmiennej PATH.
Swetha,
Hej dzięki, użyłem absolutnych ścieżek do sudo i nano i rozwiązałem to! :)
Swetha,