Vraag Wat is het verschil tussen "gksudo nautilus" en "sudo nautilus"?


Ik heb gebruikt gksudo nautilus en sudo nautilus door alt+F2.

Wat is het verschil? Ze lijken erg op elkaar!


96
2017-11-06 14:48


oorsprong


een zeer nuttige uitleg / discussie inclusief veel screenshots: psychocats.net/ubuntu/graphicalsudo - nutty about natty
Verwant: Waarom is gksu niet meer standaard geïnstalleerd? - Aditya
Verwant: Waarom zouden gebruikers de normale sudo nooit gebruiken om grafische toepassingen te starten? - Eliah Kagan


antwoorden:


Genomen van hier:

Je zou moeten nooit gebruik normaal sudo om grafische toepassingen als te starten   wortel. Je zou ... moeten gebruiken gksudo (kdesudo op Kubuntu) om dergelijke programma's uit te voeren.    gksudo sets HOME=/rooten kopieën .Xauthority naar een tmp directory.   Dit voorkomt dat bestanden in uw persoonlijke map eigendom worden van root.

Houd er rekening mee dat dit voornamelijk over gaat configuratiebestanden. Als u Nautilus uitvoert zoals root, zelfs met gksu/gksudoen u maakt overal een bestand of map mee (inclusief in uw thuismap) waarvan het bestand of de map het eigendom is root. Maar als u Nautilus (of de meeste andere grafische toepassingen) uitvoert als root met sudoze kunnen hun redden configuratiebestanden in je homedirectory (in plaats van rootde thuismap van de gebruiker). Die configuratiebestanden kunnen eigendom zijn van root en ontoegankelijk als je niet als root draait, wat je instellingen ernstig kan verpesten, en mogelijk zelfs sommige applicaties volledig laten werken.

De oplossing is, als u eenmaal deze fout hebt gemaakt, om de configuratiebestanden te vinden en ze te verwijderen of chown ze terug naar het behoren tot je niet-root gebruiker. Veel van dergelijke bestanden beginnen met een . of zijn opgenomen in een map die begint met een .. Sommige bevinden zich in de .config map in uw thuismap. Bestanden en mappen weergeven die beginnen met een . in Nautilus, druk op Ctrl+H (deze toont verborgen bestanden.) Om ze te zien met ls, gebruik de -a (of -A) vlag.

Als u wilt weten of er bestanden zijn die niet het eigendom van u zijn in uw basismap, kunt u de volgende opdracht in een terminal gebruiken:

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

die alle bestanden onder de basismap vermeldt die niet het eigendom zijn van de gebruiker.


109
2017-11-06 15:01



Ik heb al 'sudo nautilus' gebruikt. Dat betekent dat mijn thuismap nu eigendom is van root? (PS: mijn Engels is niet perfect) - DrKenobi
Nee, dit betekent dat terwijl u Nautilus als root draaide, alle bestanden die het in uw thuismap heeft gemaakt, eigendom zullen zijn van root. Dit kan miniaturen en andere ondersteunende bestanden zijn die Nautilus automatisch maakt. - Ryan Thompson
OK, geweldig! Bedankt Ryan Thompson! - DrKenobi
. Het geciteerde segemnet dat je gebruikte heeft me in de war gebracht sinds ik het voor het eerst las; specifiek waar het zegt: "Dit voorkomt dat bestanden in uw persoonlijke map eigendom worden van root." .. Ik heb dit vandaag getest door enkele testbestanden aan te maken, op 10.04, 10.04 (VM), 10.10 (VM), en ongeacht hoe ik sudo / gksudo startte (Terminal-> Nautilus, Terminal-> gedit, Alt + F2 .. .) ... alle gevallen zorgden ervoor dat mijn nieuwe gemaakt werd door "root", met groep "root" .. Misschien heb ik iets gemist, maar ik denk dat een deel van het geciteerde segment mensen misleidt ... - Peter.O
@ Peter.O Ik heb dit antwoord uitgebreid om die vraag te beantwoorden en uit te leggen met welke bestanden het anders is sudo, via gksu/gksudo. (@ChrisWilson Voel je vrij om deze bewerking terug te draaien of in te korten als je denkt dat deze niet volledig binnen het bereik van je antwoord valt ... het lijkt mij dat het is, maar dat is helemaal jouw oproep.) - Eliah Kagan


