Fenster des Desktops steuern

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
trisse
Beiträge: 8
Registriert: 15.08.2013 09:12:06

Fenster des Desktops steuern

Beitrag von trisse » 19.08.2013 15:43:09

Hi!

Ich möchte meinen Raspberry PI im Kiosk-modus laufen lassen. Bedeutet konkret erstmal nur, dass nodm installiert ist und in der .xsession folgendes steht:

Code: Alles auswählen

#while true; do 
  DISPLAY=:0 chromium-browser --disable-background-networking --kiosk http://service:password@seite.html &
  sleep 45s;
  pkill chromium
  DISPLAY=:0 chromium-browser --disable-background-networking --kiosk http://service:password@seite2.php &
  sleep 45s;
  pkill chromium
done
Jedoch, dauert das killen der Browser und das neuladen des nächsten ein weilchen - zu lange, da der rpi bereits mit anderen aufgaben betraut und ausgelasetet ist. (zum mindest nicht mehr viel für übrig hat)
Wie kann ich es gestalten, dass in der vorhandenen browser-session nur einen neue seite geladen wird?

NOCH BESSER: Wie kann ich es gestalten, dass zwei browser-fenster offen sind, und immer nur eins oder das andere in den vordergrund geholt wird? Damit wäre die load am geringsten und damit wäre die überblend-zeit schön gering, und die websites laden sich eh alle 30 sek. neu, somit wäre auch der content aktuell. "wmctrl" klappt bei mir leider nicht :(
Entweder "cannot open display." oder "Cannot get client list properties. (_NET_CLIENT_LIST or _WIN_CLIENT_LIST)" Fehlermeldung.
Aus irgendeinem Grund kann wmctrl (GENAU das was ich brauchen könnte), nicht auf die windows zugreifen. Liegt das vllt. an nodm?

Danke für Löungsvorschläge :)

Benutzeravatar
hikaru
Moderator
Beiträge: 13909
Registriert: 09.04.2008 12:48:59

Re: Fenster des Desktops steuern

Beitrag von hikaru » 19.08.2013 16:03:36

wmctrl setzt einen EWMH/NetWM-kompatiblen Windowmanager voraus. Hast du sowas?

trisse
Beiträge: 8
Registriert: 15.08.2013 09:12:06

Re: Fenster des Desktops steuern

Beitrag von trisse » 19.08.2013 23:32:23

Ich denke ja.
Matchbox oder openbox ist EWMH/NetWM kompatibel.

wenn ich aber einfach nur nodm starte, und danach ein chromium-fenster aufrufe, warum kann wmctrl das nicht catchen?
..wenn ich den window-manager starte, dann geht es, zum mindest wmctrl -l (auflisten der fenster)

oder andere Frage: wie kann es sein, dass ich mit über nodm fenster aufrufen kann, ohne einen WM?

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: Fenster des Desktops steuern

Beitrag von Cae » 20.08.2013 00:06:37

Ich wuerde ja Debianawesome nehmen und die rc.lua zusammenschrumpfen, dass man nix mehr vom WM sieht. Dann kann man per awesome-client die Fenster durchwechseln.

Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

Benutzeravatar
hikaru
Moderator
Beiträge: 13909
Registriert: 09.04.2008 12:48:59

Re: Fenster des Desktops steuern

Beitrag von hikaru » 20.08.2013 07:39:09

Bei Matchbox bin ich mir nicht sicher, aber auf Openbox (bzw. LXDE) habe ich schon wmctrl benutzt - allerdings auf x86.
Als weitere Möglichkeit fiele mir noch ein simmuliertes periodisches Alt+Tab mit Debianxdotool ein. Aber da würde ich es vorher mit Awesome probieren.

Mit nodm kenne ich mich leider nicht aus. Die einzige Maschine auf der ich es nutze ist der HTPC meiner Eltern, und der steht gerade ein paar hundert km entfernt.

trisse
Beiträge: 8
Registriert: 15.08.2013 09:12:06

Re: Fenster des Desktops steuern

Beitrag von trisse » 21.08.2013 11:08:39

Danke für die Antworten.

Habs wiefolgt gelöst, wen es interessiert:

NUR lightdm (nicht nodm) + openbox installiert.
autologin mit lightdm siehe /etc/lightdm/lightdm.conf + /usr/share/xsessions/lightdm-xsession.desktop

autostart 2er browserfesnter a lá "session-setup-script=/home/pi/test.sh" in der /etc/lightdm/lightdm.conf

in der /home/pi/test.sh stehtr folgendes

Code: Alles auswählen

midori --display=:0 -e Fullscreen -a http://service:password@10.0.0.999/master/check_mk/dashboard.py?name=main &
midori --display=:0 -e Fullscreen -a http://service:password@10.0.0.999/master/check_mk/view.py?view_name=hostsbygroup &
while true; do
   xdotool keydown alt key Tab
   sleep 4s;
   xdotool keyup alt
   sleep 10s;
done
hier sieht man, dass ich es mit xdotool geöst habe, das ein persiodisches alt+Tab (und danach release des alt) sende.
delay 4 steht dazwischen, um das richtig zu timen (betrifft vmtl. nur mich) Da der RPI relativ lang braucht um das alt+Tab erstmal zu "verarbeiten".

Danke!

Antworten