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

Feststellen, ob Bildschirmschoner läuft.

StephanS

Member
Hallo an alle,

gibt es eine Möglichkeit, in einem Skript festzustellen, ob ein Bildschirmschoner auf dem aktuellen $DISPLAY läuft?

Wofür brauche ich das? Ich lasse mir von einem Skript, a la Diashow, mit dem Programm xsri das Hintergrundbild ändern. Sobald ein Bildschirmschoner läuft, stürzt xsri ab mit der Fehlermeldung:
Code:
The program 'xsri' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadWindow (invalid Window parameter)'.
  (Details: serial 812 error_code 3 request_code 20 minor_code 0)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)
Und das möchte ich vermeiden, da dann irgendwelche X Ressourcen belegt werden und ich ganz schnell keine Fenster mehr aufmachen kann.

Zusatzinfo: Das ganze findet in einem vncserver statt. Windowmanager ist fvwm2. Bildschirmschoner ist xscreensaver (wobei ich das gerne davon unabhängig gelöst hätte, da evtl. auch mal xlock vorkommen kann).

Danke für eure Ideen und Vorschläge!
 

longman

Advanced Hacker
Hast Du mal mit einer anderen Auflösung versucht ?
Sind die Auflösungen im VNC und dem Xserver gleich ?
Den Fehler "bad Window Parameter" würde ich dahingehend interpretieren.

Aber, ich muss gestehen, ich habe dieses Problem noch nicht gehabt.
 
OP
StephanS

StephanS

Member
longman schrieb:
Hast Du mal mit einer anderen Auflösung versucht?
Sind die Auflösungen im VNC und dem Xserver gleich ?
Den Fehler "bad Window Parameter" würde ich dahingehend interpretieren.

Andere Auflösungen habe ich nicht probiert. Alle beteiligten Auflösungen (vncserver, vncviewer im Fullscreen-Modus und X Server, auf dem der Viewer läuft) sind gleich. Das Phänomen ist überigens unabhängig davon, ob ein vncviewer (und damit ein "echter" X Server) läuft oder nicht.

Eines ist oben vielleicht nicht klar geworden: Alles spielt sich innerhalb des Vnc-Servers ab, d.h. das xsri läuft im VNC und der Bildschirmschoner auch. Vermutlich blockiert der xscreensaver das root-Fenster des Xvnc und lässt den xsri (der auch auf dem Xvnc läuft) nicht reinschreiben.
 
Oben