Wist je dat er een Nautilus add-on is genaamd nautilus-gksu Install nautilus-gksu welke een "open als beheerder" toevoegt aan het rechtsklikmenu van nautilus?

Opmerking: niet beschikbaar in Ubuntu 12.04 en later.


8
2017-11-06 16:16



nautilus-gksuis niet langer beschikbaar vanaf Ubuntu 12.04 en later. - IQAndreas
En jouw link laat alleen zien dat het beschikbaar is tot 11.10 ... - Wilf


Als u een grafische toepassing met sudo start, kunt u het eigendom van uw bestanden verknoeien waardoor uw apps kunnen breken. Doe dat nooit. Controleer de Community Help:

Gebruik nooit de normale sudo voor   start grafische toepassingen als root.   Gebruik gksudo (kdesudo aan   Kubuntu) om dergelijke programma's uit te voeren. gksudo   stelt HOME = ~ root in en kopieert   .Xauthority naar een tmp-directory. Deze   voorkomt bestanden in uw homedirectory   eigendom worden van Root. (AFAICT, dit   is het enige dat speciaal is over de   omgeving van het gestarte proces   met gksudo vs. sudo).


4
2018-04-29 01:38





sudo standaard behoudt de $ HOME-variabele. Bijvoorbeeld als u rent sudo firefox je zult draaien met root-rechten, maar je configuratie. Als u de instellingen in deze situatie wijzigt, krijgt u uiteindelijk delen van uw configuratie die eigendom zijn van root in plaats van uw gebruikers-ID.


2
2018-04-29 01:42



Ik hou van de assertiviteit van dit antwoord. - Andre Figueiredo


sudo -H GUI-application-program

In Ubuntu (17.10) 17.10.1 en waarschijnlijk toekomstige versies van Ubuntu, gksu en gksudo zijn verouderd. Ze werken in Xorg, maar niet in Wayland. Maar je kunt gebruiken sudo -H om GUI-toepassingsprogramma's uit te voeren zonder schade aan uw configuratiebestanden. Do niet gebruik gewoon sudo.

Als u Wayland gebruikt (het nieuwe grafische systeem dat Xorg vervangt), hebt u een opdracht met nodig xhost te.

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

Zie de volgende link voor meer details,

Waarom niet gksu / gksudo of een grafische applicatie starten met sudo werken met Wayland?


0
2018-03-21 13:00





Gevonden in het bestand gegenereerd door het terminal commando 'info gksudo':

gksu is een front-end voor su en gksudo is een front-end voor sudo. Hun primaire doel is om grafische commando's uit te voeren die root nodig hebben zonder de noodzaak om een ​​X-terminal-emulator uit te voeren en su direct te gebruiken.

Ik heb ondervonden dat de 'info'-bestanden in veel gevallen nuttige beschrijvingen bevatten, evenals nuttige informatie over opties. Ik zou sterk aanbevelen dat het leren over een opdracht eerst begint met het openen van het 'info'-bestand voor die opdracht.

Typ voor de beginner in de terminal de opdrachtinformatie met de opdrachtnaam waarin u als parameter geïnteresseerd bent. Het formaat is info [command_name] (vergeet niet om de opdrachtprompt of de haakjes op te nemen). Voorgestelde eindposten voor de beginner zijn:

$ info
$ info info

-2
2017-08-04 16:24





Als u gksudo nautilus kiest, vraagt ​​u uw wachtwoord grafisch. Met sudo vraag je het in een terminal


-3
2017-11-06 14:58



Dat is niet het enige verschil, en vaak is het niet het belangrijkste verschil. (Zie enkele van de andere antwoorden hier.) - Eliah Kagan