Jaka jest różnica między „gksudo nautilus” a „sudo nautilus”?


100

Używam gksudo nautilusi sudo nautilusprzez Alt+ F2.

Co za różnica? Wyglądają bardzo podobnie!


bardzo pomocne wyjaśnienie / dyskusja, w tym wiele zrzutów ekranu: psychocats.net/ubuntu/graphicalsudo
— orzechowe o natty


Odpowiedzi:


113

Pobrano stąd :

Nigdy nie należy używać normalnego sudodo uruchamiania aplikacji graficznych jako root. Powinieneś używać gksudo( kdesudona Kubuntu) do uruchamiania takich programów. gksudoustawia HOME=/rooti kopiuje .Xauthoritydo tmpkatalogu. Zapobiega to posiadaniu plików w twoim katalogu domowym przez root.

Uwaga: chodzi przede wszystkim o pliki konfiguracyjne . Jeśli uruchomisz Nautilus as root, nawet z gksu/ gksudo, i utworzysz z nim plik lub folder w dowolnym miejscu (w tym w katalogu domowym), ten plik lub folder będzie własnością root. Ale jeśli uruchomić Nautilus (lub większość innych aplikacji graficznych), jak rootz sudo, mogą zapisywać swoje pliki konfiguracyjne w katalogu domowym (a nie rootkatalog domowy). Te pliki konfiguracyjne mogą być własnością rooti niedostępne, gdy nie działasz jako root, co może poważnie zepsuć twoje ustawienia, a nawet może całkowicie uniemożliwić działanie niektórych aplikacji.

Po popełnieniu tego błędu rozwiązaniem jest znalezienie plików konfiguracyjnych i usunięcie ich lub chownpowrót do przynależności do użytkownika niebędącego rootużytkownikiem. Wiele takich plików zaczyna się od a .lub znajduje się w katalogu rozpoczynającym się od .. Niektóre znajdują się w .configfolderze w katalogu domowym. Aby zobaczyć pliki i foldery zaczynające się na .w Nautilus, naciśnij Ctrl+ H( pokazuje ukryte pliki .) Aby je zobaczyć ls, użyj flagi -a(lub -A).

Aby sprawdzić, czy w twoim katalogu domowym znajdują się pliki, których nie jesteś właścicielem, możesz użyć następującego polecenia w terminalu:

find $HOME -not -user $USER -exec ls -lad {} \;

która wyświetli listę wszystkich plików w katalogu domowym, które nie są własnością użytkownika.


1
Użyłem już „sudo nautilus”. Oznacza to, że mój katalog domowy jest teraz własnością root? (PS: mój angielski nie jest doskonały)
— DrKenobi,

22
Nie, oznacza to, że gdy korzystałeś z Nautilusa jako root, wszelkie pliki, które utworzył w twoim katalogu domowym, będą własnością root. Może to obejmować miniatury i inne pliki pomocnicze tworzone przez Nautilus.
— Ryan Thompson,

1
. Cytowany przez ciebie segemnet zaskoczył mnie od pierwszego czytania; w szczególności tam, gdzie jest napisane: „Zapobiega to przechodzeniu plików w twoim katalogu domowym przez root”. .. Testowałem to dzisiaj, tworząc niektóre pliki testowe, 10.04, 10.04 (VM), 10.10 (VM) i bez względu na to, jak uruchomiłem sudo / gksudo (Terminal-> Nautilus, Terminal-> gedit, Alt + F2 .. .) ... wszystkie przypadki spowodowały, że mój nowo stworzony został własnością „root”, z grupą „root”. Może coś przeoczyłem, ale myślę, że ta część cytowanego segmentu wprowadza w błąd ludzi…
— Peter. O

Hmm, właśnie cytowałem stronę wiki. Tak naprawdę nie mam głębokiego zrozumienia różnicy między tymi dwoma narzędziami. Być może ktoś może pomóc na unix.stakexchange.com ?

