Laat automatisch een grafisch programma opstarten in Raspbian

About

Laat automatisch een grafisch programma opstarten in Raspbian

Het handige aan Raspbian is dat deze Linux-distributie voor de Raspberry Pi een grafische interface heeft waarin je allerlei zaken kunt gebruiken en instellen, net zoals op je Linux-PC. Maar een Raspberry Pi gebruik je doorgaans niet als desktop-systeem. Na het (al dan niet grafisch) klaarmaken van je project, wil je de Pi gewoon zijn werk laten doen zonder al te veel menselijke inbreng. Kan dat?

Auteur: Koen Vervloesem

Je wilt bijvoorbeeld je zelfgemaakte dashboard bij het opstarten van je Pi automatisch laten opstarten of je wilt automatisch Kodi, Steam Link of een andere grafische toepassing opstarten, zodat je je Pi gewoon in de huiskamer bij je tv kunt plaatsen zonder toetsenbord en muis. Gelukkig is dat eenvoudig te configureren. Je moet het gewenste programma aan het autostart-configuratiebestand van de LXDE-sessie van Raspbian toevoegen. Open het bestand als volgt:

sudo nano /etc/xdg/lxsession/LXDE-pi/autostart

En voeg dan op het einde van dit bestand het programma toe dat je wilt opstarten, bijvoorbeeld:

/usr/bin/steamlink %U

Sla het bestand op met Ctrl+O en sluit nano af met Ctrl+X. Start dan het configuratieprogramma van de Raspberry Pi:

sudo raspi-config

Open het menu ‘3 Boot Options’, ga dan naar ‘B1 Desktop / CLI’ en kies ‘B4 Desktop Autologin’ om ervoor te zorgen dat Raspbian automatisch de desktopomgeving opstart en de gebruiker pi zonder wachtwoord inlogt. Sluit raspi-config daarna af en bevestig dat je de Pi wilt herstarten.

Na de herstart, zou je Pi onmiddellijk na het einde van de opstartsequentie de grafische omgeving met het door jou ingestelde programma moeten opstarten.

Van Raspbian Lite naar Raspbian Desktop en andersom

Als je vaak Raspbian installeert op je Raspberry Pi en dat vooral voor toepassingen doet die geen grafische interface nodig hebben, kies je wellicht voor het image Raspbian Lite. Dat is een minimaal image met alleen commandline programma’s. Maar wat als je dat geïnstalleerd hebt en achteraf toch de desktop wilt installeren? Moet je dan helemaal opnieuw beginnen? Nee, je installeert de extra desktoponderdelen heel eenvoudig:

sudo apt update
sudo apt dist-upgrade
sudo apt install raspberrypi-ui-mods

Daarna ziet je systeem er hetzelfde uit als een ander dat je van een Raspbian Desktop-image geïnstalleerd zou hebben.

Dit werkt ook andersom: als je een Raspbian Desktop-systeem geïnstalleerd hebt, maar achteraf merkt dat je de desktop niet nodig hebt en je ruimte wilt vrijmaken op de microSD-kaart, dan hoef je maar één pakket te verwijderen om van je systeem een Raspbian Lite-systeem zonder de grafische programma’s te maken. Dat gaat als volgt:

sudo apt remove raspberrypi-ui-mods
sudo apt autoremove

Zet svg-bestanden naar png om

Als je wel eens met svg-bestanden werkt (Scalable Vector Graphics) en die naar een bitmapformaat, zoals png (Portable Network Graphics) wilt omzetten, dan heb je zeker al van Inkscape gebruik gemaakt. Maar elke keer het svg-bestand in Inkscape openen, het bestand exporteren naar png-formaat en de afmetingen en bestandsnaam kiezen, dat is wel wat omslachtig.

Gelukkig kun je Inkscape ook op de opdrachtregel aanroepen en het svg-bestand naar een png-bestand met de gewenste afmetingen omzetten:

inkscape -z -e test-inkscape.png -w 1024 -h 1024 test.svg

Daarbij is de optie na -w de gewenste breedte en na -h de gewenste hoogte. Om de beeldverhouding (aspect ratio) van het originele svg-bestand te behouden, moet je zelf de juiste verhouding tussen breedte en hoogte instellen. Inkscape kent geen manier om op de opdrachtregel de beeldverhouding in te stellen.

