"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

Linux und der Dual-Screen (Anwendung auf spezifischem Screen starten)

EvilGohan 22.06.2013 - 20:44 3049 14
Posts

EG

thinking with portals
Avatar
Registered: May 2004
Location: 11**
Posts: 3918
Hallo liebe oc.at Community,

ich versuche gerade qualvoll und schon sicher über mehrere Stunden unter Ubuntu 12.04 eine Infoscreen Lösung für meine Feuerwehr zum Laufen zu bringen.

Im Endeffekt ist es ein kleiner Intel NUC mit via HDMI verbundenen 24 Zoll Screens.

Was ist installiert?
Ubuntu 12.04 LTS 64 Bit

Was will ich?
Zwei Instanzen des Browsers Firefox (eigene Profile "fullscreen1" und "fullscreen2") auf den beiden Screens starten, direkt aus einem Kaltstart heraus.

D.h. Firefox "fullscreen1" soll auf dem linken gestartet werden und geht dann mittelns eines Addons automatisch in den Fulll Screen Modus

Firefox "fullscreen2" macht selbiges auf dem rechten Bildschirm.

Gestartet werden die Apps über das Startup Apps Menü mit den Parametern firefox -P "fullscreen<1/2>" -no-remote

Was geht nicht?

Nach einem Reboot kommen die beiden Instanzen zwar hoch, jedoch immer am falschen Schirm.

Was hab ich zusätzlich gemacht bzw. schon gefixt?
Die Crash Recovery hab ich via about:config abgedreht, weil sonst bei einem Stromausfall / einem unerwarteten Reboot diese erscheint.

Außerdem verzögere ich den Start der Apps mit XGnome-Autostart-Delay etwas, damit die Netzwerkverbindung Zeit hat hoch zu kommen.

Wie kann ich nun also die Feuerfüchse dazu zwingen auf den richtigen Schirmen zu starten?
Diverse Tipps im Netz mit DISPLAY=:0.1 usw. waren leider wenig erfolgreich. Grundsätzlich scheint der Window Manager anscheinend keinen Unterschied zwischen den Fenstern zu machen und betrachtet sie als einen großen Bildschirm.

Sinn des Ganzen?

Der PC läuft in meiner Feuerwehr und soll möglichst wartungsfrei einfach nur diese zwei Homepages (den linken und rechten Teil eines Infoscreens mit Einsatzinformationen - genau so von der Leitstelle vorgegeben) anzeigen. Ich geh ein halbes Jahr nach Schweden und will dort eigentlich nicht remote Wartungen durchführen.
Also will ich das System in einer Art "read-only" Mode betreiben, damit es wirklich nur GENAU DAS tut, für dass es da ist -> die beiden Homepages anzeigen.

Keine Updates, keine neuen Features, keine Addon-Inkompatibilitäten usw...

Von mir aus kann das alles völlig hard coded und mit force-Parametern erzwungen sein. Ich brauch keine Einstellungen, oder Daten von vergangenen Sessions.

1. PC einschalten
2. Autologin
3. Autostart der beiden Browser
4. Browser rufen fix definierte URL bzw. Startseite auf
5. Browser gehen in den Fullscreen Mode

any ideas?
tia

edith:
Ahja...Gnome als Alternative ist leider auch keine Wahl.
Hätte ich bereits versucht. Leider startet 12.04 nicht mehr, wenn man Gnome installiert und Unity funktioniert nach der Deinstallation auch nicht mehr... :(

edith #2:
Damit man sichs vielleicht a bissi vorstellen kann...sieht so aus:

click to enlarge
Bearbeitet von EG am 22.06.2013, 21:09

the_shiver

500 ontopic posts in 10y!
Avatar
Registered: Nov 2002
Location: R'lyeh beach
Posts: 879
Zitat von EvilGohan
Wie kann ich nun also die Feuerfüchse dazu zwingen auf den richtigen Schirmen zu starten?
Diverse Tipps im Netz mit DISPLAY=:0.1 usw. waren leider wenig erfolgreich. Grundsätzlich scheint der Window Manager anscheinend keinen Unterschied zwischen den Fenstern zu machen und betrachtet sie als einen großen Bildschirm.
post mal deine x config
ich vermute mal, dass bei dir xinerama aktiviert ist

EG

thinking with portals
Avatar
Registered: May 2004
Location: 11**
Posts: 3918
bitteschön! =)

Ich wäre auch jederzeit Bereit ein anders OS, oder einen anderen Window-Manager zu verwenden.

Ubuntu ist sowieso schrecklich mühsam geworden...habs halt aus Gewohnheit genommen.

Bin für alles offen. Hautpsache easy, straight forward und tut was es soll.
xconfig_187048.txt (downloaded 92x)

-=Willi=-

The Emperor protects
Avatar
Registered: Aug 2003
Location: ~
Posts: 1624
Hej hej :D

