Es kann keine grafische App mit "sudo" geöffnet werden.

7

Es wurde versucht, hier eine Antwort zu finden: Nach dem Update auf 15.10 können keine grafischen Apps vom Terminal aus gestartet werden , aber mein Problem wurde dadurch nicht gelöst.

$ sudo gedit
Failed to connect to Mir: Failed to connect to server socket: No such file or directory.
Unable to init server: Could not connect: Connection refused.

(gedit:4574): Gtk-WARNING **: cannot open display:

nur geditim Terminal funktioniert gut. Dies ist mein lokaler Computer, kein Remote-System.

Insasse4587
quelle
4
Bitte kopieren Sie die Terminalausgaben und fügen Sie sie in Ihre Frage ein. Bilder sind lästig zu lesen und nicht durchsuchbar.
TheWanderer
Hast du beim ersten Kommentar die Frage ausprobiert?
TheWanderer
@ Zacharee1 besser?
Kaz Wolfe
Für mich funktioniert "sudo gedit" fantastisch und ich brauche kein gksudo, obwohl Zacharee1 darauf besteht, dass es notwendig ist. Bitte fügen Sie weitere Details hinzu. 1) Können Sie von diesem Terminal aus GUI als Benutzer ausführen, nicht als Root? (was von gedit zurückkommt). 2) Befindet sich das Terminal, das Sie uns zeigen, auf Ihrem lokalen Computer oder auf einer Remote-Workstation? Wenn Sie sich auf einer Fernbedienung befinden, liegt das Problem sicherlich in Ihrer SSH-Weiterleitung von X11. Möglicherweise bietet Remote keine X11-Weiterleitung an, oder Sie haben nicht danach gefragt.
Pauljohn32

Antworten:

17

Älterer Beitrag ist unten, aber immer noch 100% gültig.

Mir ist nicht das, was man für stabil / betriebsbereit halten würde. Der größte Teil des Ubuntu-Kerns (wie die unten genannten gksudound andere Programme) basiert immer noch auf X und kann nicht mit dem umgehen, was Mir verwendet. Bis auf weiteres wird empfohlen, wieder zu X11 zu wechseln, es sei denn, Sie haben einen sehr guten Grund, Mir zu verwenden. Wenn letzteres zutrifft, machen Sie es sich bequem sudo nano.


Sprich mir nach:

Führen Sie niemals grafische Programme mit sudo! * *

* außer in äußerst seltenen Fällen, in denen Sie genau wissen , was Sie tun ... oder wenn Sie Schmerzen haben. Entweder oder.

Nochmal. Und noch einmal zu Ihrem Hund für ein gutes Maß.

Verwenden Sie stattdessen den gksudoBefehl, um einen grafischen Befehl mit Root-Fähigkeiten zu starten, wie folgt:

gksudo gedit /var/log/auth.log

Wenn auf Ihrem System GKsudo nicht installiert ist, installieren Sie es zuerst mit apt:

sudo apt install gksudo

Beachten Sie, dass Sie beim Ausführen von KDE den entsprechenden kdesudoBefehl verwenden.


Der Grund dafür ist, dass sudodie Benutzerlandberechtigungen, die sehr häufig von grafischen Anwendungen verwendet werden , nicht erhalten bleiben. Wenn Sie beispielsweise die geditKonfigurationsdatei nach dem Öffnen mit ändern sudo, tritt ein Problem auf, bei dem geditdie Konfigurationsdatei jetzt im Besitz von root ist und für Sie als Benutzer nicht lesbar und / oder nicht beschreibbar ist.

gksudo kümmert sich um Sie und kümmert sich um das ganze schwere Heben, um sicherzustellen, dass die Berechtigungen gleich bleiben und nichts kaputt machen.

Konsolenbefehle sind unterschiedlich, da sie häufig keine Userland-Konfigurationen speichern und für die Verwendung sudoim Gegensatz zu konzipiert sind gksudo.

Kaz Wolfe
quelle
1
Die Frage, die sie verlinken, sagt, dass gksudosie nicht funktioniert. Ich frage mich, ob es für OP funktioniert ...
TheWanderer
@ Zacharee1 Ich bin mir auch nicht sicher, aber es ist immer noch ein guter Rat, den das OP wirklich beachten sollte.
Kaz Wolfe
Nun
Vielen Dank für Ihre vollständige Beschreibung von "sudo" und "gksudo", aber ich erhalte auch nach der Verwendung von "gksudo" eine Fehlermeldung 'fehlgeschlagen Server kann nicht
initiiert werden
1
Ich