2
@ Peter.O Rozszerzyłem tę odpowiedź, aby odpowiedzieć na to pytanie i wyjaśnić, które pliki są traktowane inaczej za sudopomocą gksu/ gksudo. (@ChrisWilson Zapraszam do wycofania lub skrócenia tej edycji, jeśli uważasz, że nie jest ona całkowicie objęta twoją odpowiedzią ... wydaje mi się, że tak, ale to całkowicie twój telefon.)
— Eliah Kagan

9

Czy wiesz, że istnieje dodatek Nautilus o nazwie nautilus-gksu,Zainstaluj nautilus-gksu który dodaje opcję „otwórz jako administrator” do menu prawego przycisku nautilusa?

Uwaga: Niedostępne w systemie Ubuntu 12.04 i nowszych.


1
nautilus-gksunie jest już dostępny od wersji Ubuntu 12.04 i nowszych.
— IQAndreas

A twój link pokazuje tylko, że jest dostępny do 11.10 ...
— Wilf

5

Jeśli uruchomisz aplikację graficzną za pomocą sudo, możesz zepsuć własność plików, co może spowodować uszkodzenie aplikacji. Nigdy tego nie rób. Sprawdź pomoc społeczności :

Nigdy nie powinieneś używać normalnego sudo do uruchamiania aplikacji graficznych jako root . Powinieneś używać gksudo (kdesudo na Kubuntu) do uruchamiania takich programów. gksudo ustawia HOME = ~ root i kopiuje .Xauthority do katalogu tmp. Zapobiega to posiadaniu plików w twoim katalogu domowym przez Root. (AFAICT, to wszystko, co jest szczególne w środowisku uruchomionego procesu z gksudo vs. sudo).


3

sudo domyślnie zachowuje zmienną $ HOME. Na przykład, jeśli uruchomisz sudo firefox, będziesz działał z uprawnieniami roota, ale z konfiguracją. Jeśli zmienisz ustawienia w tej sytuacji, skończysz z częściami konfiguracji należącymi do użytkownika root zamiast identyfikatora użytkownika.


Podoba mi się asertywność tej odpowiedzi.
— Andre Figueiredo,

2

sudo -H GUI-application-program

W Ubuntu (17.10) 17.10.1 i prawdopodobnie przyszłych wersjach Ubuntu, gksui gksudosą przestarzałe. Pracują w Xorg, ale nie w Wayland. Możesz jednak używać go sudo -Hdo uruchamiania aplikacji GUI bez uszkodzenia plików konfiguracyjnych. Czy nie używać zwykłego sudo.

Jeśli korzystasz z Waylanda (nowego systemu graficznego zastępującego Xorg), potrzebujesz także polecenia xhost.

xhost +si:localuser:root       # if Wayland
sudo -H nautilus --no-desktop

Zobacz poniższy link, aby uzyskać więcej informacji,

Dlaczego gksu / gksudo lub uruchomienie aplikacji graficznej z sudo nie działa z Waylandem?


-2

Znaleziono w pliku wygenerowanym przez komendę terminalową „info gksudo”:

gksu to nakładka na su, a gksudo to nakładka na sudo. Ich głównym celem jest uruchamianie poleceń graficznych wymagających rootowania bez potrzeby uruchamiania emulatora terminala X i bezpośredniego używania su.

Odkryłem, że w wielu przypadkach pliki „informacyjne” zawierają pomocne opisy, a także przydatne informacje o opcjach. Zdecydowanie zasugerowałbym, że nauka o dowolnym poleceniu zaczyna się od uzyskania dostępu do pliku „info” na tym poleceniu.

Dla początkującego w terminalu wpisz lub wklej informacje o poleceniu z nazwą polecenia, którym jesteś zainteresowany, jako parametr. Format to info [command_name](pamiętaj, aby nie dołączać wiersza polecenia ani nawiasów). Sugerowane wpisy terminala dla początkujących to:

$ info
$ info info

-3

Jeśli wybierzesz gksudo nautilus, poprosisz o hasło w formie graficznej. W sudo pytasz o to w terminalu


6
To nie jedyna różnica i często nie jest najważniejsza. (Zobacz niektóre inne odpowiedzi tutaj.)
— Eliah Kagan
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.