Grafische Apps können nach dem Update auf 15.10 nicht vom Terminal aus gestartet werden

10

Nach dem Update auf 15.10 ist es unmöglich, grafische Apps vom Terminal aus auszuführen:

xxx@xxx:~$ gksudo wireshark
Invalid MIT-MAGIC-COOKIE-1 key
(gksudo:5532): Gtk-WARNING **: cannot open display: :0
xxx@xxx:~$ sudo -H wireshark
[sudo] password for xxx: 
Invalid MIT-MAGIC-COOKIE-1 key
** (wireshark:5535): WARNING **: Could not open X display
Invalid MIT-MAGIC-COOKIE-1 keyFailed to connect to Mir: Failed to connect to server socket: No such file or directory
Unable to init server: Could not connect: Connection refused

(wireshark:5535): Gtk-WARNING **: cannot open display: :0
xxx@xxx:~$ wireshark
Invalid MIT-MAGIC-COOKIE-1 key
** (wireshark:5569): WARNING **: Could not open X display
Invalid MIT-MAGIC-COOKIE-1 keyFailed to connect to Mir: Failed to connect to server socket: No such file or directory
Unable to init server: Could not connect: Connection refused

(wireshark:5569): Gtk-WARNING **: cannot open display: :0
xxx@xxx:~$ gedit
Invalid MIT-MAGIC-COOKIE-1 key
** (gedit:5570): WARNING **: Could not open X display
Invalid MIT-MAGIC-COOKIE-1 keyFailed 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:5570): Gtk-WARNING **: cannot open display: :0
xxx@xxx:~$ sudo gedit
Invalid MIT-MAGIC-COOKIE-1 key
** (gedit:5574): WARNING **: Could not open X display
Invalid MIT-MAGIC-COOKIE-1 keyFailed 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:5574): Gtk-WARNING **: cannot open display: :0

Meine kleinen Nachforschungen haben gezeigt, dass Gksudo verwendet wird, aber es funktioniert auch nicht. Ich habe auch ein paar Sachen mit xauth ausprobiert. Worin besteht das Problem? Vielen Dank.

sssemil
quelle
1
Versuchen Sie es zu entfernen .Xauthority- sudo rm -f ~/.Xauthorityund starten Sie es dann neu.
UniversallyUniqueID
Nein, das Gleiche.
Sssemil

Antworten:

14

Führen Sie als normaler Benutzer den Befehl aus xhost +. Versuchen Sie danach erneut, Ihre grafische Anwendung auszuführen.

Dadurch wird die hostbasierte Zugriffssteuerung auf dem X-Server deaktiviert. Hier sind die relevanten Informationen aus der Manpage:

Das xhost-Programm wird verwendet, um Host- oder Benutzernamen zur Liste hinzuzufügen und zu löschen, mit der Verbindungen zum X-Server hergestellt werden dürfen.

+ Der Zugriff wird allen gewährt, auch wenn sie nicht auf der Liste stehen (dh die Zugriffskontrolle ist deaktiviert).

Jet
quelle
Ich hatte Probleme, wo ich GUI-Anwendungen vom Terminal aus öffnen kann root, aber nicht als normaler Benutzer. In diesem Fall konnte ich die GUI-Anwendungen als regulärer Benutzer starten , xhost +wenn rootich so ausgeführt habe, dass ich sie ausführen konnte.
Craig Otis
Das hat funktioniert! Vielen Dank!
Muhammad bin Yusrat
3

Seltsam, aber export DISPLAY=:1geholfen. Prost.

sssemil
quelle
2
Führen Sie mehrere X-Displays aus oder so? Standard sollte sein:0
UniversallyUniqueID
2
genau das gleiche Problem (am 16.04 in meinem Fall); Leider funktioniert das nicht.
Adam.smith
Nein, nur einer. ": 0" war immer die Standardeinstellung, aber nach dem Update hat sich etwas geändert.
Sssemil
1
In meinem Fall löste das Setzen von DISPLAY auf: 0 das Problem (während: 1 dies nicht tat)
mbello
In meinem Fall wurde das Problem behoben, indem DISPLAY auf: 2 gesetzt wurde. Ich muss es einfach weiter versuchen.
Zkytony
0

In meinem Fall hat das gleiche Problem , nachdem ein einzelnes Paket Aktualisierung gnome-shelldurch synaptic-package-manager. Unmittelbar nach dem nächsten Login konnte ich auf keinen GUI-Teil des Betriebssystems zugreifen. Habe viel gesucht, endlich,

Als ich das apt install gdm3Terminal vom Wiederherstellungsmodus aus verwendete , konnte ich nach dem Systemstart eine Anmeldeaufforderung finden (nur Terminal, nicht GUI).

Danach habe ich versucht apt install gnome, eine ganze Reihe von Komponenten zu installieren. Nachdem der Download abgeschlossen war, konnte ich mein Betriebssystem in den GUI-Modus versetzen.

Wenn Sie selbst keine Anmeldeaufforderung erhalten, versuchen Sie, den obigen Schritt im Wiederherstellungsmodus auszuführen. Versuchen Sie andernfalls, Gnome zu installieren, das das gdm3 aktualisiert.

Shrinivas Manjithaya
quelle
0

Warnung: Durch unsachgemäße Verwendung von xhost kann jeder Host im Internet versehentlich vollen Zugriff auf einen X-Anzeigeserver erhalten.

Im Allgemeinen sollten Sie die hostbasierte Zugriffssteuerung auf dem X-Server nur deaktivieren, wenn Sie wissen, was Sie tun. Stattdessen sollten Sie nur die Dinge zulassen, für die Zugriff erforderlich ist.

Lösung:

Ausführen: xhost +si:localhost:root

Die obige Lösung funktioniert auch für Wayland-Benutzer, die eine XWayland-Anwendung mit erhöhten Rechten ausführen.

Beim Versuch, eine XWayland-Anwendung mit erhöhten Berechtigungen auszuführen, wird möglicherweise die folgende Fehlermeldung angezeigt:

No protocol specified
Unable to init server: Could not connect: Connection refused
Could not parse arguments: Cannot open display:
Loligans
quelle