En zoals altijd zijn er natuurlijk meerdere wegen naar Rome. Zo lukt het ook met ImageMagick, al zijn de ervaringen daarmee in het algemeen minder positief dan met Inkscape:

convert -background none -density 1200 -resize 1024x1024 test.svg test-imagemagick.png

De wat arbitrair ogende optie -density 1200 is nodig, omdat de beeldkwaliteit anders vermindert. Omdat je met deze optie de dpi eerst heel hoog opschaalt, duurt deze conversie redelijk lang. ImageMagick behoudt overigens standaard de originele beeldverhouding.

En dan is er ook nog een specifiek programma om svg-bestanden te verwerken: rsvg-convert, dat deel uitmaakt van de bibliotheek librsvg. Onder Ubuntu installeer je het als volgt:

sudo apt install librsvg2-bin

Daarna zet je je svg-bestand als volgt naar png om:

rsvg-convert -a -w 1024 -h 1024 -o test-rsvg.png test.svg

De optie -a behoudt de beeldverhouding van het originele svg-bestand.

Toegangsrechten voor software

GNOME 3.32 heeft in zijn instellingen een nieuw paneel ‘Toepassingen’ toegevoegd, waarin je van talloze toepassingen de toegangsrechten individueel kunt instellen. Notificaties, browserintegratie, toegang tot bestanden in je persoonlijke map, netwerktoegang, geluid afspelen, toegang tot je microfoon en webcam, je kunt het allemaal per toepassing al dan niet toestaan. Onder andere Ubuntu 19.04 bevat GNOME 3.32.

Voor de meeste toepassingen kan je niet veel aanpassen, behalve de mogelijkheid om notificaties te tonen. De toegangsrechten zijn immers alleen op te leggen als de toepassingen in een soort container draaien, zoals met Flatpak of Snap. Je zult dus vooral van deze nieuwe functionaliteit kunnen profiteren als je veel toepassingen via Flatpak of Snap geïnstalleerd hebt. Onder Ubuntu kun je bijvoorbeeld je geïnstalleerde snaps opvragen met:

snap list

Als je deze dan in het paneel ‘Toepassingen’ van de instellingen van GNOME opzoekt, zie je normaal uitgebreide mogelijkheden om de toegangsrechten in te stellen. Ook krijg je te zien hoeveel opslag de toepassingen gebruiken. Als meer en meer toepassingen in de vorm van een flatpak of snap verspreid worden, krijg je zo meer controle over je toepassingen. Dit is te vergelijken met hoe het nu al op mobiele besturingssystemen is.

Findmnt

Wil je zien welke bestandssystemen aangekoppeld zijn, dan kan je dat opvragen met mount. Maar de uitvoer daarvan is niet zo leesbaar. Een handiger alternatief is findmnt, uit het pakket util-linux dat normaal al standaard geïnstalleerd is. Dat toont de mountpoints standaard in een boomstructuur. Je krijgt ook de oorsprong en het type bestandssysteem te zien, net als de opties waarmee het aangekoppeld is. Allemaal informatie die mount ook toont, maar findmnt toont het net iets overzichtelijker. Op deze manier kan je sneller de informatie vinden die je nodig hebt.

Je kunt ook alleen mountpoints van specifieke types bestandssystemen opvragen:

findmnt -t ext4,btrfs

Of alleen de mountpoints die in je /etc/fstab gedefinieerd zijn:

findmnt -s

Als je uuid’s wilt laten omzetten naar leesbare apparaat bestanden, gebruik je de optie –evaluate:

findmnt -s --evaluate

Je kan ook specifieke kolommen met extra informatie opvragen. Welke kolommen beschikbaar zijn, vind je in de uitvoer van findmnt –help. Zo toon je op de volgende manier achtereenvolgens het doel, de bron, het bestandssysteemtype, het gebruik (in percent) en het label:

findmnt -o TARGET,SOURCE,FSTYPE,USE%,LABEL

Share
May 2024
June 2024
No event found!

Related Topics