Czy różnica między sudo cmd
i jest gksu cmd
taka sama jak różnica
między uruchomieniem powłoki za pomocą sudo -i
i sudo -s
?
... lub inaczej:
Czy sudo cmd
to samo sudo -i cmd
i gksu cmd
to samo co sudo -s cmd
?
EDYCJA: Na podstawie tego, co przeczytałem na stronie dokumentacji Ubuntu, gdzie jest napisane:
You should never use normal sudo to start graphical applications as root.
You should use gksudo (kdesudo on Kubuntu) to run such programs. gksudo sets
HOME=~root, and copies .Xauthority to a tmp directory. This prevents files
in your home directory becoming owned by root.
(AFAICT, this is all that's special about the environment of the started
process with gksudo vs. sudo).
„AFAICT” doen't naprawdę daje mi pełne zaufanie, że nie ma nic więcej do niego.
(... spóźniona AKTUALIZACJA : Dzisiaj przetestowałem jego upamiętnienie (2 miesiące później) na temat:
„To zapobiega przechodzeniu plików w twoim katalogu domowym przez root.”
Wszystkie pliki, które utworzyłem przez sudo / gksu, były własnością „ root ”, i grupa była „ root ”.)
Przeczytałem części info sudo
i zauważyłem -i
i -s
wydaje się, że robię to samo, co problem ze środowiskiem AFAICT ...
ale uderzyłem w przeciążenie ... więc zadałem tutaj moje pytanie.
PS .. Moje pytanie nie dotyczy sudo vs. gksu
.. Chodzi raczej o: Czy gksu jest tym samym co sudo -s
.. a jeśli nie, to czym się różnią?
źródło
graphical
interfejs ... aplikacja GTK działa całkiem szczęśliwie, niezależnie od tego, czy została uruchomiona przez sudo czy gksu ... ale program działa w innym środowisku ... (I ' Dodam jeszcze trochę do mojego pytania, aby wskazać, dlaczego zadałem pytanie ...graphical frontend
. Zawsze używam terminala do uruchamiania sudo / gksu ... ale w duchu brutalnej siły próbuję wszystkiego, co mogę wymyślić, próbowałem biegaćsudo
igksu
przez Alt + F2 ... Bingo! ..sudo
zniknął w pustce, alegksu
przyszedł do okazji i przedstawił mi (legendarny)graphical forntend
... To jest to samo okno dialogowe, które pojawia się dla Menedżera pakietów Synaptic itp.gksu
zmienia folder XAUTHORITY isudo
nie ... Nie jestem pewien, o co w tym wszystkim chodzi, ale wydaje się znaczący! ... To rozwiązało mój dylemat ... (szczegóły w mojej odpowiedzi poniżej)sudo -i
resetuje środowisko logowania do użytkownika docelowego ( w tym przypadku root ). Przede wszystkimHOME
zmienia się zmienna środowiskowa, co oznacza, że użytkownik docelowy~/.bashrc
jest ładowany.gksu
jest więc, podobnie jaksudo -i
w tym, przełącza$HOME
się na użytkownika root .źródło
sudo
wariantów, o których mówiłem ... i zdałem sobie sprawę, że to Aha! moment dla mnie ... Rezultat: użyj gksu dla aplikacji GUI! .. ale pozostał mi jeszcze jeden nierozwiązany problem ... Czy gksu ma zastosowanie tylko do aplikacji GTK , czy też używanie gksu podczas uruchamiania aplikacji KDE jest całkowicie w porządku ?To naprawdę nie jest odpowiedź, ale może być trochę interesująca ...
Zaczynam rozumieć, co się dzieje z tymi poleceniami su,
ale jeszcze nie jestem do końca ... Używam
gksu
. .. jest to bardziej podróż zrozumienia dla mnie ... a ja wa nie zrozumieć, jeśligksu
jest ważnakonsole
lubkate
czy należy używać wariant KDEkdesu
..Oto niektóre wyniki niektórych testów, które właśnie wypróbowałem.
Te wyniki nie zgadzają się ze stroną dokumentacji Ubuntu , gdzie jest napisane:
AKTUALIZACJA:
env
Zmienne XAUTHORITY dla wywoływanych terminali sudo i gksu są różne (jak wspomniano na stronie dokumentacji Ubuntu ).To pokazuje, że
gksu
zdecydowanie nie jest to samo, cosudo -s
polecenie, o którym wspomniałem w pytaniu ... i dlatego odpowiada na moje pytanie otiginal (w jakiś wciąż niejasny sposób) ... a odpowiedź Chrisa z pewnością zmusiła mnie do zastanowienia się nad tym! ... Potrzebuję kawy!!źródło
sudo jest dla aplikacji z linii poleceń, gksu / gksudo dla aplikacji graficznych
źródło
gksu
działa z tymczasowej kopii XAUTHORITY. Nie jestem do końca pewien, dlaczego XAUTHORITY należy traktować specjalnie, ale jest to główna rzecz, która odróżnia jego zachowaniesudo