Forum: PC-Programmierung Ubuntu Firefox auslesen welche webseite offen ist?


von Udo Balinger (Gast)


Lesenswert?

Hallo
Ich würde gerne mal für mich loggen wie viel zeit ich so auf welchen 
Internetseiten verbringe. Mein System ist ein Ubuntu 18 und ich verwende 
Firefox

Mir würde die Fenster Überschrift vom Firefox ausreichen. Gibt es eine 
Möglichkeit über Console Shellscript Phyton oder sonst was da ran zu 
kommen?

von Εrnst B. (ernst)


Lesenswert?

Udo Balinger schrieb:

> Mir würde die Fenster Überschrift vom Firefox ausreichen. Gibt es eine
> Möglichkeit über Console Shellscript Phyton oder sonst was da ran zu
> kommen?

ganz Quick'n'dirty:
1
xwininfo -tree -root |grep 'Firefox'

gibt
...
   0x8c00003 "Ubuntu Firefox auslesen welche webseite offen ist? - 
Mikrocontroller.net - Mozilla Firefox": ("Navigator" "Firefox") 
1512x1271+0+0  +0+410
....

von Udo Balinger (Gast)


Lesenswert?

Besten dank das reicht mir schon :) den rest scheide ich mir irgendwie 
zusammen

von physicist (Gast)


Lesenswert?

Oder einfach

https://addons.mozilla.org/en-US/firefox/addon/mind-the-time/

oder eines der anderen plugins nehmen.

von Udo Balinger (Gast)


Lesenswert?

Etwas fertiges nehmen ist doch langweilig ;) Mir geht es dabei mehr um 
das Lernen als um das Ergebnis.

Jetzt bin ich auch gleich auf das nächste Problem gestoßen.

Ich habe eine sh geschrieben welche als schleife alle Minute xwininfo 
aufruft etwas filtert und das Ergebnis per mqtt raussendet. Wenn ich das 
local auf dem Rechner starte klappt es wunderbar. Wenn ich das von einem 
anderen Rechner über ssh starte meckert er das er kein Display findet. 
Und wenn ich das im Autostart aufrufe bekomme ich auch keine Daten bzw 
nur leere Pakete Vermutlich findet er auch da das Display nicht.

Woran könnte das liegen und wie könnte man das umgehen?

von Εrnst B. (ernst)


Lesenswert?

ssh kann X11-Verbindungen tunneln. d.H. dein xwininfo würde die 
Fensterliste von dem PC anzeigen, von dem aus du die SSH-Verbindung 
aufgebaut hast. (Wenn dort ein X11-Server liefe)

Und auf einem Rechner können mehrere X11-Server laufen, z.B. von 
verschiedenen Benutzern, die sich natürlich nicht in die Quere kommen 
sollten.

Deshalb wird per "DISPLAY"-Environmentvariable mitgeteilt, welcher 
Server für die aktuelle Benutzersession der richtige ist (was auch kein 
lokal laufender Server sein müsste, X11 wäre auch von alleine ohne SSH 
netzwerkfähig)

Lange Rede, Kurzer Sinn:
1
usage:  xwininfo [-options ...]
2
3
where options include:
4
..
5
    -d[isplay] <host:dpy> X server to contact
6
..

Ruf das xwininfo mit "-d :0" auf (erster X11 Server am lokalen PC)
oder pack ein "DISPLAY=:0" in dein sh-Script.

Script muss für denselben Useraccount (mit selben $HOME) laufen, wie der 
X11-Server. Sonst wird das mit den Zugriffsrechten schwieriger.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.