Hab grad ein bisschen was zusammengehackt:
Code:
#!/bin/bash

firefox -no-remote -p p1 [url]http://ddg.gg/[/url] &
sleep 5
WIDS=`xdotool search --name "DuckDuckGo"`

for x in $WIDS; do
LAST_WID=$x
done

xdotool windowmove $LAST_WID 0 0
xdotool windowactive $LAST_WID
xdotool key --clearmodifiers F11


firefox -no-remote -p p2 [url]http://google.com/[/url] &
sleep 5
WIDS=`xdotool search --name "Google"`

for x in $WIDS; do
LAST_WID=$x
done

xdotool windowmove $LAST_WID 1280 0
xdotool windowactive $LAST_WID
xdotool key --clearmodifiers F11


Leider hauts mir im Code oben immer [url]-Tags rein, einfach weglassen...
Also das Script führt Firefox mit einer URL aus und identifiziert das Window in dessen Titel "DuckDuckGo" steht. Aus irgendeinem Grund findet er da mehrere Windows und mit der For-Loop hol ich mir das letzte. Dann holt er sich das Fenster, setzt es an die Position 0,0 (mein Bildschirm links) und sendet gleich ein F11 für Fullscreen.
Selbe Prozedur für das 2. Fenster nur setzt er es an die Position wo laut X bei mir der zweite (zentrale) Bildschirm anfängt nämlich x=1280. Ein paar sleeps sind drinnen damit sich Firefox starten kann und die Seite geladen wird.

Das Script ist sicher absolut unschön und COLOSSUS Spider Sense wird grad tinglen :p.

Getestet mit Ubuntu 13.04 + GNOME aber sollte auch mit Unity funzen.

hth

edit: sudo apt-get install xdotool vorher noch :)
Bearbeitet von -=Willi=- am 22.06.2013, 23:50

EG

thinking with portals
Avatar
Registered: May 2004
Location: 11**
Posts: 3918
Form follows function! ;-)

Merci, ich werds demnächst testen. Bin aktuell wieder in Wien. Letzte Prüfungswoche. Mittwoch/Donnerstag geb ich dann Feedback! :)

GNOME wäre mir eh um Welten lieber. Leider kommt die grafische gar nimma hoch, nachdem ich gdm installiert hab. Google ist übersät mit Problemen diesbzgl. in der Kombination 12.04+Unity+Gnome.

Schön war die Zeit, wo Ubuntu einfach nur ein "Usability-freundliches" debian war. Nicht immer perfekt, aber wenigstens einfach(er).

t3mp

I Love Gasoline
Avatar
Registered: Mar 2003
Location: upstairs
Posts: 6254
Ich dachte zu diesem Zweck gibt es mittlerweile ohnehin eine eigene 'UbuntuGnome' Spielart?

In Zukunft wird's jedenfalls eher noch schlechter mit der Anpassbarkeit von Ubuntu, nachdem immer mehr eigene Süppchen gekocht werden. Auch die Derivate sind dadurch in Gefahr.

COLOSSUS

Administrator
Frickler
Avatar
Registered: Dec 2000
Location: ~
Posts: 11901
Unity mit seinem geruechteweise grottigen Multimonitor-Support scheint fuer diesen Zweck eine seltsame Wahl. KDE/KWin mit den Auto-Properties fuer Fenster, die man sich sogar zusammenklicken kann, sind wohl eher ein Weg nach vorn.

Abgesehen davon finde ich die Idee, ein ganzes DE fuer einen Kiosk-Browser, den nicht mal jemand bedienen wird, mitzuziehen, ein bisschen befremdlich. Ich wuerde ein minimales Debian aufsetzen, dazu xorg, einen kleinen WM mit EHWM-Support, Iceweasel (aus backports, dann ist er immer aktuell) und dann sowas wie devilspie2 (Debian: http://packages.debian.org/wheezy/devilspie2), um das automatische Positionieren der Fenster zu regeln.


Meinen Spinnensinn unterdruecke ich mal ;)

EG

thinking with portals
Avatar
Registered: May 2004
Location: 11**
Posts: 3918
Sicherlich eine bessere Lösung und du hast natürlich absolut recht.

Hab Ubuntu genommen, weil ichs kenn, viel verwendet hab, es viele Treiber out of the box schon drin hat und es zumindest früher recht einfach zum Ziel geführt hat.
Was im Hintergrund noch drauf ist, ist egal. Wichtiger war mir, dass es ohne viel Administrationsaufwand funktioniert.
Ev. ein OpenVPN-Server drauf, um das grottige Tunneln mit dem A1 Pirelli zu umgehen, oder einfach Teamviewer.

