Wie kann ich Sublime Text 3 von Unity aus als Root ausführen?

Wie kann ich Sublime Text 3 von Unity aus als Root ausführen?

Ich weiß, dass ich kein Root bin, weil ich keine Pakete durchsuchen kann. Erstens bin ich mir bewusst,DasSeite, aber es funktioniert bei mir nicht. Nachdem ich diese Anweisungen befolgt habe, erhalte ich die Eingabeaufforderung, wenn ich Sublime von Unity aus öffne, aber ich kann immer noch keine Pakete durchsuchen. Wenn ich Sublime gksu sublim Terminal öffne, passiert nichts. Wenn ich sudo subles tue, öffnet es sich und ich kann Pakete durchsuchen. Ist es in Ordnung, Sublime jedes Mal als sudo statt als gksu zu öffnen?

Bearbeiten: Tatsächlich werde ich zur Eingabe des Kennworts aufgefordert, wenn ich Sublime von Unity aus öffne, und es öffnet sich dann überhaupt nicht.

Bearbeiten: gksudo sublhat die gleiche Wirkung wie gksu. Ich habe Sublime von der Website installiert (habe auf den Ubuntu 64-Link geklickt, es wurde heruntergeladen, auf den Download geklickt, es führte mich zum Software Center). „which subl“ gibt zurück /usr/bin/subl. gksu ist installiert. Glutanimate, ja, das meine ich. Irgendeine Idee, was dann passiert? Ich kann sie nur durchsuchen, wenn ich sudo verwende.

/usr/share/applications/sublime-text.desktop:

[Desktop Entry] 
Version=1.0 
Type=Application 
Name=Sublime Text
GenericName=Text Editor 
Comment=Sophisticated text editor for code, markup and prose 
Exec=gksu /opt/sublime_text/sublime_text %F
Terminal=false 
MimeType=text/plain; 
Icon=sublime-text
Categories=TextEditor;Development; 
StartupNotify=true
Actions=Window;Document;

[Desktop Action Window] 
Name=New Window
Exec=/opt/sublime_text/sublime_text -n 
OnlyShowIn=Unity;

[Desktop Action Document] 
Name=New File
Exec=/opt/sublime_text/sublime_text --command new_file
OnlyShowIn=Unity;

Antwort1

Wenn gksu/ gksudonicht funktioniert oder nicht verfügbar ist, können Sie stattdessen verwenden.sudo -H

Wenn Sie ein grafisches Programm mit sudostatt gksu/ ausführen gksudo, sollten Sie sudo -H ...(oder sudo -i ...) statt nur verwenden sudo ....

sudo -H subl
sudo -i subl

(Weder die einfache sudo ...noch diese anderen Methoden funktionieren normalerweise über das Unity-Dashboard, da hierfür ein Terminal erforderlich ist, auf dem Sie zur Eingabe Ihres Kennworts aufgefordert werden. Sie können sie jedoch über das Terminal ausführen.)

Der Hauptgrund dafür istals schlecht angesehenum ein grafisches Programm mit normal auszuführen, sudoist, dass dies die Anwendung mit der HOMEUmgebungsvariable auf das Home-Verzeichnis des nicht-root-Anrufers ( ) anstatt auf das Home-Verzeichnis des root-Anrufers ( ) setzt. Das ist oft/home/username/rootbewirkt, dass Konfigurationsdateien, die dem normalen Benutzer gehören sollten, stattdessen dem Root-Benutzer gehören(und unzugänglich).

Durch Ausführen sudomit dem -HFlag wird dies verhindert, indem sichergestellt wird, dass stattdessen das Home-Verzeichnis von Root verwendet wird.

sudo -itut dies und mehr: Es führt ein Programm in einer simulierten Root-Anmeldesitzung aus. Mir sind keine triftigen Gründe bekannt, das eine oder das andere von sudo -Hund vorzuziehen sudo -i, wenn das Ziel nur darin besteht, grafische Programme problemlos als Root auszuführen.

verwandte Informationen