On Thu, Oct 21, 2004 at 10:11:02AM +0200, Christopher Wieser wrote:
> Hallo
> Ich habe einen Cronjob, der jede Stunde ausgeführt wird. Es soll mir
> unter anderem mit xmessage eine Nachricht auf dem Display ausgeben.
> Der Cronjob wird jede Stunde richtig gestartet und führt alle
> Anweisungen korrekt aus, außer die Nachricht auszugeben.
> Führe ich das Script mit xterm o.a. aus funtioniert es korrekt, d.h. es
> gibt auch die Nachricht aus.
> Als Fehlermeldung auf xmessage bekomme ich
> Error: Can't open display: 0.0
> wenn ich im script zuvor DISPLAY:0.0 und export DISPLAY:0.0
> bzw.
> Error: Can't open display ""
> zurück wenn ich die Variabel DISPLAY nicht definiert habe
> als Fehlermeldung.
> Wie gebe ich den Xserver für das Script frei?
man xauth
man XSecurity
man xhost
In Kürze: Zum ersten setzt du die Environment-Variable DISPLAY:0.0 auf
nichts (du könntest es dir also auch gleich sparen). Tatsächlich solltest
du aber die Variable DISPLAY auf :0 setzen, also etwa so:
env DISPLAY=:0 xmessage
Aber offenbar hast du das wohl doch richtig gemacht, weil sonst die
erste Fehlermeldung nicht erscheinen würde.
Es bleibt das Problem der Zugriffskontrolle auf das Display. Wenn du
mit xauth autentifizierst und nicht mit XAUTHORITY rumfizzelst, müsste es
mit dem korrekten Display eigentlich gehen, weil xterm dein ~/.Xauthority
findet. Was da drin steht, findest du mit xauth list heraus. Wenn ein
Record für host/unix:0 drinsteht, findet den auch auch xmessage und
kann sich (jedenfalls für die meisten xauth-Methoden) auch gegenüber
dem X-Server ausweisen.
Wenn nur du auf deiner Maschine bist und du überhaupt ein
mutiger Held bist, kannst du einfach sagen:
xhost + localhost
und dann
env DISPLAY=localhost:0 xmessage
machen. Analfixierte Menschen raten davon ab; wer Zugriff auf dein
Display hat, kann u.U. beliebige Kommandos ausführen (je Terminalemulation),
Keystroke logging betreiben, ansehen, was du gerade so tust etc -- und
mit xhost langt dafür ein schlappes Login, zur Not auch über einen unsicheren
Daemon usf.
Markus
Received on Thu Oct 21 10:50:20 2004