Hätte eigentlich erwartet, dass sich Firefox die Position der Fenster merkt und mein größtes Problem wird die beiden Monitore lauffähig zu bringen bzw. wie ich den Browser immer Fullscreen "on top" zu betreiben kann.
Leider war dem nicht so.

Die Lösung mit devilspie find ich hübsch.
Falls Willis Lösung nicht klappt, werd ich mir das zu Gemüte führen.

Am Raspberry Pi muss ich das selbe mit nur einem Bildschirm nochmal machen.
Wirkt dort aber _viel_ unkomplizierter.

EG

thinking with portals
Avatar
Registered: May 2004
Location: 11**
Posts: 3918
Wenig überraschend...grad den Pi angeworfen...
Weder iceweasel noch midori haben einen -f / -fullscreen Parameter! :D

Diverse Forenbeiträge schon ergoogelt, wo das genau so gemacht wurde. Geht bei mir (natürlich) nicht... :rolleyes:

Iceweasel in Version "Mozilla iceweasel 10.0.12" bzw. Midori "0.4.3"

Korrektur...mit Midori klappts...aber der liefert leider Anzeigefehler auf der HP der Leitstelle! :(
Bearbeitet von EG am 26.06.2013, 17:18

t3mp

I Love Gasoline
Avatar
Registered: Mar 2003
Location: upstairs
Posts: 6254
Na dann sollte das CSS der HP aber schnell gefixed werden ;)

EG

thinking with portals
Avatar
Registered: May 2004
Location: 11**
Posts: 3918
Das ganze Ding ist ein einziges Vergehen an sämtlichen Standards... ;-)

edit:
Die Lösung von Willi funktioniert...leider heißen die Fenster gleich! ;-)

edit2:

Echt hässlich/dreckig, funktioniert aber! ;-)

Code:
#!/bin/bash

sleep 10

firefox -no-remote -p fullscreen1 &
sleep 5
WIDS=`xdotool search --name "FF Wieselburg Stadt/Land"`

for x in $WIDS; do
	LAST_WID=$x
done

xdotool set_window --name FF "screen1" $LAST_WID
xdotool windowmove $LAST_WID 0 0
xdotool windowactive $LAST_WID
#xdotool key --clearmodifiers F11

firefox -no-remote -p fullscreen2  &
sleep 5
WIDS=`xdotool search --name "FF Wieselburg Stadt/Land - Mozilla Firefox"`

for x in $WIDS; do
	LAST_WID=$x
done

xdotool set_window --name "screen2" $LAST_WID
xdotool windowmove $LAST_WID 0 0
xdotool windowmove $LAST_WID 1921 0
xdotool windowactive $LAST_WID
#xdotool key --clearmodifiers F11
Bearbeitet von EG am 26.06.2013, 18:51

COLOSSUS

Administrator
Frickler
Avatar
Registered: Dec 2000
Location: ~
Posts: 11901
https://addons.mozilla.org/en-us/fi...n/webconverger/

Nimmt dir die Fullscreen-Schwierigkeiten ab.

EG

thinking with portals
Avatar
Registered: May 2004
Location: 11**
Posts: 3918
Naja jetzt funktionierts und das System kommt auch nach einem Stromausfall/Reboot wieder genau so hoch. Detto am Pi, wobei die Anzeigefehler unter Midori ein Problem werden...funktionieren die Addons auch mit iceweasel?

Komplett schirch, bin sehr unzufrieden mit Ubuntu und dem Rundherum, aber zumindest klappten tuts jetzt amal, also werd ichs nicht wieder umdrehen.

Bei allem was ich grad so verfolg bzgl. Ubuntu, wirds über kurz oder lang ein mininales debian, wie bereits von dir vorgeschlagen Colo.
Wirklich sehr enttäuschend, wie sich eine (meiner Meinung nach) wirklich verwendbare Distro so in Grund und Boden entwickelt.

COLOSSUS

Administrator
Frickler
Avatar
Registered: Dec 2000
Location: ~
Posts: 11901
Iceweasel ist zu Firefox binaerkompatibel, ja. Lediglich der Produktname und die markenrechtlich relevanten Logos der Mozilla Foundation sind ausgetauscht. Addons funktionieren also, wenn sie nicht explizit den Programmnamen pruefen (waere mir noch nie passiert).

Wenn du x86-Hardware haettest, waere das ja ein klassischer Fall fuer die Webconverger-Distribution - aber ich bin mir da weder sicher, wie es mit Multimonitor-Tauglichkeit aussieht, oder ob eine Variante fuer ARM geplant ist.

EG

thinking with portals
Avatar
Registered: May 2004
Location: 11**
Posts: 3918
Die Dual-Screen Lösung hängt auf x86-Hardware.
Der Pi hat nur einen HDMI-Anschluss und ist nicht (wenn dann extrem kompliziert und limitiert) Dual-Screen fähig.
Am Pi hängt also "nur" 1 Monitor.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz