• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst]export DISPLAY=... Wie ging das nochmal?

harvey

Member
Hallo,

Der Hauptuser auf meinem Rechner heisst "karl" und erhält nach dem booten eine KDE-Oberfläche. Jetzt wechsele ich auch einer Konsole per "su heinz" zu einem anderen user und möchte eine X-Anwendung, z.B. xeyes starten. Ich habe das so versucht:

Code:
export DISPLAY=localhost:0.0
xhost + localhost

Aber das reicht irgendwie nicht. Wahrscheinlich muss der karl dem heinz erst erlauben, auf sein Display zuzugreifen, denn root kann xeyes starten und bekommt es auch auf dem Display zu sehen.

Wie ging das nochmal?
 

spoensche

Moderator
Teammitglied
Die Variable DISPLAY änderst du, wenn du einen X- Server ansprechen willst, der auf einem anderen Rechner läuft und wenn das der Fall ist, erlaubst du mit dem Befehl xhost einem Terminal den Zugriff auf den X-Server.

Auf deinem lokalen Rechner, ist das unnötig und völlig sinnlos.

Mach das mal wieder rückgängig, weil der Heinz xeyes auch so starten kann.
 
A

Anonymous

Gast
spoensche schrieb:
Auf deinem lokalen Rechner, ist das unnötig und völlig sinnlos.

Können wir hier so mal nicht stehen lassen ;)

xhost also die Freigabe muss der User machen, dem der X-Server gehört, der sich also zB an KDE oder Gnome angemeldet hat, oder der zb mit xnest einen gestartet hat. Den X-Server hat er nämlich bei der Anmeldung oder bei dessen Start quasi gemietet, und wenn jemand anders hier Ausgaben machen will, muss er es ihnen erstmal erlauben, das gilt streng genommen sogar für root, der darf hier auch ohne ausdrückliche Erlaubnis hier nicht einfach Fenster öffnen. (merkt aber kaum jemand, da man das aus Bequemlichkeitsgründen durch einige Befehle etwas aufgeweicht hat)

Die DISPLAY-Variable muss in der Shell gesetzt sein, aus das Ausgaben auf der Grafischen Oberfläche gemacht werden sollen, und zwar muss diese Variable auf den X-Server zeigen, auf dem es ausgeben will. Ob jetzt local der erste XServer; oder local auf der 2 XServer und dort das 4. Display ; oder ein XServer auf einen ganz anderen Rechnerist, ist dabei völlig ohne Belang. Es muss jedenfalls gesetzt werden und wird im Normalfall nur bei einer Grafischen Anmeldung automatisch gesetzt und dann an alle Programme und Shells exportiert. (Auch das ist hier durch einige Befehle verwaschen, so das bei bestimmten Befehlen zum wechlseln von Userkennungen hier DISPLAY mit übernommen wird)

Das andere User, dazu zählt auch root trotzdem manchmal auf unseren Rechnern dennoch grafische Ausgaben machen können, oder das dann wenn man es braucht aber dennoch nicht immer geht, liegt im wesentlichen daran wie man die Shell des Users öffnet. Dazu mal hierein bischen lesen.

Wer das auf seinem Rechner ein wenig Trainieren will, kann gerne ein bischen mit xnest spielen, ich glaube da lernt man das am schnellsten.




robi
 
Oben