xhost-Einstellung beim Booten

8

Ich kann xhost beim Booten in Fedora einstellen, indem ich Folgendes bearbeite /etc/gdm/Init/Defaultund zum Beispiel hinzufüge:

/usr/bin/xhost +local:

Wie kann man das in Ubuntu machen? Ich will das die

/usr/bin/xhost +local:

Befehl wird ausgeführt, wenn das System an der Anmeldeaufforderung sitzt.

Jurten
quelle

Antworten:

11

Der xhostBefehl benötigt zum Ausführen einen aktiven X-Server. Er kann auf dem Anmeldebildschirm ausgeführt werden, z. B. beim lightdmLaden. Sie können es aktivieren, /etc/lightdm/lightdm.confindem Sie die Zeile bearbeiten und hinzufügen:

display-setup-script=/home/user/bin/xhost.sh

Beispieldatei /etc/lightdm/lightdm.conf:

[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu
display-setup-script=/home/user/bin/xhost.sh

Beispieldatei /home/user/bin/xhost.sh:

#!/bin/bash
xhost +

Es funktioniert unter Ubuntu 12.04.1 LTS und wurde benötigt, um eine Java-Anwendung zu aktivieren, die X benötigte und von Tomcat 6 ausgeführt wurde.

George Litos
quelle
1
Möglicherweise müssen Sie das Skript xhost.sh ausführbar machen mit: chmod + x /home/user/bin/xhost.sh
George Litos
Funktioniert in Xubuntu 18.04, aber stellen Sie sicher, dass das Skript wie von @George Litos erwähnt ausführbar ist, da Ihr System sonst nicht startet.
José Tomás Tocino
2

Das hat bei mir funktioniert:

Bearbeiten ~/.xinitrc:

export DISPLAY=":0.0"
xhost +
openbox

Hinweis: In meinem speziellen Setup wird nur Openbox ausgeführt . Normalerweise ist diese Datei leer oder fehlt in Ubuntu. Ich vermute, Sie könnten die "openbox" -Linie entfernen und es würde funktionieren, aber ich habe momentan keine Möglichkeit, sie zu testen. Wenn es nicht funktioniert, ersetzen Sie die letzte Zeile für Ihren Fenstermanagerbefehl.

Lepe
quelle
1

~/.xinitrchat bei Ubuntu 14.04 nicht funktioniert, aber das Folgende in hat ~/.profilefunktioniert. Bei jedem Login, GUI / Terminal / SSH / etc ... wird das Skript ausgeführt, sodass ich umleiten kann stdout, um die Ausgabe stummzuschalten.

xhost +local: > /dev/null

Lucas
quelle
1

Ich hatte das gleiche Problem mit Ubuntu 17.10. Möglicherweise war mein System nicht richtig konfiguriert. Jedenfalls habe ich in meinem Fall hinzugefügt

xhost + SI:localuser:root > /dev/null

am Ende meiner ~/.bashrcDatei und es hat funktioniert. Ich weiß nicht, ob dies ein Sicherheitsrisiko ist. Ich teile dies für den Fall, dass sich jemand anderes in der gleichen Situation befindet, und vertraue darauf, dass das Hinzufügen von root zur Liste der vorrangigen X-Server-Benutzer in Ordnung sein sollte.

Es wird hier vorgeschlagen http://ubuntuhandbook.org/index.php/2017/10/ubuntu-17-10-tip-graphical-apps-doesnt-launch-via-root-sudo-gksu/

Sie können es zuerst direkt auf dem Terminal testen:

$ xhost + SI:localuser:root
$ xhost -

Die zweite Zeile stellt sicher, dass nur diejenigen in der Liste Zugriff auf den X-Server haben. Versuchen Sie dann "Als Administrator bearbeiten", nachdem Sie mit der rechten Maustaste auf eine Datei geklickt oder direkt ausgeführt haben

$ pkexec gedit

Wenn dies nicht funktioniert, ist es sinnlos, den Befehl in ~ / .bashrc permanent zu machen.

Genauer gesagt habe ich zuerst ausgeführt

$ xhost

um zu sehen, welche Benutzer Zugriff auf den X-Server hatten. Ich sah , dass das Format war , SI:localuser:dominicwo dominicmein Login - Name ist. Also habe ich das gleiche Format verwendet SI:localuser:root , um den rootBenutzer hinzuzufügen .

Dominic108
quelle
0

Hier ist eine Variante der Antwort von @ GeorgeLitos mit diesen Änderungen:

  • Nicht direkt ändern /etc/lightdm/lightdm.conf, da dies eine systemeigene Datei ist, die möglicherweise durch Systemaktualisierungen überschrieben wird. Verwenden Sie stattdessen das Erweiterungsverzeichnis /etc/lightdm/lightdm.conf.d/. Dies bedeutet auch, dass andere Einstellungen dort nicht dupliziert werden müssen.
  • Kein separates Shell-Skript erforderlich; Der Befehl kann direkt in die Konfigurationsdatei eingefügt werden.

Erstellen Sie einfach eine Datei (als Benutzer root) /etc/lightdm/lightdm.conf.d/xhost.confmit folgenden Inhalten:

[SeatDefaults]
display-setup-script=xhost +

Dies funktioniert unter Ubuntu 16.04.5 LTS.

Ingo Karkat
quelle
-1

Bearbeiten Sie die Datei /etc/rc.local(mit sudo) und fügen Sie den Befehl vor dem letzten Befehl ( exit 0) hinzu.

yossile
quelle
1
Dies wird nicht funktionieren (und ich habe es trotzdem versucht und es funktioniert nicht). Da dieses Skript keine Zugriffsrechte hat, um diese Einstellung an erster Stelle zu ändern. Muss es als lightdm user gemacht werden?
Jurten
-1

Fügen Sie die folgende Zeile hinzu /etc/xdg/lxsession/LXDE/autostart

xhost +local:
8dost
quelle