* Uofficiel Black/White liste V3
|
Raspberry Pi OS - Sleep command i autostartAf Junior Supporter TLW | 05-08-2024 13:04 | 1190 visninger | 16 svar, hop til seneste
Hej.
Nogen Linux/Raspberry eksperter her? Jeg sidder med en Raspberry som skal vise en hjemmeside, i Chromium, som infoskærm. Den må ikke køre i inprivate pga. den smider config til infosiden hvis den gør.
Problemet er, at hvis hjemmesiden starter før Wifi forbinder, så ser nogle af billeder "tomme" ud. Enter som sort skærm eller som tomt billede.
Jeg har forsøgt at få den til at vente 30 sek. med at starte Chrome, men enten så starter det aldrig eller også starter det med det samme.
I min autostart fil har jeg forsøgt med:
@chromium-browser --incognito --noerrdialogs –noerrors--disable-infobars --disable-session-crashed-bubble –start-fullscreen HTTPS://min-web-side[...]
Dette er normal start.
og
@reboot sleep 30 && @chromium-browser --incognito --noerrdialogs –noerrors--disable-infobars --hide-crash-restore-bubble –start-fullscreen HTTPS://min-web-side[...]
Starter ingen ting.
@reboot sleep 30
@chromium-browser --incognito --noerrdialogs –noerrors--disable-infobars --hide-crash-restore-bubble –start-fullscreen HTTPS://min-web-side[...]
Starter ingen ting.
reboot sleep 30
@chromium-browser --incognito --noerrdialogs –noerrors--disable-infobars --hide-crash-restore-bubble –start-fullscreen HTTPS://min-web-side[...]
Starter lige så hurtigt som normalt.
Jeg har ikke rodet med Linux eller Raspberry OS så jeg kan ikke selv finde fejlen. Resten af filen ser sådan ud: (chromium står til sidst i filen).
@xset s noblank
@xset s off
@xset -dpms
@unclutter -idle 0
--
He who runs today. Lives to run another day! - Red Dwarf
Tag en snak med ChatGPT, så skal du nok finde en løsning på det trivielle problem.
Vel noget ala dette du søger?
https://chatgpt.com[...] -- 7950X3D|Crosshair X670E Hero|64GB RAM
ASUS4090STRIX-OC|PG279Q
980 PRO 2TB|970 EVO+ 2TB|Samsung 860 PRO 2TB
2xSamsung860 QVO 2TB|Corsair AX1600i #1 Jo. Det ser rigtigt ud. Men det kan jeg vel ikke skrive ind i autostart ?
Jeg skal så oprette en fil og få den til at køre i autostart, ikke? -- He who runs today. Lives to run another day! - Red Dwarf Du skal hverken bruge cron eller systemd til formålet, da de som udgangspunkt er beregnet til baggrunds-tjenester. Prøv metoden beskrevet i første svar her: https://forums.raspberrypi.com[...] -- http://xlinx.dk[...] i7 2600K, 16GB PC3-12800, GA-Z68XP-UD4 R1, GTX 560Ti HAWK, 250GB 840 EVO --
Sidst redigeret 05-08-2024 13:45 Jeg er totalt noob til det her. :(
Det er en løsning som skal genbruges på flere maskiner og til flere skærme, så jeg forsøger at fremstille en vejledning til det.
Jeg fik først autorun til at køre ved at ændre det fra Wayland til X11.
(Sudo raspi-config og tryk enter. I den nye menu vælges der ”AdvancedOptions” -> Wayland. Sæt den derefter til X11 og tryk OK.)
Men findes der en RUN på Raspberry ligesom på Windows? Så kan man vel køre det via. det? Jeg ved ikke hvad bedste løsning vil være. Det skal bare virke :)
Men hvis jeg opretter en fil som den loader ved opstart som kigger om der er forbindelse, så forhinder det vel ikke autostart i at køre det som ligger i den INDEN det første script melder tilbage? -- He who runs today. Lives to run another day! - Red Dwarf #6. Men det er vel lige efter den guide slutter, at jeg er nu?
Jeg skal have den til (i autostart filen):
@unclutter -idle 0
VENTE PÅ NETVÆRK
@chromium-browser bla bla bla.
Som jeg har forstået det, så betyder @ i starten, at den genstarter Chrome hvis det går ned, så den funktion skulle helst blive.
Undskyld hvis jeg er lidt langsom, men jeg er totalt noob her. :) -- He who runs today. Lives to run another day! - Red Dwarf Hvis du kan få chromium til at åbne som ønsket, så kan du lave et lille script, som pinger netværket, indtil der er hul igennem, inden det starter chromium.
------
#!/bin/bash
ping -c 2 -w 60 google.com
if [ $? -eq 0 ]; then
chromium-browser --incognito --noerrdialogs –noerrors--disable-infobars --hide-crash-restore-bubble –start-fullscreen https://noget[...]
fi
------
Scriptet ovenfor pinger "google.com" (det ville være smart at pinge det domæne, du vil have fat i med chromium) i 60 sekunder, og når der er svaret 2 gange, så startes chromium. Kommer der ikke 2 svar i løbet af 60 sekunder, så afsluttes scriptet uden at starte chromium. -- http://xlinx.dk[...] i7 2600K, 16GB PC3-12800, GA-Z68XP-UD4 R1, GTX 560Ti HAWK, 250GB 840 EVO --
Sidst redigeret 05-08-2024 15:39 Prøv med en systemd user service, som jeg skrev før. Systemd er designet til at håndtere services og deres dependencies (og meget mere), så gør brug af Systemd.
I øvrigt, lad være med at følge råd om at gå tilbage til Xorg, hvis det ikke er nødvendigt - Xorg er ved at blive udfaset, så vælg en løsning, der er agnostisk eller Wayland-orienteret.
Jeg har lige testet dette med min Ubuntu, og Chromium (snap) starter, når jeg logger ind:
1. Opret en user systemd service mappe
mkdir -p ~/.config/systemd/user
2. Opret en Chromium systemd service unit fil
cat <<EOL > ~/.config/systemd/user/chromium.service
[Unit]
Description=Start Chromium after desktop session and network are up
After=graphical-session.target network-online.target
Wants=graphical-session.target network-online.target
PartOf=graphical-session.target
[Service]
ExecStart=/snap/bin/chromium # Ret til din chromium path og dine argumenter
Restart=on-failure
[Install]
WantedBy=default.target
EOL
Gør dig en tjeneste og forstå, hvad network.online helt præcist betyder: https://systemd.io[...] det er ikke sikkert det er godt nok i dit tilfælde, det kan være at du skal tilføje noget ala, dette, for at tjekke om der er internet forbindelse og ikke bare om "netværket er oppe", hvis network-online.target ikke er godt nok:
[Service]
ExecStartPre=/bin/sh -c 'until ping -c1 hardwareonline.dk; do sleep 1; done;' # Ikke testet, mest bare for at vise dig konceptet
3. Enable Chromium servicen
systemctl --user daemon-reload # Gør dette hver gang du ændre service unit filen.
systemctl --user enable chromium.service
4. Tjek at servicen kan starte
systemctl --user start chromium.service # Start Chromium manualt for at tjekke om servicen virker.
5. Genstart
sudo reboot
-- https://twitter.com[...]
https://linuxmint.com[...] - Få dit privatliv tilbage.
https://cinnamon-spices.linuxmint.com[...] --
Sidst redigeret 05-08-2024 16:03 Hvad med en mere simpel løsning.
En simpel html/javascript side der redirecter til den rette side efter de 30 sekunder ?
https://stackoverflow.com[...]
Du behøver ikke en webserver eller andet, blot pege browseren ned på dine lokale filer.
autowait.html +js -> 30 sek -> ditflottesite.nu
Dermed er du fri af alt det komplekse. En del af de andre løsninger vil virke, men denne her er meget simpel og ligetil. -- Tak for de gode forslag. Min hjerne er vist ved at stå af for det virker bare ikke for mig :(
Men en kollega er tilbage fra ferie på mandag og han kan måske dumme det ned på mit niveau.
Jeg opdatere tråden når han har kigget med. -- He who runs today. Lives to run another day! - Red Dwarf Det kan løses let med bash. Herefter køre du en crontab hvert minut: * * * * * /bin/bash /path/to/script.sh.
Scriptet forsøger at ping Google, er den på nettet, undersøger dem der er en tidligere pid fil. Er der ingen, åbner din browser. Ellers afbrydes scriptet fordi hvis der er en fil, indikere det at scriptet allerede køre :)
#!/bin/bash
#VARIABLES
pid="/root/pid.script"
#PROGRAM
if [ ping -c 1 -W 1 -q google.com ]; then
if [ ! -f $pid ]; then
touch $pid
chromium-browser --incognito --noerrdialogs –noerrors--disable-infobars --hide-crash-restore-bubble –start-fullscreen https://noget[...]
else
echo "Script køre / pid fil eksistere: $pid"
fi
else
echo "Ingen Internetadgang"
fi -- Sidst redigeret 06-08-2024 15:56 Jeg tror at vi har fundet en løsning med at oprette en fil som kører sleep 30 før chromium startes. Jeg skal nok opdatere tråden når jeg har fået testet det.
#9. Ved du hvordan jeg kan blive på Wayland og stadig få autostart til at køre?
(Sender lige en PM i tilfælde af, at du ikke ser tråden :) ) -- He who runs today. Lives to run another day! - Red Dwarf En sluttelig opdatering på tråden. Jeg fik det til at virke, dog stadig som X11 i stedet for Wayland.
Det er helt sikkert ikke smukt, men det virker.
Jeg har fremstillet denne lille hurtige vejledning hvis andre skulle sidde med samme prob.
Bemærk at ”FindDinEgen” brugeren skal skrives ind med det brugnavn du selv vælger :)
Download Raspberry Pi Imager på en Windows pc og start det.
Vælg Raspberry Pi 5 – Raspberry Pi OS (64-bit) – ”SDkortet”.Og tryk på ”next”.
(Jeg satte en bruger ind ”FindDinEgen” med pass "FindDitEgetPass" samtvalgte DK. Jeg skrev også "NavnPåWiFi" i wireless samt satte den til DK i Country,
DK i ”Wireless LAN country).
Når image er på sdkortet så sæt det i Pi’en og start den op.Følg vejledningen indtil desktop vises.
(Husk at vælge et Wifi net eller sætte netstik i).
Åbn terminalvinduet (Ctrl+Alt+T) og skriv:
Sudo raspi-config og tryk enter. I den nye menu vælges der ”AdvancedOptions” -> Wayland. Sæt den derefter til X11 og tryk OK.
Vælg dernæst ”System Options” ->”Hostname”. Skriv navnetind. F.eks. raspInforServer27.
Vælg ”Localisation Options” ->”Locale”. Scrool ned til ”da_DK.UTF-8UTF-8” og tryk SPACE for at sætte en stjerne. Tryk så Enter og pil op til den
røde markering er på ”da_DK.UTF-8” og tryk Enter.
Tap ned på ”Finish” og tryk Enter. Svar Ja til at genstarte.
Efter genstart åbn terminalvinduet igen og skriv:
sudo apt-get purge firefox -y (fjerner Firefox).
Sudo apt install unclutter -y && Sudo apt install chromium-browser-y && Sudo reboot og tryk enter.
Start terminalvinduet igen efter genstart og skriv:
Sudo apt update && Sudo apt full-upgrade -y &&Sudo reboot og tryk enter.
Efter reboot, så åbn Chrome og tryk på de 3 prikker og vælg ”Indstillinger”-> ”Indstillinger” -> ”Ved opstart”. Sæt den til ”Åbn en bestemt side
eller en rækker sider”. Luk så Chrome.
Sæt så resten ved igen at åbne terminalvinduet og skriv:
”sudo nano /etc/xdg/lxsession/LXDE-pi/autostart”. (LXDE skal skrives med
stort).
Sæt dette ind: (Linjer med # behøves ikke skrives ind).
# xset is a utility for setting user preferences for X (thewindow system)
# disables the screen saver feature that blanks the screen:
@xset s noblank
# turns off the screen saver, ensuring the screen doesn'tget blanked after a period of inactivity:
@xset s off
# disables DPMS (Display Power Management Signaling),preventing the monitor from entering standby,
# suspend, or off modes automatically:
@xset -dpms
# use unclutter to hide the cursor:
@unclutter -idle 0
/home/FindDinEgen/bin/sleep.sh
Tryk på CTRL+x og vælg J og enter for at gemme.
-----------------------------------------------------------------------------------------------
Åbn stifinder og opret mappen bin her: /home/FindDinEgen
Opret en fil ved navn sleep.sh
Åbn filen ved at dobbelklikke og vælge åbn.
Skriv dette ind i filen:
#!/bin/bash
sleep 40
chromium-browser --noerrdialogs --noerrors--hide-crash-restore-bubble --disable-infobars --start-fullscreen HTTPS://DINWEBSIDE[...]
Gem filen og start terminalvinduet.
Skriv chmod 775 /home/FindDinEgen/bin/sleep.sh og tryk enter.
Når den starter op, vil den starte browseren efter 30sekunder og vise startskærmen til den hjemmeside du har skrevet ind. Dette gør, at den får
netværk inden browser startes. Ellers bliver visningen ikke rigtig.
-----------------------------------------------------------------------------------------------
For at opdatere og genstarte hver nat k.5, så åbnterminalvinduet og skriv:
sudo nano /etc/crontab og tryk enter.
Gå til nederste # og ryk det en linje ned og skriv lige overdet:
* 5 * * * FindDinEgen sudo apt update && sudo aptfull-upgrade -y && sudo reboot
Tryk CTRL+X, tryk J og enter.
Skriv sudo reboot og tryk enter. -- He who runs today. Lives to run another day! - Red Dwarf #15 Jeg kan anbefale at du benytter dig af Electron en anden gang og benytter dig af pm2 til overvågning af processen. --
Grundet øget spam aktivitet fra gæstebrugere, er det desværre ikke længere muligt, at oprette svar som gæst.
Hvis du ønsker at deltage i debatten, skal du oprette en brugerprofil.
Opret bruger | Login
|
Du skal være logget ind for at tilmelde dig nyhedsbrev.
Hvilken udbyder har du til internet? 438 personer har stemt - Mit energiselskab (Ewii f.eks) 12%
|
|
|