ubuntuusers.de

Mittels script 4 html seiten aufrufen

Status: Gelöst | Ubuntu-Version: Ubuntu 16.04 (Xenial Xerus)
Antworten |

AP97

Anmeldungsdatum:
22. Februar 2016

Beiträge: Zähle...

Hallo zusammen ich habe ein PC mit Ubuntu 16.04 aufgesetzt. Da ich den für Monitoring verwenden möchte will ich ein Script schreiben das z.B sheet1.html auf Bildschirm 1 erscheint und sheet2.html auf Bildschirm zwei kommt. Jetzt zu meiner frage momentan probiere ich es mit sensible-browsser --display=0.0 Leider kann ich nicht die anderen Monitore ausfindig machen hat jemand eine anderen Befehl / Idee? Danke Gruss AP97

ChickenLipsRfun2eat Team-Icon

Anmeldungsdatum:
6. Dezember 2009

Beiträge: 12067

Hallo!

Das ist so einfach nicht möglich. Du müsstest die neue Instanz des firefox um die Koordinaten der Auflösung des ersten Monitors versetzt starten. Bei erweiterten Bildschirmen ist ja nur ein Display vorhanden, dies aber mit der Breite beider Bildschirme, etc.

Überprüfen kannst du das, wenn du xrandr aufrufst und dir die Werte dort ansiehst.

Beispiel:

schiggn@desktop:~$ xrandr
Screen 0: minimum 8 x 8, current 3360 x 1080, maximum 16384 x 16384
DVI-I-0 disconnected (normal left inverted right x axis y axis)
DVI-I-1 connected 1440x900+1920+180 (normal left inverted right x axis y axis) 408mm x 255mm
   1440x900       59.9*+
   1280x1024      75.0     60.0  
   1280x960       60.0  
   1152x864       75.0  
   1024x768       75.0     70.1     60.0  
   800x600        75.0     72.2     60.3     56.2  
   640x480        75.0     72.8     59.9  
DVI-I-2 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 530mm x 300mm
   1920x1080      60.0*+
   1680x1050      60.0  
   1600x1200      60.0  
   1440x900       59.9  
   1280x1024      60.0  
   1280x960       60.0  
   1280x800       59.8  
   1024x768       60.0  
   800x600        60.3     56.2  
   640x480        59.9  
HDMI-0 disconnected (normal left inverted right x axis y axis)
DP-0 disconnected (normal left inverted right x axis y axis)
DVI-I-3 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
schiggn@desktop:~$ 

Vain

Avatar von Vain

Anmeldungsdatum:
12. April 2008

Beiträge: 2505

Auch bei ’nem erweiterten Desktop kommst du in der Regel noch an die Infos, wo welcher einzelne Screen beginnt und aufhört. xdpyinfo verrät einem das.

Ich benutze das zum Beispiel in einem Script, welches pro „Desktop“ einen einzelnen Screenshot anfertigt:

https://github.com/vain/bin-pub/blob/master/grabs

Der wichtige Teil:

1
2
3
4
5
6
7
8
9
i=0

xdpyinfo -ext XINERAMA | sed '/^  head #/!d; s///; s/[:x@,]/ /g' |
sort -k4n |
while read _ w h x y
do
    import -window root -crop ${w}x$h+$x+$y +repage shot--$i.png
    ((i++))
done

Dööfer ist, dass Firefox offenbar keinen Weg vorsieht, um die Fensterposition anzugeben:

https://developer.mozilla.org/en-US/docs/Mozilla/Command_Line_Options

Chromium soll angeblich --window-position können, in einem schnellen Test bei mir hat das aber nicht funktioniert:

http://peter.sh/experiments/chromium-command-line-switches/

Aus ähnlichen Beweggründen hatte ich mir für sowas mal das hier geschrieben:

https://github.com/vain/datenstrahler

Das ist ein einfaches WebKit2-Frontend. Ein Mini-Browser. Und das ist auch gleichzeitig das Problem: WebKit2 ist eine „kleine“ Engine, die lange nicht so mächtig wie Firefox oder Chromium ist. Für einfaches Monitoring reicht das locker aus, ich verwende das Teil täglich. Bei aufgeblasenen Web-3.0-Seiten mit ganz viel JavaScript guckst du aber vermutlich in die Röhre.

– edit: Alternative Lösungsstrategie: Du könntest einen Window-Manager mit mächtigeren Regeln verwenden. Ich persönlich denke da jetzt an sowas wie dwm, aber Openbox kann’s bestimmt auch. Damit kannst du definieren: „Platziere Fenster mit Titel $x an Position $bla.“ Dann sollte das auch mit Firefox/Chromium kein so großes Problem mehr sein.

track

Avatar von track

Anmeldungsdatum:
26. Juni 2008

Beiträge: 7174

Wohnort: Wolfen (S-A)

Vain: in Deinem Skript sehe ich einen hübschen Trick mit sed, den ich noch nicht kannte:

sed '/^  head #/!d; s///; '

Die leere RE ersetzt dort offensichtlich den Ausdruck aus der Zeilenauswahl ...
Wo hast Du den eigentlich her, oder wo findet man dazu Informationen ? ? (und: gibt es da noch mehr hübsche Tricks ?)

LG,

track

Vain

Avatar von Vain

Anmeldungsdatum:
12. April 2008

Beiträge: 2505

track schrieb:

Vain: in Deinem Skript sehe ich einen hübschen Trick mit sed, den ich noch nicht kannte:

sed '/^  head #/!d; s///; '

Die leere RE ersetzt dort offensichtlich den Ausdruck aus der Zeilenauswahl ...
Wo hast Du den eigentlich her, oder wo findet man dazu Informationen ? ? (und: gibt es da noch mehr hübsche Tricks ?)

In dem konkreten Fall werde ich das einfach so aus dem Arch-Wiki übernommen haben (siehe Kommentar in grabs ganz oben):

https://wiki.archlinux.org/index.php?title=Taking_a_screenshot&oldid=358860#Screenshot_of_individual_Xinerama_heads

Deine Frage ist ganz lustig, denn in der Dokumentation zu GNU sed finde ich tatsächlich keinerlei Hinweis auf dieses Verhalten. Bei Open-, Free- und NetBSD hingegen steht in der Manpage:

One special feature of sed regular expressions is that they can default
to the last regular expression used.  If a regular expression is empty,
i.e., just the delimiter characters are specified, the last regular
expression encountered is used instead.  The last regular expression is
defined as the last regular expression used as part of an address or
substitute command, and at run-time, not compile-time.  For example, the
command ``/abc/s//XXX/'' will substitute ``XXX'' for the pattern ``abc''.

track

Avatar von track

Anmeldungsdatum:
26. Juni 2008

Beiträge: 7174

Wohnort: Wolfen (S-A)

... ah, unter "empty regular expression" ist es sehr wohl zu finden, im Gnu sed Manual, Kap. 3.2 Selecting lines with sed :

The empty regular expression ‘//’ repeats the last regular expression match (the same holds if the empty regular expression is passed to the s command). ...

Also doch, genau so.

LG,

track

Antworten |