• Bygg en internetradio med en gamla dator.

    En gammal laptop behöver inte hamna i elskroten bara för att den inte längre passar som vanlig arbetsdator. Med Debian, Openbox och Firefox ESR går det att bygga om en äldre 32-bitarsdator till en enkel internetradio som startar automatiskt, öppnar en radiosida i kioskläge och spelar upp ljud utan krångel. Här visar vi hur en cirka 15 år gammal Acer Aspire One får nytt liv som resurssnål webbradio – med automatisk inloggning, avstängd skärmblankning, fungerande ljud och Wi-Fi.

    En gammal bärbar dator behöver inte bli elektronikskrot bara för att den inte längre duger som vanlig arbetsdator. Många datorer som inte klarar Windows 11 betraktas i dag som föråldrade, men för enklare uppgifter kan de fortfarande vara fullt användbara. Ett bra exempel är att bygga om en äldre laptop till en internetradio som startar automatiskt, visar en webbsida i helskärm och spelar upp ljud utan att användaren behöver klicka runt i ett vanligt skrivbord.

    I det här projektet används en cirka 15 år gammal Acer Aspire One. Den påminner om den HP Mini 210 som användes i ett tidigare radioprojekt, men har lite mer minne. Båda maskinerna har en 32-bitars Intel Atom-processor, vilket i dag är en begränsning eftersom allt färre Linuxdistributioner stöder 32-bitarsdatorer. Debian är därför ett naturligt val, eftersom Debian 12 fortfarande är ett av de mest användbara alternativen för den här typen av äldre maskiner.

    Den Acer Aspire One som används här hade sannolikt annars hamnat i elskroten. I stället får den ett nytt liv som internetradio.

    Varför inte bara köpa en Raspberry Pi?

    Det är lätt att tänka att en Raspberry Pi vore ett bättre val. Den är liten, strömsnål och modernare. Men kostnaden springer snabbt iväg när man räknar in nätaggregat, minneskort, låda, skärm och eventuellt tangentbord.

    En gammal laptop har redan mycket av detta inbyggt:

    Den har skärm.
    Den har tangentbord.
    Den har ljudutgång.
    Den har lagring.
    Den har nätverksmöjlighet.
    Den har strömförsörjning.

    Just Acer Aspire One har dessutom en inbyggd 10-tumsskärm, vilket gör den väl lämpad som liten radioterminal. Den behöver inte vara snabb. Den behöver bara kunna starta Debian, öppna Firefox och spela ljud från en webbsida.

    Det gör projektet både ekonomiskt och miljömässigt intressant. Man återbrukar befintlig hårdvara i stället för att köpa nytt.

    Målet med installationen

    Målet är att datorn ska fungera som en enkel apparat, inte som en vanlig dator. När man trycker på strömknappen ska systemet starta, logga in automatiskt och öppna radiosidan utan att användaren behöver göra något.

    Startkedjan ser ut så här:

    Debian startar

    Automatisk inloggning på tty1

    startx körs automatiskt

    Openbox startar

    Firefox ESR öppnas i kioskläge

    Internetradion laddas automatiskt

    När allt är klart kan datorn stå i ett kök, en verkstad, en butik, ett väntrum eller ett hobbyrum och fungera som en enkel musik- eller radiospelare. Den behöver inte mus eller tangentbord i vardagen, även om tangentbordet finns där vid behov.

    Varför Debian och Openbox?

    Debian är stabilt, resurssnålt och fungerar bra på äldre datorer. Det är särskilt viktigt när hårdvaran är svag och har en 32-bitarsprocessor.

    Openbox används eftersom det är en lätt fönsterhanterare. För en internetradio behövs inte en fullständig skrivbordsmiljö som GNOME, KDE eller XFCE. Ett vanligt skrivbord drar mer resurser och kan dessutom starta sådant man inte vill ha i en kiosk: paneler, skrivbordsikoner, energisparfunktioner, låsskärmar och popup-rutor.

    För detta projekt behövs egentligen bara:

    Xorg
    Openbox
    Firefox ESR
    ljudstöd
    nätverk

    Genom att hålla systemet enkelt blir det snabbare, stabilare och mindre störande.

    Installera grundpaketen

    Börja med att installera de paket som behövs:

    sudo apt update
    sudo apt install xorg xinit openbox firefox-esr
    

    Om datorn ska använda Wi-Fi är det praktiskt att installera NetworkManager:

    sudo apt install network-manager
    sudo systemctl enable --now NetworkManager
    

    NetworkManager gör att man kan hantera nätverk från terminalen med nmcli.

    Stäng av grafisk inloggning

    Om Debian startar en grafisk inloggningsruta, till exempel LightDM, ska den stängas av. Internetradion ska inte hamna vid en loginruta, utan starta direkt i textläge och sedan själv starta X.

    Stäng av LightDM:

    sudo systemctl disable --now lightdm
    
    
    
    

    För att vara extra säker kan även standard-displaymanagern stängas av:

    sudo systemctl disable --now display-manager
    

    Sätt sedan systemet till textläge som standard:

    sudo systemctl set-default multi-user.target
    

    Kontrollera inställningen:

    systemctl get-default
    

    Det bör visa:

    multi-user.target
    

    Det betyder att datorn startar i textläge och inte försöker öppna en grafisk loginruta.

    Skapa en kiosk-användare

    Om det inte redan finns en särskild användare för radioläget kan man skapa en:

    sudo adduser kiosk
    

    I exemplen används användaren:

    kiosk
    

    Om du använder ett annat användarnamn måste kiosk bytas ut mot rätt namn i kommandona och filvägarna.

    Automatisk inloggning på tty1

    För att datorn ska logga in automatiskt på textkonsolen används systemd-tjänsten getty@tty1.

    Öppna override-filen:

    sudo systemctl edit getty@tty1
    

    Lägg in:

    [Service]
    ExecStart=
    ExecStart=-/sbin/agetty --autologin kiosk --noclear %I $TERM
    

    Ladda sedan om systemd:

    sudo systemctl daemon-reload
    

    Efter nästa omstart loggas användaren kiosk in automatiskt på tty1.

    Starta X automatiskt efter inloggning

    När användaren kiosk loggas in ska X startas automatiskt. Det görs i filen:

    /home/kiosk/.bash_profile
    

    Skapa eller öppna filen:

    sudo -u kiosk nano /home/kiosk/.bash_profile
    

    Lägg in:

    setterm -blank 0 -powerdown 0 -powersave off
    
    if [ -z "$DISPLAY" ] && [ "$(tty)" = "/dev/tty1" ]; then
      startx
    fi
    

    Den första raden stänger av konsolens skärmblankning. Resten gör att startx bara körs på tty1 och bara om ingen grafisk session redan är igång.

    Sätt rätt ägare:

    sudo chown kiosk:kiosk /home/kiosk/.bash_profile
    

    Starta Openbox i stället för XFCE

    För att startx ska starta Openbox skapas filen:

    /home/kiosk/.xinitrc
    

    Öppna den:

    sudo -u kiosk nano /home/kiosk/.xinitrc
    

    Lägg in:

    #!/bin/sh
    
    xset s off
    xset s noblank
    xset -dpms
    
    exec /usr/bin/openbox-session
    

    Gör filen körbar:

    sudo chmod +x /home/kiosk/.xinitrc
    sudo chown kiosk:kiosk /home/kiosk/.xinitrc
    

    Raderna med xset stänger av Xorgs skärmsläckare och DPMS, alltså energisparfunktioner som annars kan göra att skärmen blir svart.

    Starta internetradion automatiskt i Firefox

    Firefox startas från Openbox egen autostart-fil:

    /home/kiosk/.config/openbox/autostart
    

    Skapa katalogen:

    sudo -u kiosk mkdir -p /home/kiosk/.config/openbox
    

    Öppna autostart-filen:

    sudo -u kiosk nano /home/kiosk/.config/openbox/autostart
    

    Lägg in:

    #!/bin/sh
    
    sleep 1
    
    xset s off
    xset s noblank
    xset -dpms
    
    amixer set Master 100% unmute
    amixer set Speaker 100% unmute
    amixer set PCM 100% unmute
    amixer set Headphone 100% unmute
    
    sleep 2
    /usr/bin/firefox-esr --kiosk https://din-radio-sida.se &
    

    Byt ut:

    https://din-radio-sida.se
    

    mot adressen till din egen radiosida.

    Exempel:

    /usr/bin/firefox-esr --kiosk https://radio.televinken.org &
    

    Gör filen körbar:

    sudo chmod +x /home/kiosk/.config/openbox/autostart
    sudo chown -R kiosk:kiosk /home/kiosk/.config
    

    Exempel på enkel radiosida

    En radiosida kan vara en enkel webbsida med knappar för olika stationer, klocka och eventuellt stationsnamn. I exemplet nämns:

    https://radio.televinken.org
    

    Där finns en enkel radiosida med tillhörande klocka för den som vill ha en färdig sida att ladda i Firefox.

    Det är viktigt att tänka på att vissa webbläsare kan blockera automatisk uppspelning. I en kiosk där Firefox använder samma profil varje gång kan man ofta lösa detta genom att först öppna sidan manuellt en gång och tillåta uppspelning. Därefter fungerar uppspelningen ofta automatiskt vid nästa start.

    Sätt ljudvolymen

    För att justera ljudet manuellt används:

    alsamixer
    

    Välj ljudkort med:

    F6
    

    Höj volymen med piltangenterna.

    Om en kanal är mutad visas ofta:

    MM
    

    Tryck M för att slå på den. När den är aktiv visas normalt:

    OO
    

    Volymen kan också sättas direkt med amixer:

    amixer set Master 100% unmute
    amixer set Speaker 100% unmute
    amixer set PCM 100% unmute
    amixer set Headphone 100% unmute
    

    Spara ljudnivån:

    sudo alsactl store
    

    Eftersom samma kommandon också ligger i Openbox autostart sätts volymen automatiskt vid varje start.

    Stäng av skärmblankning helt

    Ett vanligt problem är att skärmen blir svart efter en stund, även om datorn inte går ner i viloläge. Då handlar det ofta om skärmblankning, inte om att systemet stängs av.

    Inställningarna i .bash_profile, .xinitrc och Openbox autostart hjälper, men ibland behöver även Linux-konsolens blanking stängas av via GRUB.

    Öppna:

    sudo nano /etc/default/grub
    

    Leta upp raden:

    GRUB_CMDLINE_LINUX_DEFAULT="quiet"
    

    Ändra till:

    GRUB_CMDLINE_LINUX_DEFAULT="quiet consoleblank=0"
    

    Om raden redan innehåller andra parametrar lägger du bara till:

    consoleblank=0
    

    Uppdatera GRUB:

    sudo update-grub
    sudo reboot
    

    Efter omstart kan du kontrollera X-inställningarna med:

    DISPLAY=:0 xset q
    

    Du vill se:

    Screen Saver:
      timeout:  0
    

    och:

    DPMS is Disabled
    

    Det visar att Xorgs skärmsläckare och energisparläge är avstängda.

    Konfigurera Wi-Fi

    Om datorn använder Wi-Fi kan nätverket ställas in med nmcli.

    Lista nätverkskort:

    nmcli device
    

    Starta Wi-Fi:

    nmcli radio wifi on
    

    Lista tillgängliga nät:

    nmcli device wifi list
    

    Anslut till nätverket:

    sudo nmcli device wifi connect "DITT_WIFI_NAMN" password "DITT_WIFI_LÖSENORD"
    

    Exempel:

    sudo nmcli device wifi connect "MittWifi" password "hemligtlösenord"
    

    Kontrollera anslutningen:

    ping -c 4 8.8.8.8
    ping -c 4 linux.se
    

    Om båda fungerar har datorn både internetkontakt och fungerande DNS.

    Broadcom BCM4312 och äldre Wi-Fi-kort

    På äldre datorer kan Wi-Fi-kortet kräva extra firmware. I exemplet användes ett Broadcom-kort:

    Broadcom BCM4312 802.11b/g LP-PHY [14e4:4315]
    

    För att få det att fungera behövdes rätt paketkällor i Debian.

    Filen:

    /etc/apt/sources.list
    

    kan exempelvis innehålla:

    deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
    deb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
    deb http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
    

    Uppdatera paketlistan:

    sudo apt clean
    sudo rm -rf /var/lib/apt/lists/*
    sudo apt update
    

    Sök efter b43-paket:

    apt-cache search b43
    

    Installera firmware:

    sudo apt install firmware-b43-installer b43-fwcutter
    sudo reboot
    

    Efter omstart bör Wi-Fi-kortet synas med:

    ip link
    iw dev
    nmcli device
    

    Ta bort låsskärm och störande skrivbordskomponenter

    Om systemet tidigare körde XFCE kan det finnas kvar komponenter som låser skärmen eller släcker bildskärmen. För en ren kiosk ska sådant bort.

    Ta bort vanliga lås- och energisparpaket:

    sudo apt remove light-locker xfce4-power-manager xfce4-screensaver gnome-screensaver
    

    Kontrollera att de inte körs:

    ps ax | egrep 'locker|screensaver|power|xfce|lightdm'
    

    För en ren kiosk vill man inte se processer som:

    lightdm
    xfce4-session
    xfce4-panel
    xfdesktop
    light-locker
    xfce4-power-manager
    

    Kontrollera att rätt system körs

    Efter omstart kan du kontrollera processerna:

    ps ax | egrep 'Xorg|openbox|firefox|xfce|lightdm'
    

    Du vill se ungefär:

    Xorg
    openbox
    firefox-esr
    

    Du vill inte se:

    lightdm
    xfce4-session
    xfce4-panel
    xfdesktop
    

    Det visar att systemet verkligen kör den lätta kioskvarianten och inte ett helt skrivbord i bakgrunden.

    Färdig konfiguration

    Den färdiga lösningen bygger framför allt på tre filer.

    /home/kiosk/.bash_profile

    setterm -blank 0 -powerdown 0 -powersave off
    
    if [ -z "$DISPLAY" ] && [ "$(tty)" = "/dev/tty1" ]; then
      startx
    fi
    

    Denna fil stänger av konsolblankning och startar X automatiskt när användaren kiosk loggas in på tty1.

    /home/kiosk/.xinitrc

    #!/bin/sh
    
    xset s off
    xset s noblank
    xset -dpms
    
    exec /usr/bin/openbox-session
    

    Denna fil stänger av Xorgs skärmsläckare och startar Openbox.

    /home/kiosk/.config/openbox/autostart

    #!/bin/sh
    
    sleep 1
    
    xset s off
    xset s noblank
    xset -dpms
    
    amixer set Master 100% unmute
    amixer set Speaker 100% unmute
    amixer set PCM 100% unmute
    amixer set Headphone 100% unmute
    
    sleep 2
    /usr/bin/firefox-esr --kiosk https://din-radio-sida.se &
    

    Denna fil sätter ljudvolymen och startar Firefox ESR i kioskläge med radiosidan.

    Fördelar med lösningen

    Den här typen av internetradio har flera fördelar.

    Den kan köras på äldre datorer som annars hade kasserats.

    Den kräver ingen tung skrivbordsmiljö.

    Den startar automatiskt efter strömavbrott.

    Den kan styras via en webbsida.

    Den kan visa klocka, kanalnamn, volym, logotyp eller annan information.

    Den kan användas både hemma och i offentliga miljöer.

    Den ger gammal hårdvara ett nytt användningsområde.

    Det är också en lösning som är lätt att bygga vidare på. Radiosidan kan utvecklas med fler stationer, större knappar, tangentbordsstyrning, fjärrstyrning eller anpassning för pekskärm.

    Nackdelar och begränsningar

    Användarvänligheten under installationen är inte på topp. Man behöver kunna arbeta i terminalen, redigera konfigurationsfiler och ibland logga in via SSH.

    Wi-Fi måste ofta ställas in manuellt, särskilt på äldre datorer med ovanliga nätverkskort. Ljudet kan också kräva felsökning, särskilt om flera ljudkanaler är mutade eller om fel ljudkort är valt.

    Det är alltså inte en färdig konsumentprodukt. Det är ett praktiskt Linuxprojekt för den som vill återbruka gammal hårdvara och själv har kontroll över systemet.

    När installationen väl är klar blir däremot användningen enkel: slå på datorn och låt radion starta.

    En gammaSl dator blir en ny apparat

    Det mest intressanta med projektet är kanske inte själva webbradion, utan hur datorns roll förändras. Den gamla laptopen används inte längre som en allmän dator. Den får en enda tydlig uppgift.

    Det är ofta så äldre teknik kan räddas från skroten. Man ska inte fråga om datorn klarar allt en modern dator klarar. Man ska fråga vilken begränsad uppgift den fortfarande klarar bra.

    En 15 år gammal Acer Aspire One är långsam som modern arbetsdator. Men som internetradio med Debian, Openbox och Firefox ESR är den fullt användbar.

    Sammanfattning

    Med Debian, Openbox och Firefox ESR går det att bygga en enkel och stabil internetradio av en vanlig äldre laptop. Systemet startar automatiskt, loggar in utan manuell åtgärd, öppnar Firefox i kioskläge och visar radiosidan direkt.

    Den viktigaste principen är att undvika en komplett skrivbordsmiljö och i stället använda en lätt kedja:

    tty1 autologin
    → startx
    → Openbox
    → Firefox kiosk
    → webbradio

    Resultatet blir en resurssnål internetradio som passar särskilt bra för äldre datorer, informationsskärmar, kök, verkstäder, butiker och andra platser där man vill ha en enkel ljudspelare som bara fungerar när datorn startas.

    Det här är återbruk när det är som bäst: en dator som annars hade setts som skrot får ett nytt, konkret och användbart liv.

    Slutord: vad behövs för att bygga internetradion?

    För att genomföra det här gör-det-själv-projektet behöver du en dator, helst en x86-baserad maskin och gärna en laptop. Den behöver inte vara modern. Även en äldre 32-bitarsdator kan fungera, vilket Acer Aspire One i den här artikeln visar.

    Du behöver också ladda ner Debian och skapa ett installationsmedium på ett USB-minne. Tänk på att en installation av Debian normalt raderar det som finns på hårddisken om du väljer att använda hela disken. Gör därför alltid backup på filer du vill spara innan du börjar.

    Det underlättar mycket om datorn kan anslutas med nätverkskabel via Ethernet under installationen. Då slipper du börja med att felsöka Wi-Fi och eventuell firmware innan grundsystemet är på plats.

    Ett praktiskt sätt är att installera Debian med XFCE, SSH-server och grundsystemet. Även om slutmålet är en lätt kiosk med Openbox och Firefox ESR är det ofta enklare att först få ett fungerande system och sedan skala bort det som inte behövs. XFCE kan alltså användas som startpunkt, men i den färdiga lösningen är det Openbox som tar över som lätt fönsterhanterare.

    På den Acer Aspire One som används i artikeln körs Firefox ESR i kioskläge utan att systemet blir orimligt tungt. Vid drift ligger den totala minnesanvändningen på cirka 688 MB internminne. Det visar att även en äldre netbook kan räcka långt när operativsystemet hålls enkelt och bara får en tydlig uppgift.

    Radiosidan behöver inte heller nödvändigtvis laddas från internet. Vill man göra lösningen mer fristående kan man installera Apache på samma dator och låta radiosidan ligga lokalt. Då kan datorn själv visa sin webbradio-sida via den lokala webbservern, samtidigt som ljudströmmarna fortfarande kan hämtas från internet.

    Mer information om Debian finns på:

    https://wiki.linux.se/Debian

    Med andra ord: en gammal laptop, ett USB-minne, Debian, lite tålamod och grundläggande terminalvana räcker långt. Resultatet blir en enkel internetradio som både återbrukar gammal hårdvara och visar hur flexibel en lätt Linuxinstallation kan vara.

    Teknisk faktaruta: Internetradio med Debian, Openbox och Firefox

    Den här lösningen bygger om en äldre bärbar dator till en enkel internetradio som startar automatiskt, loggar in utan handpåläggning och öppnar en radiosida i Firefox ESR:s kioskläge.

    Exempelmaskin Acer Aspire One, cirka 15 år gammal
    Processor 32-bitars Intel Atom
    Skärm Inbyggd 10-tumsskärm
    Operativsystem Debian 12 / Bookworm
    Grafikmiljö Xorg + Openbox
    Webbläsare Firefox ESR i kioskläge
    Startmetod Automatisk inloggning på tty1 via systemd/getty
    X-start startx körs från /home/kiosk/.bash_profile
    Autostart Firefox startas från /home/kiosk/.config/openbox/autostart
    Ljudhantering ALSA, alsamixer, amixer och alsactl
    Wi-Fi-verktyg NetworkManager och nmcli
    Exempel på Wi-Fi-kort Broadcom BCM4312 802.11b/g LP-PHY [14e4:4315]
    Firmwarepaket firmware-b43-installer och b43-fwcutter
    Skärmblankning Stängs av med setterm, xset och consoleblank=0 i GRUB
    Typisk användning Kök, verkstad, butik, väntrum, hobbyrum eller informationsskärm med ljud

    Startkedjan är: Debian → automatisk tty1-inloggning → startx → Openbox → Firefox ESR i kioskläge → webbradio.

Etikett: skärmblankning

  • Bygg en internetradio med en gamla dator.

    En gammal laptop behöver inte hamna i elskroten bara för att den inte längre passar som vanlig arbetsdator. Med Debian, Openbox och Firefox ESR går det att bygga om en äldre 32-bitarsdator till en enkel internetradio som startar automatiskt, öppnar en radiosida i kioskläge och spelar upp ljud utan krångel. Här visar vi hur en…