anacron Rechteproblem Skript-Displayzugriff

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Theophil T.
Beiträge: 395
Registriert: 22.10.2006 20:24:59
Lizenz eigener Beiträge: MIT Lizenz

anacron Rechteproblem Skript-Displayzugriff

Beitrag von Theophil T. » 10.03.2016 20:29:08

Hallo,
soweit ich weiss, führt anacron Skripte als root aus. Ich habe aber mit einem jessie-System folgendes Problem:

Das Skript soll unter anderem vor und nach einem Backup eine Meldung auf dem Desktop eines bestimmten (angemeldeten) Users ausgeben:

Code: Alles auswählen

su -c "cat << EOF | xmessage -center -file - &
######################################################
Backup lokal gestartet,
Ende wird angezeigt

Bitte Rechner so lange laufen lassen
######################################################
EOF
" user
Rufe ich das Skript direkt als root oder auch mit "anacron -f -n" als root von der Konsole aus auf, geht es.
Wird anacron normal gestartet geht es nicht: In der Mail an root steht "kein zugriff auf das Display des Users"
Könnte vielleicht jemand dieses Verhalten erklären? Wahrscheinlich wird das Skript doch mit einer anderen User-ID ausgeführt. Kann man das ändern?

Danke und Viele Grüße
Theophil
Zuletzt geändert von Theophil T. am 11.03.2016 14:30:47, insgesamt 1-mal geändert.

DeletedUserReAsG

Re: anacron Rechteproblem

Beitrag von DeletedUserReAsG » 10.03.2016 20:54:28

Wahrscheinlich wirst du das gewünschte Display explizit angeben müssen. Cronjobs laufen naturgemäß nicht in ’ner X-Session, und xmessage kann daher nicht wissen, wohin mit dem Kram.

Theophil T.
Beiträge: 395
Registriert: 22.10.2006 20:24:59
Lizenz eigener Beiträge: MIT Lizenz

Re: anacron Rechteproblem

Beitrag von Theophil T. » 10.03.2016 21:06:29

Danke, werde ich versuchen.

Benutzeravatar
heisenberg
Beiträge: 3531
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: anacron Rechteproblem

Beitrag von heisenberg » 10.03.2016 22:31:12

...und selbst wenn Du das Display angibst, dann hast Du immer noch keinen Zugriff darauf(Ich hab' das leider nie final kapiert, deswegen kann ich Dir jetzt auch keinen vernünftigen Weg nennen.).

Ok. Entgegen der Erwartung funktioniert das bei mir lokal direkt:

Code: Alles auswählen

su -c "xeyes -display :0" meinusername
Jede Rohheit hat ihren Ursprung in einer Schwäche.

Theophil T.
Beiträge: 395
Registriert: 22.10.2006 20:24:59
Lizenz eigener Beiträge: MIT Lizenz

Re: anacron Rechteproblem

Beitrag von Theophil T. » 10.03.2016 22:45:05

..und selbst wenn Du das Display angibst, dann hast Du immer noch keinen Zugriff darauf...
Ja, das habe ich gerade bei einem Test festgestellt und mir geht es mit dem Durchblick ähnlich wie Dir :| .
Habe jetzt mal folgendes gemacht:
root schreibt die Meldung in eine Datei, vom user lasse ich bei der Anmeldung ein Skript mit einer Endlosschleife starten, in etwa so:

Code: Alles auswählen

while [ 1 -eq 1 ]; do
    meld=$(cat /home/user/meldung.txt)
    if [ -n "$meld" ]; then
        cat /home/user/meldung.txt | xmessage -file - &
	     sleep 1
	     cat /dev/null > /home/user/meldung.txt
    fi
    sleep 1
done
Kann man sicher noch verfeinern, scheint aber so recht unkompliziert zu gehen.

PS: Hab' Deinen Nachtrag zu spät gelesen und es geht bei mir auch :D - das ist so natürlich viel einfacher!!
Zuletzt geändert von Theophil T. am 11.03.2016 08:54:10, insgesamt 2-mal geändert.

Benutzeravatar
heisenberg
Beiträge: 3531
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: anacron Rechteproblem

Beitrag von heisenberg » 10.03.2016 22:48:37

Da Du meinen Edit vielleicht nicht mitbekommen hast:

Probiere es so...

Code: Alles auswählen

echo "Hallo" | su -c "xmessage -display :0 -file -" deinusername
...oder so....

Code: Alles auswählen

export DISPLAY=:0
echo "Hallo" | su -c "xmessage -file -" deinusername
Jede Rohheit hat ihren Ursprung in einer Schwäche.

Theophil T.
Beiträge: 395
Registriert: 22.10.2006 20:24:59
Lizenz eigener Beiträge: MIT Lizenz

Re: anacron Rechteproblem

Beitrag von Theophil T. » 10.03.2016 22:53:34

ja, danke, hab's auch gerade oben bei mir dazu geschrieben.

Theophil T.
Beiträge: 395
Registriert: 22.10.2006 20:24:59
Lizenz eigener Beiträge: MIT Lizenz

Re: anacron Rechteproblem

Beitrag von Theophil T. » 11.03.2016 08:59:54

Code: Alles auswählen

su -c "cat << EOF | xmessage -display :0.0 -center -file - &
######################################################
Backup lokal gestartet,
Ende wird angezeigt

Bitte Rechner so lange laufen lassen
######################################################
EOF
" user
So funktioniert es jetzt im Skript mit normal gestartetem anacron - Euch beiden noch mal vielen Dank. An das Problem mit dem Display-Zugriff hatte ich nicht gedacht.

Antworten