Hur du får en högupplöst och aktuell bild av jorden som en bakgrundsbild
Vad sägs om en aktuell och högupplöst satellitbild av vår egen planet som bakgrundsbild på ditt skrivbord? Det är möjligt med programmet himawaripy. Bilderna tillhandahålls av den japanska vädersatelliten Himawari 8 och fördröjningen är imponerande nog bara upp till tio minuter lång.
Du kan välja mellan olika upplösningar, vilket är omnämnt i abstrakta grader av kvalitet. Du kan välja mellan värdena 4, 8, 16 och 20. Det finns ingen manual att tillgå, men jag testade alla värden och kom fram till följande när jorden var synlig till 90%:
Kvalitet | Upplösning (pixlar) | Filstorlek |
---|---|---|
4 | 2200 x 2200 | 5.83 MB |
8 | 4400 x 4400 | 21.8 MB |
16 | 8800 x 8800 | 79 MB |
20 | 11000 x 11000 | 126 MB |
Ju högre kvalitet du använder dig av ju mer minne använder sig programmet av. När jag testade himawaripy använde den cirka 40 MB minne med en kvalitet på 4 och cirka 650 MB minne med kvalitet på 20.
En—enligt mig—smått förvirrande sak är att de på hemsidan nämner olika skrivbordsmiljöer som det finns stöd för och att att alla som inte nämns finns det inget stöd för. Vilket inte riktigt sant, då det bara handlar om en bild. Det är självklart att det fungerar i alla miljöer och operativsystem så länge du kan köra Python. Scriptet tillåter till och med att man bara laddar hem bilden som den är.
Installation
Gentoo
Om du använder dig av Gentoo finns paketet tillgängligt i trädet under namnet x11-misc/himawaripy
:
# emerge --ask x11-misc/himawaripy
Debian
Så vitt jag vet finns inte himawaripy i förråden för Debian-familjen, men det går då bra att installera det via Pythons egna pakethanterare:
$ pip3 install --user himawaripy
Flaggan --user
innebär att du installerar programmet som din användare i din egna hemkatalog, isolerat från övriga Python-paket som har installerats via pakethanteraren. Det är inte ett måste, men det kan vara en god idé då det kan skapa problem om man annars blandar paket från två helt olika källor.
Notera också att du först behöver installera pakethanteraren pip
om du inte redan har gjort det:
# apt install python3-pip
Användning
Standardbeteendet för hur man använder himawaripy är:
$ himawaripy -l <kvalitet> --auto-offset
Flaggan -l <kvalitet>
låter dig ange vilken kvalitet du vill använda dig av och --auto-offset
avgör automatiskt vilken tidszon du befinner dig i. Det går också bra att manuellt ange vilken tidszon man befinner sig i med flaggan -o/--offset <ett värde mellan -12 och +10>
.
Om du har en miljö som inte stödjs
Om du har en skrivbordsmiljö som inte stöds, eller om du som jag inte använder en skrivbordsmiljö går det bra att ladda hem bilden och ange den som en bakgrundsbild med valfritt program:
$ himawaripy -l <quality> --dont-change
Hur jag använder himawaripy
Som standard är en del av jorden gömd bakom min smala panel, vilket jag inte gillade, jag skrev därför ett litet script som löser det åt mig. Vad scriptet gör är att det laddar hem bilden, lägger till en svart ram runt bilden med hjälp av imagemagick
och sedan anger den som en bakgrundsbild åt mig med feh
.
#!/bin/bash
dir="$HOME/.cache/himawaripy"
himawaripy -l 4 --auto-offset --dont-change
convert -border 64x64 -bordercolor black $dir/himawari*.png $dir/output.png
feh --bg-max $dir/output.png
Uppdatera bilden automatiskt med cron
För att bakgrundsbilden alltid ska vara aktuell kan man schemalägga att scriptet ska köras i en viss tidsintervall med hjälp av verktyget cron, vilket är ett verktyg som låter dig schemalägga kommandon. cron brukar oftast vara inkluderat som standard i de flesta Linuxdistributioner.
Börja med att öppna din konfigurationsfil för cron med kommandot crontab -e
och lägg sedan till den här raden:
*/60 * * * * himawaripy -l <kvalitet> --auto-offset
Jag lade istället till mitt script där:
*/60 * * * * $HOME/Scripts/himawaripy.sh
Värdet */60 * * * *
innebär att cron kommer att köra kommando en gång var 60 minut. Om du vill använda dig av någon annan tidsintervall kan du ta hjälp av webbtjänsten crontab guru om du är osäker på hur syntaxen fungerar.