ubuntuusers.de

Browser beim Booten Automatisch Starten

Status: Ungelöst | Ubuntu-Version: Kein Ubuntu
Antworten |

Multistorm

Avatar von Multistorm

Anmeldungsdatum:
9. September 2016

Beiträge: 12

Wohnort: Berlin

Hallo, ich habe aktuell ein kleines Problem das ich versuche zu lösen. es geht um einen Raspberry Pi3 mit Raspbian OS (Frisch installiert)

Ich möchte nun das beim Booten der PI automatisch einen Browser Öffnet (Chromium) inkl einer URL soweit so gut das habe ich hinbekommen

und zwar so: neue Datei angelegt: nano ~/.config/autostart/autoChromium.desktop

mit folgendem Inhalt:

1
2
3
4
5
6
7
8
[Desktop Entry]
Type=Application
Exec=/usr/bin/chromium-browser --noerrdialogs --disable-session-crashed-bubble --disable-infobars --kiosk URL
Hidden=false
X-GNOME-Autostart-enabled=true
Name[en_US]=AutoChromium
Name=AutoChromium
Comment=Start Chromium when GNOME starts

Das Funktioniert auch genau wie es soll, soweit alles gut, nun muss ich aber die URL anpassen und zwar muss die Seriennummer des PIs mit in die URL

etwas so

1
https://meinewebseite.de/pinews.html?SeriennummerDesPIs

wie ich die Seriennummer des PIs rausbekomme weiss ich auch schon:

1
cat /proc/cpuinfo | grep Serial | cut -d' ' -f2

Aber ich habe ecthe probleme beides miteinander zu kombinieren ..

Könnt ihr mir da weiterhelfen ?

lg

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17621

Wohnort: Berlin

Die Ausgabe e. Programms kann mit $(...) erfasst werden:

1
https://meinewebseite.de/pinews.html?$(cat /proc/cpuinfo | grep Serial | cut -d' ' -f2)

Multistorm

(Themenstarter)
Avatar von Multistorm

Anmeldungsdatum:
9. September 2016

Beiträge: 12

Wohnort: Berlin

das klappt leider nicht, er übernimmt den bis $CAT alles in die url vielleicht in eine Variable zwischenspeichern ... oder muss ich das alles in eine *.sh Datei auslagern ?

Bilder

Multistorm

(Themenstarter)
Avatar von Multistorm

Anmeldungsdatum:
9. September 2016

Beiträge: 12

Wohnort: Berlin

so habe jetzt nochmal versucht das ganze in ein SH Script zu stecken

1
/usr/bin/chromium-browser --noerrdialogs --disable-session-crashed-bubble --disable-infobars --kiosk https://meinewebseite.de/pinews.html?$(cat /proc/cpuinfo | grep Serial | cut -d' ' -f2)

habe in anschluss das Script ausfürbar gemacht mit

1
chmod +x autostart.sh 

und gestartet

1
./autostart.sh

und bekomme folgende fehlermeldung :

1
2
pi@raspberrypi:~/Scripts $ ./autostart.sh 
[8602:8602:0909/112408:ERROR:browser_main_loop.cc(271)] Gtk: cannot open display: 

ich schätze mal das liegt daran das das über die Konsole läuft !?!?!?

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17621

Wohnort: Berlin

Meine CPU hat keine Serial, deswegen habe ich es mit vendor_id versucht, wobei mir schon auffiel, dass vendor_id, wie auch sonstige CPU-Infos, bei mir klein geschrieben werden.

Natürlich gibt es keine solche Seite bei mir, aber es wird ein Tab mit der Adresse im ohnehin offenen Browser geöffnet.

In der Desktopdatei selbst habe ich es nicht probiert. Dass diese nicht selbst Shellsyntax auswertet war zu erwarten, womöglich klappt es, wenn man einen Shellinterpreter aufruft:

1
Exec=/bin/bash -c "/usr/bin/chromium-browser https://meinewebseite.de/pinews.html?$(cat /proc/cpuinfo | grep Serial | cut -d' ' -f2)" 

(andere Optionen wg. Kürze=Würze weggelassen).

Leider sind Autostartskripte aufwendig zu testen und meine Einträge bei ~/.config/autostart haben auch keine elaborierten Exec-Zeilen, an denen man sich orientieren könnte.

Da Du die Seriennummer nicht von Hand eintragen willst nehme ich an, dass Du mehr als ein Gerät betreust. Hier wären ja auch andere Tricks möglich, etwa ein symbolischer Link auf eine Datei, die dynamisch erzeugt wird, ein Skript das in Skeleton erzeugt wird, eine dynamisch erzeugte desktop-Datei oder was auch immer. Dazu müsste man mehr über die Zahl der Geräte und den Setupprozess wissen.

ich schätze mal das liegt daran das das über die Konsole läuft !?!?!?

Dein Test läuft über Konsole? Tja - wieso lässt Du ihn dann über Konsole laufen? Wie soll es denn im richtigen Betrieb laufen?

Das in .config/autostart läuft ja erst, wenn man sich grafisch eingeloggt hat.

Antworten |