Linux blog, ervaringen met en tips over Linux
In deze blog hou ik bij welke vermeldenswaardige dingen ik tegen gekomen ben bij het gebruik van Linux op desktops en laptops. Op 23 juni 2021 ben ik overgestapt van Windows 10 naar Linux. Ik heb toen gekozen voor Linux Mint Cinnamon en daar heb ik nog geen dag spijt van gehad. Later hebben wij onze laptops van (alleen maar) Linux Mint voorzien en ook daar zijn alleen maar blije gezichten. Ik had destijds relatief weinig ervaring met Linux, dus kwam ik dingen tegen die ik niet begreep of die "anders waren dan in Windows" en soms moest ik zelfs kleine probleempjes (het lijkt net Windows ;o) oplossen. Al dit soort beginnerszaken deel ik in dit blog. Vooral voor diegene die ook maar net begonnen zijn met Linux kunnen hier waardevolle informatie vinden.
Ik heb enorm veel ervaring met computers, dat startte reeds ergens eind jaren 70, maar Linux is voor mij relatief nieuw. Het kan dus best zijn dat mijn kennis soms niet voldoende is en dat ik onbedoeld iets verkeerds opschrijf of dat ik zonder het te weten niet volledig ben. Maar mijn Linux kennis bouw ik nog iedere dag uit en verwerk ik in dit blog. Voor mij werken in ieder geval onderstaande tips. Ik meen dus zeker niet alle kennis van Linux in pacht te hebben, verre van dat zelfs, ik leer nog iedere dag. Heb je waardevolle aanvullingen of verbeteringen? Ik hoor het graag van je.
Superkey - Supertoets?
In de linux-wereld wordt de "windows-toets" de "superkey" genoemd. Soms lees je "superkey-left" of "superkey-right", daarmee bedoelen ze de windows-toets aan de linker of rechterzijde van het toetsenbord. Wil je het menusysteem openen, dan druk je op de "supertoets".
Commando's uitvoeren "met de terminal"
In de beginjaren van de computer werden nog geen computermuizen gebruikt. In 1983 paste Apple voor het eerst een muis toe en pas na circa 1985 begon het gebruik van de muis bij een computer -voorzichtig- toe te nemen. Daarnaast was, begin jaren 80, het gebruikt van grafisch vormgegeven programma's met knopjes, schuifjes en plaatjes technisch gezien onmogelijk. De hardware in de computers kon alleen letters, cijfers en een beperkt aantal speciale symbolen op een scherm weergeven. Voor grafische zaken als tekeningen en foto's was de hardware gewoonweg niet toereikend.
Als je de computer startte dan kreeg je, na lang wachten, een leeg scherm voor je neus en een zogenaamde "opdrachtprompt". De opdrachtprompt die op je scherm verscheen was een teken (een aantal symbolen) waardoor je wist dat de computer voor jou beschikbaar was en dat je "één commando" kon invoeren en laten uitvoeren.
Wilde je de inhoud van een directory zien, dan moest je daarvoor een speciaal commando intypen. Wilde je naar een andere directory toe, dan moest je een ander commando invoeren waardoor het besturingssysteem begreep dat je naar een andere directory wilde. Wilde je een programma starten, dan moest je de naam van het programma intypen en dan op enter drukken.
Tegenwoordig is dat totaal anders. Alle programma's zijn grafisch vormgegeven en zijn met een computermuis te bedienen. Zo ook bij Linux computers, de programma's zien er het zelfde uit als op Windows en kan je met een muis bedienen. Maar er zijn een paar uitzonderingen, in die gevallen moet je de computer bedienen zoals dat "in de oertijd" ging. Het bedienen van een Linux computer "vanaf de commandprompt" wordt gedaan via een programma dat "terminal" heet. Technisch gezien is het een terminal emulator, het doet net na alsof je achter een terminal zit.
De terminal start je met toetscombinatie ctrl-alt-t (de t van terminal) maar je kan hem natuurlijk ook in het menu vinden onder >menu >administration >terminal. Zodra de terminal is gestart krijg je een zwart schermpje te zien en de "commandprompt", die prompt heeft (in cinnamon) de vorm van gebruikersnaam@computernaam:directory$ bijvoorbeeld sjaak@laptop:/media/windows$.
Een commando voer je uit "in de shell". De shell is een programma die je commando's leest, controleert en uitvoert. Als je voorbeelden van commando's ziet, in dit artikel maar ook overal op het internet, worden deze op een zeer herkenbare manier getoond door de tekens die je in moet typen te tonen op een grijze achtergrond. Hieronder zie je een voorbeeld commando om er achter te komen welke versie van de shell je draait. Start de terminal met ctrl-alt-t en voer dan onderstaande opdracht uit:
echo $0
Zeer waarschijnlijk krijg je te zien "bash". Je werkt dan met bash, dat is de naam van de shell. Dit is belangrijk te weten omdat je ook met een andere type shell zou kunnen werken en daar zijn bepaalde commando's iets anders of niet beschikbaar. Maar bij de meeste Linux installaties wordt standaard bash geïnstalleerd. Hieronder staat bijvoorbeeld hoe je met het commando "pwd" te zien krijgt in welke directory je je bevindt. Pwd staat in dit geval voor print working directory.
pwd
Wil je bijvoorbeeld de inhoud van de directory /var/log (waar de meeste logs van Linux staan) bekijken dan kan je dit commando gebruiken:
ls /var/log
Bovenstaand laat een "listing" (vandaar de naam "ls") van de directory zien, maar in een "compact" formaat. Wil je meer details dan gebruik je de optie -al bij het commando "ls".
ls -al /var/log
Pas de breedte van het terminal scherm aan om meer informatie op één regel te krijgen.
Omdat het aantal bestanden meer is dan de grootte van je scherm kan je het stukje voor stukje tonen door de inhoud te "pipen" (de output door te sturen) het symbool daarvoor is "|", naar het programma "more".
ls -al /var/log | more
Wil je de inhoud van een bestand zien, bijvoorbeeld syslog, dan kan je gebruik maken van dit commando:
cat /var/log/syslog
Copy & paste naar de terminal
Wil je een commando dat je ergens op het internet vindt copy en pasten naar de terminal dan werkt dat niet (helemaal) met ctrl-c en ctrl-v. Kopieer het commando met ctrl-c en in de terminal moet je (ergens in het scherm, waar maakt niet uit) rechtermuistoets gebruiken en dan kiezen voor paste.
Backslash of forward slash
In Windows zijn we gewend om een backslash te gebruiken, bijvoorbeeld om naar de directory user te gaan typen we in Windows: cd \user. Maar in Linux gebruiken we de forward slash. Naar de root directory gaat dus niet met cd \ maar met cd / en om naar de directory media te gaan (in de root) gebruik je cd /media
Spatie in directory en filenames
Als je in de terminal of in een script een naam wil gebruiken van een directory of filename die een spatie bevat moet je de naam tussen aanhalingstekens. Als voorbeeld: cd /media/windows/"Documents and Settings"
Je kan de spaties ook "escapen" door er een backslash voor te plaatsen zoals in cd /media/windows/Documents\ and\ Settings
Geschiedenis van terminal commando's
Alle commando's die je uitvoert in de terminal worden bewaard. Die commando's kan je bekijken door gebruik te maken (in de terminal natuurlijk) van het "pijltje omhoog". Met pijltje-omhoog en pijltje-omlaag kan je heen en weer in de geschiedenis van commando's kijken. Als je een bepaald commando ziet en dat wil je opnieuw uitvoeren dan hoef je alleen maar op enter te drukken. Ook kan je het commando eerst even aanpassen en dan pas uitvoeren met enter. Een compleet overzicht van de laatste 1000 door je gebruikte commando's kan je zien met het commando history
Hulp bij gebruik van commando's
Weet je niet hoe je een bepaald commando kan gebruiken of ben je niet bekend met alle opties dan kan je het commando intypen met daarachter --help bijvoorbeeld voor ls: ls --help. Je kan ook gebruik maken van de "manual pages", die kan je oproepen door "man " voor het commando te typen zoals de manual pages van ls: man ls
Windows schijf benaderen met read/write in plaats van read-only
Als je Linux "dual-boot" hebt geïnstalleerd op een pc waar ook Windows op staat dan kan je vanuit Linux ook je Windows schijf, noem het je C-schijf, benaderen. Maar wat blijkt, je kan je het alleen maar "lezen", dus "read-only". Daar is een hele goede reden voor. Maar je kan het wijzigen naar "read-write". Lees hier alle details.
Timeshift
Als je wijzigingen gaat aanbrengen aan je systeem dan is het verstandig om eerst een "system restore point" te maken. Dat doe je in Linux met "timeshift". Dat vindt je in je menu. We schrijven dat vanaf nu ">menu". En in het menu staat het onder "administration". Dus schrijven we dit als >menu >administration. De rest van timeshift hoeven we niet uit te leggen, het spreekt volgens ons vanzelf (hint: bekijk settings).
Snel iets vinden in het menusysteem
Hoewel wij consequent zullen opschrijven welk programma je voor een bepaalde taak moet gebruiken en waar je die kan vinden in het menu, is er een snellere manier. Dat is gewoon het menu openen (druk op de supertoets dat gaat wel zo makkelijk) en dan begin je gelijk te typen wat je zoekt. We geven twee voorbeelden: stel je wil het programma "timeshift" starten. Dan open je het menu en typ dan in een t en een i en dan zie je het programma al staan, je kan dan gelijk op enter drukken en timeshift wordt gestart. Wil je libre office calc starten dan is het menu en dan typ je in calc, je ziet dan de calculator staan (die is geselecteerd dus moet je niet op enter drukken), je kan dan met pijltje naar beneden libre office calc selecteren en op enter drukken.
TV kijken NPO start en Ziggogo met Linux
Een van de eerste probleempjes waar we tegen aanliepen was dat we met de webbrowser firefox niet naar NPOstart en Ziggogo konden kijken. We kregen een foutmelding. Uiteindelijk was het makkelijk opgelost, in dit artikel lees je alle details.
Linux updaten
Linux Mint Cinnamon maakt netjes duidelijk dat het tijd is om een update uit te voeren. In je systeemvak staat een schildje met een dikke stip er in. Zonder die stip valt er niets te doen. Met een stip moet (kan) je actie ondernemen. Eén keer klikken en de update manager wordt gestart. Klik daarna op de knop "Install updates" en daarna spreekt eigenlijk alles voor zich. Je kan tijdens het updaten gewoon door blijven werken. In enkele gevallen meldt men dat een reboot benodigd is. Je kan dat negeren als je dagelijks je pc reboot, dan wordt hij morgen wel bijgewerkt, snel genoeg volgens mij.
Vrijwel dagelijks komen er updates beschikbaar, en dus vrijwel dagelijks kan je deze update uitvoeren. Niets moet, alles mag. Het zijn meestal beveiligingsupdates. Het is dus wel slim om dit te doen. Je kan ook overwegen om eens in de week een update uit te voeren. Het is aan jou. Let op: ik kwam er pas later achter dat dit proces alleen de besturingssysteembestanden updatet en de applicaties die meegeleverd zijn in je "distributie", dus niet de applicaties (die niet meegeleverd worden in je distributie). Lees daarover hier meer.
Soms, heel soms, kan een update zorgen dat iets dat eerst wel goed werkte ineens niet meer goed werkt. Geen nood. Met timeshift kan je een alles terugzetten zoals het systeem er gisteren uitzag. Daarna zal je de aangeboden updates niet in één keer moeten installeren, maar stuk voor stuk en kijken welke update het probleem veroorzaakt. Als je daar achter bent, dan kan je met rechtermuistoets die update op de "black list" zetten waardoor hij niet meer je aangeboden wordt.
Andere Linux kernel installeren en activeren
In Linux Mint is het héél simpel om een andere kernel versie te installeren of te activeren. Dat is vooral van toepassing als je nieuwe(re) hardware hebt die in de huidige kernel die standaard meegeleverd wordt nog niet ondersteund wordt. Ga naar >menu >administration >update manager >view >Linux kernels. Je ziet nu aan de linkerzijde verschillende Linux kernel versies staan. Selecteer de laatste (of een andere versie van je voorkeur), je krijgt nu een overzicht welke subversies bestaan van deze kernel, kies er een aan en klik op Install.
Let op: oudere versies van de kernel worden niet verwijderd, dat moet je zelf doen. Hou wel altijd een wat oudere versie achter de hand want als je computer eens een keer niet wil starten of wat dan ook dan kan je terugschakelen naar een oudere versie van de kernel.
Windowgrootte wijzigt als ik op de alt toets druk en met mijn muis beweeg
Als je op de alt-toets drukt en tegelijkertijd je muist beweegt met de linkermuistoets ingedrukt, gebeuren er mogelijk vreemde dingen die je niet verwacht. Zoals het verplaatsen en verkleinen van je window. Dit blijkt een "feature" te zijn die je aan of uit kan zetten in "system settings", "behavior", "moving and resizing windows", "special key to move and resize windows" (cinnamon).
Firefox scrollbar
De breedte van de scrollbar in Firefox is standaard (in Linux) heel smal. Hij wijkt ook af van de scrollbar breedte die je binnen de desktop environment instelt. De oorzaak is daarvan is dat firefox (en wel meerdere applicaties) niet geschreven is voor Cinnamon, maar in een "multiplatform ontwikkeltool" is geschreven. Applicaties die je daarin schrijft maken juist niet van jouw desktop omgeving gebruik (omdat daar vele van bestaan en dan moet de programmeur vele versies onderhouden), maar de multiplatform ontwikkeltool biedt een eigen omgeving aan waarbinnen de applicaties draaien. Dat houdt in dat elementen binnen een window, waarin de applicatie draait, anders er uit (kunnen) zien dan van je eigen desktop environment. Zo dus ook de breedte van de scrollbar. Het is dus eigenlijk een soort desktop environment binnen je een desktop environment. Vandaar dat het aanpassen van de scrollbar breedte met >menu>system. In dit artikel hebben we beschreven hoe je de scrollbarbreedte kan aanpassen.
Linux Mint upgrade 20.2 naar 20.3
Linux Mint brengt twee keer per jaar een upgrade uit van haar software. Eind december 2021 kwam versie 20.3 uit. Op zich hoef je deze upgrade niet uit te voeren. De versie 20.2 wordt nog een aantal jaren ondersteund en onderhouden. We hadden nog nooit een upgrade van Linux Mint meegemaakt, dus alleen daarom al wilde we het meemaken.
De upgrade procedure is hier netjes beschreven. Die hebben we gevolgd en na een aantal minuten was versie 20.3 geïnstalleerd. Bij ons ging alles goed en zijn we achteraf geen problemen tegen gekomen. Dat loopt dus lekker soepeltjes.
CRONJOB - CRONTAB: bepaalde taken automatisch op een bepaald tijdstip laten uitvoeren
Met cronjob / crontab kan je op vaste tijdstippen een taak laten uitvoeren. Het updaten van flatpak applicaties is een prachtig voorbeeld om dat met cronjob te automatiseren. Het programma heet "cronjob". De naam CRON is een acronym van "Command Run ON [een bepaald moment]". Met cronjob kan je een tabel (een bestand) aanpassen waarin de uit te voeren taken staan. Die tabel wordt crontab genoemd (van cron-table).
Je kan cronjob starten met crontab -e (de e staat denken we voor edit). Je werkt dan de crontabel bij (crontab). Maar let op, de commando's worden dan op "user" niveau uitgevoerd. Voor het uitvoeren van applicatie-updates moet dit als root gebeuren. Het commando sudo crontab -e past dit toe met root rechten.
Wij hebben de volgende regel in de crontab toegevoegd (voer het commando "sudo cronjon -e" uit, scroll helemaal naar beneden in dat bestand waarbij veel regels beginnen met # dat staat voor commentaar en wat er achter staat wordt genegeerd) en zet op een nieuwe lege regel:
* 11 * * * flatpak -y update >> ~/cron.log 2>&1
Sla daarna het bestand op met ctrl-x (zie onderste regel van die editor met de naam "nano") en antwoord met "y". Hiermee wordt iedere dag om 11 uur het updaten gestart en de output wordt naar een log gestuurd en daar aan toegevoegd daar zorgt de ">>" voor. De 2>&1 zorgt er voor dat eventuele fouten tijdens het commando ook naar deze log worden toegevoegd. je kan ook gebruiken het @daily commando om het "tijdstip" aan te geven voor het runnen van het commando
@daily flatpak - y update >> ~/cron.log 2>&1
Meer informatie over cron vindt je hier.Meldingen van cron worden in de syslog geschreven en kan je zichtbaar maken met:
grep CRON /var/log/syslog
Het bovenstaande commando kan je lezen als: haal met "grep" het bestand /var/log/syslog op en zoek naar regels die het woord CRON bevatten en laat die (alleen) zien.
Automatisch updaten van applicaties
We kregen bij het starten van sommige applicaties een een melding dat er een nieuwe versie beschikbaar was. Vreemd, worden de applicaties dan niet automatisch geüpdatet? We updaten ons systeem regelmatig door de update manager te starten. Dat is het "schild icoontje" in je systeemvak (lees hier meer). We begrepen het niet. Wordt dan niet automatisch alle software geüpgraded via de update manager?
waarschuwing: dit onderdeel doorgronden we nog niet helemaal en de tekst heeft nog de status "voorlopig"; zodra we meer te weten komen werken we dit stuk bij en als we redelijk zeker zijn dat we het geheel doorgronden zullen we deze waarschuwing verwijderen.
Laten we eerst eens opsommen wat voor soort software op je computer geïnstalleerd is en met welke "installatietechniek". Applicaties blijken op verschillende manieren beschikbaar gesteld te worden en kennen hun eigen installatietechnieken met de daaraan gekoppelde voor- en nadelen.
Welke software categorieën kan je tegenkomen op je computer?
- Alle software die onderdeel vormt van je "distributie". Dat is de kernel, de GNU software (die samen met de kernel het besturingssysteem vormen) en de bij de distributie standaard geïnstalleerde applicaties zoals Libre Office, Firefox, Chromium, Thunderbird, musicbox, etc.
- De "flatpak" applicaties die je via de software manager hebt geïnstalleerd.
- De "snap" applicaties die je mogelijk het geïnstalleerd.
- De "appimages" applicaties die je mogelijk hebt geïnstalleerd.
- De applicaties die je op basis van de zogenaamde PPA's (Personal Package Archive) hebt geïnstalleerd
- Mogelijk zijn de applicaties die je hebt geïnstalleerd op basis van een gedownload .deb bestand (we doorgronden nog niet of dit een aparte categorie is)
- Applicaties die je gedownload hebt en zelf hebt gecompileerd.
- Windows applicaties die je onder WINE draait.
1. Alle software die onderdeel vormt van je "distributie"
In jouw distributie, op het moment van schrijven is dat voor mij Linux Mint Cinnamon, zit niet alleen de Linux kernel, vele GNU-applicaties voor het beheer, maar ook een aantal door de distributies meegeleverde applicaties zoals Libre Office, Firefox, Chromium, Celluloid en Rhythmbox. De "update manager" updatet alle in de distributie geleverde bestanden. Firefox en Chromium worden dus automatisch geüpdatet. Meer over de update manager kan je hier vinden.
NB: hoewel de standaard applicaties zoals Libre Office, Firefox, ... automatisch geüpdatet worden, betekent dit nog niet dat je daardoor altijd over de laatste versie van de betreffende applicatie beschikt. Het is aan het team die de distributie samenstelt welke versie van een bepaalde applicatie beschikbaar wordt gesteld. Dat is meestal niet de laatste versie. Dat komt omdat de laatste versie meer bugs bevat dan een wat oudere (en aangepaste) versie. Hoewel je wellicht de laatste versie van Libre office wil draaien wordt deze standaard dus niet meegeleverd en ook niet via de update manager beschikbaar gesteld. Men kiest vrijwel altijd voor stabiliteit (weinig bugs) boven nieuwe functionaliteit. Hierop zijn een aantal uitzonderingen en dat zijn Firefox, Chromium en Thunderbird (wellicht nog een andere maar dit is de lijst die wij kennen).
2. Flatpak applicaties updaten
Sommige applicaties die je via de software manager hebt geïnstalleerd (of ergens anders vandaan hebt gehaald) zijn zogenaamde "flatpak" installaties van de applicaties. Noem het "container", een applicatie in een container en die container heeft alle noodzakelijke libraries. Hiermee wordt het probleem van "afhankelijkheden" voorkomen. Maar dat is een ander verhaal.
Je kan een overzicht krijgen van de geïnstalleerde flatpak applicaties met het terminalcommando flatpak list. Wat we ontdekt hebben is dat de applicaties (op zijn minst de flatpak applicaties) met het commando flatpak update geüpdatet worden. Om precies te zijn, er wordt dan éénmalig gekeken of er updates zijn en zo ja, dan worden deze geüpdatet.
3. Snap applicaties
Linux Mint ondersteund (heel bewust) standaard geen snap applicaties. Maar dat kan je wel "aanzetten". Wij vinden (tot nu toe) het snap systeem geen goed idee omdat men de "open" gedachte van Linux niet ondersteund. Dus we maken geen gebruik van snap. Zover we begrijpen worden snaps (snap applicaties) of je wilt of niet, automatisch geüpdatet en dat is één van de nadelen van snaps.
Met het commando snap list krijg je een overzicht met de geïnstalleerde snapit applicaties. Krijg je een foutmelding als "Command 'snap' not found, but can be installed with sudo apt install snapd" dan weet je dat snapd (de deamon van snap) nog niet geïnstalleerd is en je dus ook geen snapit applicaties hebt geïnstalleerd.
4. Appimage applicaties
Naast flatpak en snapit applicaties bestaan er ook "appimage " applicaties. Hoe je die moet updaten weet ik nog niet. De oude verwijderen en een nieuwe downloaden lijkt de meest logische keus.
5. PPA applicaties
Sommige applicaties zijn niet (of niet in de nieuwste versie) beschikbaar in de software manager. Je meldt je als het ware aan bij een website en zegt denkbeeldig "ik vertrouw jullie" en dat wordt in je computer vastgelegd welke sites je vertrouwd. Vervolgens kan je de software downloaden en gebruiken. Deze software is niet gecontroleerd door anderen. Je moet goed nadenken of je dit wel wil. Het houdt een risico in. Hoe deze applicaties geüpdatet worden moeten we nog onderzoeken.
6. .deb applicaties
Je kan een applicatie ook installeren door op de website van de leverancier een .deb bestand te downloaden en deze uit te voeren/installeren. We doorgronden nog niet of dit een aparte categorie. Of deze applicaties automatisch worden geüpdatet weten wij nog niet.
Applicaties die je gedownload hebt en zelf hebt gecompileerd
Het is voor een doorsnee Linux gebruiker ongebruikelijk, maar er zijn enkele die een applicatie op basis van broncode (source code) downloaden en daarna zelf compileren (uitvoerbaar maken). Vaak worden deze applicaties als tarbal aangeboden (lezen we).
Windows applicaties die onder WINE draaien
De titel zegt het al, je werkt met Linux, maar toch heb je mogelijk een Windows applicatie(s) waarvan je geen tegenhanger kan vinden onder Linux en daarom de Windows software via de Windows Emulator (WINE) draait. Deze software, net trouwens alle applicatiesoftware onder Windows wordt niet automatisch geüpdatet. Dat moet je dus zelf doen door een nieuwe versie te downloaden.
Foto's aanpassen/verkleinen/converteren met GraphicsMagick
Voor onze websites gebruiken we GrahicsMagick voor het verkleinen van foto's. Dat programma is standaard niet geïnstalleerd, dus hieronder staat hoe je het kan installeren (voor de zekerheid: dit is de installatiemethode in Linux Mint, zoals alles in dit blog primair gaat over Linux Mint, maar voor de meeste Debian en Ubuntu installaties/distributies is dat ook van toepassing, Ubuntu en Mint zijn immers afgeleid van Debian).
sudo apt-get update daarna sudo apt-get install graphicsmagick. Je kan controleren of de installatie goed gegaan is met gm display.
GraphicsMagick heeft geen GUI, dus moet alles vanaf de commandline / terminal uitgevoerd worden. Je roept het programma op met "gm" (van GraphicsMagick) en daarachter plaats je informatie waardoor gm weet wat hij met welk bestand moet doen. Bijvoorbeeld gm convert /brondirectory/foto-groot.webp -scale 400x^> /bestemmingsdirectory/foto400px.webp Onder Linux gebruikte we daar een batch file voor. Dus het volgende projectje was: hoe kunnen we een batchfile schrijven onder Linux? En feitelijk, hoe kunnen we een bestaande batchfile onder Windows converteren naar Linux. Hieronder onze bevindingen.
Je homedirectory
Stel dat je username sjaak is. Dan is in Linux je homedirectory /home/sjaak. In die directory staan andere directories zoals:
- Desktop
- Downloads
- Music
- Pictures
- Sync
Je homedirectory heeft een "shortcut symbool" en dat is "~". Als je de inhoud van je homedirectory wil zien (in een terminal) dan type je in ls ~. Als je met het cd commando naar je homedirectory wil gaan volstaat dus: cd ~. Wil je (in de terminal) naar de directory Downloads gaan dan volstaat cd ~/Downloads dat is dus hetzelfde als cd /home/sjaak/Downloads.
Batchfile in Linux maken / batch file converteren naar Linux shell script
Een batchfile in DOS of Windows is in beginsel niets meer dan een aantal commandline commando's. Die commando's zet je in een bestand met een willekeurige naam maar moet eindigen op .bat
In Linux heet zo'n batchfile een bash script of shell script, er even van uitgaande dat je werkt met de bash shell (en dat doen de meeste Linux distributies). Dit kan je controleren door in een terminal (ctrl-alt-t) te typen: echo $o. Je kan het script iedere naam geven en hoeft niet een speciale extensie te hebben (zoals in dos: .bat), maar je ziet vaak dat men (voor de herkenning) de shellscripts de extensie .sh geven.
Hoe start je een shellscript?
Het is even wennen, want in dos/windows kan je een batchfile starten door de naam van de batchfile in te voeren in de directory waar de batchfile staat. In Linux werkt dat niet. Staat in je homedirectory een bashscript met de naam "scriptje.sh" en je staat op dat moment in die directory dat kan je niet het script uitvoeren door de naam van het script in te voeren. Je moet dan invoeren ./scriptje.sh. Die punt in "./" betekent "de huidige directory (../ zou de bovenliggende directory betekenen). Dus het script met de naam "scriptje.sh" start je niet met scriptje.sh maar met ./scriptje.sh
Hoe maak je een scriptfile?
Een bash script is een gewone textfile, maar moet altijd starten op de eerste regel met: #!/bin/bash Op de regels daarna schrijf je de uit te voeren commando's. Je slaat het bestand op, wat voor naam je het geeft maakt niet uit, een extensie hoeft het bestand niet te hebben (vele kiezen voor .sh voor de herkenbaarheid, maar dat hoeft dus niet).
Daarna moet je eenmalig het bestand "uitvoerbaar" maken. Als het bestand "scriptje" heet doe je dat met het commando sudo chmod +x scriptje.sh (die x in "+x" betekent, maak hem eXecutable).
Je kan die laatste actie controleren door een uitgebreide directorylisting te maken met de -al opties: ls -al *.sh. Als het goed is zie je voor de filename van je script staan: -rwxr-xr-x.
Scriptfile vanuit iedere directory starten
Wil je in dos/windows een batchfile vanuit iedere plek willen starten dan heb je twee keuzes: 1. je specificeert het hele path, bijvoorbeeld /usr/sjaak/batchfile.bat of 2. je neemt de directory waar de .bat file staat op in de PATH variabele.
Onder Linux werkt dat ook zo maar heb je nog twee extra mogelijkheden: als je de scriptfile in je homedirectory hebt gezet (alleen dan) dan kan je met de ~ shortcut naar je homedirectory verwijzen met ~/scriptje.sh. Daarnaast kan je de scriptfile in /usr/local/bin plaatsen. Alle uitvoerbare bestanden die daar staan kan je overal in je filesysteem uitvoeren.
Voorbeeld bash script / scriptfile
Hieronder een supereenvoudig scriptje dat "hello world" op het scherm toont
#!/bin/bash
# dit is commentaar
clear #clear maakt het scherm schoon
echo "hello world"
Neem bovenstaande regels over in een text editor (zoals xed of vscode), sla het op als "test.sh", maak hem executable met sudo chmod + test.sh en start het scriptje met ./test.sh
CD commando lijkt niet te werken in een scriptfile
Ik had een mini-scriptje geschreven die tijdens het uitvoeren me zou brengen van de homedirectory /home/username naar een directory /media/windows/dir1/dir2/dir3 omdat ik geen zin had om iedere keer dat hele cd commando uit te typen (en ik vaak naar die directory moest schakelen). Net als in Windows ik dat had, maakte ik een scriptje waarin een regel opgenomen was met cd /media/windows/dir1/dir2/dir3 Het gehele script zag er zo uit:
#!/bin/bash
cd /media/windows/dir1/dir2/dir3
Ik had het scriptje executable gemaakt en toen ik het uitvoerde gaf het geen foutmelding maar het werkte niet, althans dat dacht ik. Ik kwam er achter dat het scriptje prima werkte (zet maar na het cd commando op de volgende regel het pwd commando en dat zie je dat het cd commando wel werkt), maar ik wist niet dat een script in een aparte (sub)shell wordt uitgevoerd en zodra dat script klaar is wordt de subshell afgesloten en kom je terug in de shell waar je het scriptje hebt aangeroepen. Dus dan ben je weer terug bij af. De oplossing is om het script aan te roepen met source scriptnaam.sh of . scriptnaam.sh (let op de spatie tussen de . en de naam van het script).
Linux Mint hybernate
In Linux staat hybernation standaard uit. In dit artikel dit artikel staat uitgelegd hoe je hibernation aan kan zetten. Bij ons werkte het (Linux Mint Cinnamon 20.3).
Nieuwe Linux kernel update terugdraaien vanwege bug in bluetooth
Zoals je hiervoor hebt kunnen lezen laat ik alle updates automatisch installeren. Bij de update van de linux kernel met versienummer 5.15.0.33.34.~20.04.11 werkte bluetooth niet meer. Mijn eerste reactie was: draai met timeshift alles terug zoals het gisteren was.
Timeshift neemt (zo heb ik het ingesteld) iedere dag een snapshot vergelijkbaar met een restorepoint in Windows. Werkt er iets na een update niet dan kan je gewoon terug naar de versie ervoor.
Ik had timeshift nog nooit ingezet om een update terug te draaien. Dus dat alleen al was interessant. Timeshift starten, de vorige versie (van gisteren) aanwijzen en op de restore knop drukken. Daarna wijst alles vanzelf.
Na het restoren van de vorige versie werkte bluetooth weer. Gelukkig. Fijn die timeshift. Ik startte firefox, oops, probleempje. Firefox meldde dat ik naar een vorige versie was teruggegaan en dat ze dat niet ondersteunen. Wat was er gebeurd? Samen met de update van de linux kernel was ook een update van firefox gekomen. Firefox houdt zaken als bookmarks, history e.d. bij een een database. Daar houden ze (dat is mijn conclusie) ook de versie van firefox bij waarmee de laatste keer die database is bijgewerkt. Die database zal door de tijd wel eens gewijzigd zijn met uitbreidingen van functionaliteiten. Daarom is die database niet downwards compatible. Dat is dan ook de melding van firefox en wijgert om de oude database te gebruiken. Wel krijg je de optie om een nieuw profiel aan te maken. Maar dat nieuwe profiel heeft natuurlijk niet al je bookmarks e.d.
Gelukkig gebruik ik de sync functie van firefox voor het syncen van bookmarks tussen mijn apparaten. Dus even sync aanzetten en ik zou de oude bookmarks weer terughebben. Althans, dat was het idee. Sync aangezet in het menu en die vraagt of je in wil loggen. De accountnaam wist ik nog wel, maar dom, ik had het password niet opgeslagen in keepass, terwijl ik dat juist wel doe voor (vrijwel) alle andere accounts.
Pech, maar je kan je password wijzigen. Maar wat blijkt? Het wachtwoord is de encryptiesleutel waarmee de opgeslagen bookmarks terug te lezen zijn. Dus met een nieuw password, dus een nieuwe encryptiesleutel, kan je dus nooit meer je oude data benaderen. Dat is logisch. Nieuw password? Dan ben je al je syncitems (zoals bookmarks in firefox) kwijt.
De oplossing was door op een computer waar ik nog wel toegang had tot de bookmarks: eerst van de bookmarks een backup gemaakt in firefox (ga naar beheer van bookmarks dan kan je een backup maken), daarna van sync uitgelogd, een password reset van sync uitgevoerd, je krijgt dan de optie om al je bookmarks weg te gooien of juist die je lokaal hebt te behouden (ik behield ze natuurlijk), nieuw wachtwoord instellen, inloggen op sync, sync activeren. Daarna op de andere computer (in dit geval de linux computer waar ik geen toegang meer had tot de gesyncde bookmarks) ook op sync ingelogd met het nieuwe password en een sync laten uitvoeren, daarna verschenen alle bookmarks. Probleem opgelost.
Achteraf was het wellicht handiger geweest om de vorige kernelversie te activeren, hier meer daar over.
Al met al leerzaam om eens timeshift te gebruiken en zien dat het werkt.
Linux afsluiten terwijl de GUI / dekstop niet meer reageert
Ik heb al een paar keer gemerkt dat als ik een applicatieicoon in de werkbalk (op een niet zo nette manier waarschijnlijk) verplaats (naar achteren verschuif) dat de desktop vrijwel compleet bevroren is (freeze). Soms reageert nog de supertoets maar het systeem afsluiten is dan, op de gebruikelijke manier, niet altijd mogelijk.
Wat te doen om Linux Mint af te sluiten terwijl je desktop niet meer goed werkt?
- Schrijf ergens op (niet in je linux computer): supertoets, linkerpijltoets, pijlnaarboventoets, enter, enter (of als die laatste niet meer werkt kan je alt-s proberen (daarmee druk je op de shutdowntoets).
- Druk tegelijkertijd alt en prtscn in en terwijl je deze ingedrukt houdt druk je achtereenvolgens (met tussenpozen) op s, u en b.
- Start een terminal met ctrl-alt-t en typ dan in shutdown, na een minuutje wordt je systeem afgesloten.
- Er zijn meer mogelijkheden, die komen hier later wel.
- Niet zo netjes en moet je als laatste redmiddel gebruiken: hou de uit/aan-knop van je computer een seconde of zes ingedrukt tot de computer zichzelf afsluit.
Laptop nu ook Linux Mint
Nadat we een jaar met Linux Mint Cinnamon op een desktop pc hebben gewerkt, en naar tevredenheid, hebben we één van onze laptops, waar tot op dat moment Windows 10 op draaide overgezet naar Linux Mint Cinnamon. In dit geval geen dual-boot maar alleen maar Linux Mint.
Linux Mint 21
Op één van de laptops hebben we Linux Mint 21 Cinnamon geïnstalleerd (een schone installatie). Dat was een laptop van Asus. De installatie liep vlekkeloos. Een van de voordelen van Linux Mint 21 is dat er nu ondersteuning is voor TLP versie 1.5 en juist die versie heb je nodig voor de ondersteuning van Asus en Lenovo laptops (in Mint versie 20.3 was die ondersteuning er niet). Met TLP kan je zorgen dat de accu van de laptop niet constant op 100% geladen blijft (wat funest is voor de levensduur) maar een zelf in te stellen niveau, bijvoorbeeld 50% of 60%.
We hebben gelijk de SSD gepartioneerd met een aparte / (root) en /home (en natuurlijk een boot en swap partitie) en hebben dit gedaan met LVM (logical Volume Management). Het voordeel van LVM zou zijn dat je achteraf de partities heel makkelijk in grootte kan wijzigen. Ook kan je meerdere SSD's samenvoegen tot één volume.
De ervaringen tot nu toe zijn positief, hooguit zorgt LVM voor dat het GRUB menu (dat je te zien krijgt als je computer start en waarbij je kan kiezen voor een besturingssysteem) 30 seconde wacht tot je de keuze hebt gemaakt (maar met enter ga je in een keer door). Met een paar commando's hebben we er voor gezorgd dat we het GRUB menu tijdens het starten niet meer zien en direct Linux Mint wordt gestart.
En wat start Mint 21 snel, heerlijk.
Overzicht geïnstalleerde programma's
Ik had ooit eens Signal geïnstalleerd, en ik kreeg een melding dat de versie te oud was en niet meer werd ondersteund. Signal werd dus niet geüpdatet. Op de site van Signal zag ik staan hoe het programma geïnstalleerd kon worden onder Debian en derivaten. Maar eerst moest ik de oude versie verwijderen, maar wacht eens, ik zie hem niet staan als geïnstalleerd programma onder >menu>Software Manager (en dan menu>installed applications). Want als hij daar te zien was, dan was het simpel: op de applicatie klikken en kiezen voor remove.
Mogelijk dat ik destijds had gekozen voor een PPA versie van Signal. De PPA's kan je zien onder >menu>Software Sources en dan PPA. Maar daar was hij niet te vinden.
De vraag is hoe krijg ik te zien wat mijn geïnstalleerde programma's waren. Het terminal commando sudo flatpak list krijg je een lijst te zien met geïnstalleerde flatpak programma's (dus het is daartoe beperkt), en ja hoor, daar stond Signal tussen.
Met het terminal commando sudo flatpak uninstall org-signal-Signal kon ik het de-installeeren. De naam achter uninstall moet je letterlijk overnemen uit de lijst uit de kolom Application ID.
Signal installeren
Signal is, op het moment van schrijven, niet een applicatie die zich in de software repository bevindt (de app-store) die je aantreft in >menu>software manager waar Linux Mint gebruikt van maakt. Dat houdt doorgaans in dat je op de site van de betreffende software op zoek moet gaan naar een .deb (van Debian, de Linux distributie waar Mint op gebaseerd is) installatiebestand of een andere instructie die je doorgaans moet uitvoeren in een terminal.
Op moment van schrijven trof ik op de site van Signal deze instructies aan (commando's die je uit moet voeren in de terminal).
Het betreffen vier verschillende commando's, die beginnen met wget, cat, echo en sudo. Die regel die begint met echo beslaat dus twee regels en moet je in zijn geheel kopiëren.
Renamen name external disc - volume naam wijzigen externe schijf
We hebben een aantal externe harde schijven die we gebruiken voor backup doeleinden. Zo'n externe schijf heeft meestal een lange en lastige naam met spaties. Bijvoorbeeld "Seagate Backup Plus". Dit wilde we hernoemen naar "backup10", maar hoe doe je dat?
- Unount de schijf in je Nemo (de filemanager) >menu>files, aan de linkerzijkant zie je de schijf staan onder "devices" (waarschijnlijk de onderste) en klik op het driehoekje dat naar boven wijst (wat "uitwerpen" voorstelt (neem ik aan)).
- Start >menu>disks, ook wel gnome-disk-utilities genoemd. Mocht deze niet geïnstalleerd zijn, installeer hem dan >menu>software manager>disk (gnome-disk-utility).
- Klik (in gnome-disk-utility) op de partitie van het volume waarvan je de naam wil wijzigen, klik op het tandwieltje-knopje, kies "edit filesystem" en voer een naam in, bijvoorbeeld "backup10".
- Mount de schijf in Nemo, rechtermuisklik op de schijf (die aan de linkerzijde zichtbaar is) en kies voor "mount".
SSH installeren en inschakelen
Vandaag wilde ik met rcp (remote copy) aan de slag om bestanden van een andere computer te kopiëren. Ik kreeg toen de melding dat ik geen toegang kreeg tot die computer "refuses". Het bleek dat ssh op de desbetreffende computer nog niet geïnstalleerd was. In de softwaremanager ssh opgezocht en openssh geïnstalleerd. Daarna met sudo systemctl is-enabled ssh gecontroleerd of ssh gestart was en met sudo systemctl enable ssh ssh open gezet. Denk er wel om dat inkomende pakketten door de firewall (als je die aan hebt staan) standaard worden tegengehouden, dus je moet daarvoor (poort 22) een rule maken en als je slim bent dit beperken tot hosts van je eigen lokale netwerk.
Timeout aanpassen in bootmenu (GRUB2)
Nadat we Linux Mint 21 hadden geïnstalleerd werd een wachttijd ingelast van 30 seconden in het bootmenu. Ondanks dat we in de configuratiefile van GRUB de TIME_OUT waarde hadden aangepast wachtte de computer toch 30 seconden in het bootmenu. Uiteindelijk bleek het toevoegen van een extra commando GRUB_RECORDFAIL_TIMEOUT=$GRUB_TIMEOUT in het configuratie bestand de oplossing. Hieronder de stappen om de wachttijd in het bootmenu te verkorten naar 4 seconden.
- Start de terminal met ctrl-at-t
- run het commando: sudo xed /etc/default/grub
- Zet een # voor de regel die begint met GRUB_TIMEOUT_STYLE
- Wijzig de waarde op de regel GRUB_TIMEOUT=30 naar de waarde 4 of welke waarde dan ook.
- Voeg onderaan de volgende regel toe: GRUB_RECORDFAIL_TIMEOUT=$GRUB_TIMEOUT
- Sluit xed af en kies voor "save" om de wijzigingen op te slaan.
- run het commando: sudo update-grub
- Reboot de computer.
Canon printer driver, vuile kleuren, geel lijkt wel groen/bruin
Tijdens het installeren van de Canon inkjet printer kon ik geen juiste driver vinden. Mijn printer, een MG5250 stond niet in de lijst met Canon printers. In eerste instantie selecteerde ik daarom een "generic printer". Hoewel de printopdracht netjes uit de printer komt, waren de kleuren zéér grauw, laat ik het vuile kleuren noemen. De gele inkt had wat weg van donker-bruin/donker-groen. Rood kwam er ook heel "vuil" uit. Als ik de Canonprinter zelf een testpagina liet afdrukken dan waren de kleuren wel helder en goed. Het moest dus aan de geselecteerde printer driver liggen.
De oplossing was een applicatie met de naam "bjnp" of zoals de softwaremanager hem noemt: Cups-backend-bjnp. Als je deze software hebt geïnstalleerd werd de lijst met Canonprinters ineens héél lang en stond mijn printer er wel tussen.
Dit is de werkwijze hoe ik de canonprinter aan de praat kreeg:
- Installeer bjnp: >menu >softwaremanager vul in het zoekveld "bjnp" in en installeer de software.
- Geef de inkjetprinter (op de printer zelf) een vast ip-adres, in dit voorbeeld geven we hem: 192.168.178.009 (zoek via het internet of je handleiding hoe je dit kan instellen op jouw canonprinter)
- Voeg een printer aan Linux toe: >menu >printers druk op "add", kies voor netwerkprinters, kies de optie "internet printing protocol" (let op: dus ipp), je krijgt nu een invulveld te zien met de naam "Enter device URI" en vul dan in: ipp://192.168.178.009 (dit is het ipadres uit het voorbeeld, vul jouw ipadres in van de printer), druk op forward, selecteer uit de lijst "canon" en druk op Forward. Selecteer het gewenste model en druk op Forward.
Toetsenbord Alt key defect, remap keyboard helpt
Regelmatig werk ik met een laptop, maar op een gegeven moment deed de alt-toets het niet meer. Nog proberen te repareren, maar dat mocht niet baten. Toen dacht ik, zou er een programmatje zijn dat ik een willekeurige toets, die ik toch niet gebruik, kunnen remappen naar de alt-toets? En ja hoor, dat is er. Dat programma heet "input remapper". Daarmee kan je niet alleen je toetsenbrod "remappen" maar nog veel meer inputdevices zoals de muis.
Programma geïnstalleerd en gestart. New entry, en dan moet je de toets indrukken die je wil remappen, daarvoor gebruikte ik de rechter control toets. Daarna moet je de toets indrukken die denkbeeldig ingedrukt wordt. Maarja, die alt-toets deed het niet. Je kan ook in een invoerveld iets intypen zag ik. Toen ik de letters alt intypte werd dat herkend en kon ik uitkiezen welke alt-toets, links of rechts. Dus koos ik voor de alt-L toets. Zo, dat probleem is ook weer opgelost. Want de alt-toets gebruik ik heel veel. Niet alleen de bekende toetscombinaties als alt-f4 en alt-tab, maar ook alt-toetscombinaties die ik in "autokey" heb vastgelegd. Autokey gebruik ik om veel gebruikte termen of hele regels (dezelfde) code die ik zeer vaak moet invoeren met een simpele toetscombinatie (of lettercombinatie) intyp. Zo heb ik vastgelegd dat als ik rechter-shift-p indruk dat "</p>" wordt ingevoerd en met rechter-control-p wordt dat "</p>". Of als ik TODO intyp maakt autokey daarvan <?php //TODO ?> en dat gebruik ik als reminder (en makkelijk terug te zoeken op TODO) dat ik daar nog wat moet aanvullen.
Adobe Acorbat PDF ondertekenen / handtekening zetten
Ik kreeg een elektronisch document in het PDF formaat. Of ik het even wilde ondertekenen. Dat kan met Adobe Acrobat reader onder Windows. Maar wij hebben Linux. Even zoeken met wat voor programma dat kan onder Linux. Dat blijkt te kunnen met het programma Xournal. Downloaden, installeren, en ondertekenen.
Dan moet je het document opslaan. Dat moet je niet doen met "save" maar met "Export to PDF". Klaar, geregeld.
MP3GAIN installeren - MP3 bestanden normaliseren
Wil je mp3 bestanden normaliseren, het volume van iedere mp3 "gelijktrekken" dan is MP3GAIN een prettige utility die lossless wijzigingen aanbrengt. Hij is niet meer standaard beschikbaar in de repositories. Hieronder het commando om het "op de commandline" te installeren.
mkdir mp3gain; cd mp3gain; wget https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/mp3gain/1.5.2-r2-6/mp3gain_1.5.2-r2.orig.tar.gz; tar -xvzf mp3gain_1.5.2-r2.orig.tar.gz; make; sudo make install
Thunderbird installeren en gebruik maken van oud profile (bestaande email bestanden)
Dit stukje beschrijft hoe je een bestaand profiel van thunderbird kan hergebruiken in een andere thunderbird installatie. Dus dat je thunderbird profiel (al je emailbestanden) op dezelfde plaats blijven staan en de nieuwe te starten thunderbird dat oude profiel gebruikt (en niet een nieuw profiel maakt).
Bij thundrbird staan al je emails in een zogenaamd thunderbid "profile". Dat is één directory met vele subdirectories en bestanden waar alles in staat. En die wil je dus hergebruiken als je een nieuw besturingssysteem installeerd of thunderbird nieuw installeerd. Tip: maak voor de zekerheid een kopie van dat profile directory, je weet maar nooit.
Overigens, als je die profile folder wil verplaatsen, mag dat natuurlijk ook, het maakt niet uit waar hij staat, in stap 9 hieronder moet je dan de nieuwe locatie aanwijzen.file
stappenplan
stap 1: localiseer je huidige profile folder. Klik in Thunderbird op het menu icoon (drie streepjes), Help, Troubleshoot information. Onder de sectie Application Basics staat achter "profile directory" een knop "open directory", klik daar op. Je zit nu "in je profile directory". In deze directory en de vele onderliggende directories worden al je mailbestanden, configuraties, contactlijsten e.d. bewaard. Alle, behalve het programma zelf, bevind zich dus in deze profile directory. Die locatie moet je even kopieren (of opschrijven) want die heb je in stap 9 nodig. Heb je geen toegang meer tot Thunderbird, dan moet je zoeken in je bestanden naar "thunderbird" en als je die gevonden hebt moet je naar de directory daaronder profiles en daaronder is meestal maar één profielfolder aanwezig, en als het er meerdere zijn dan moet je kijken welke het grootst is of de bestanden van meest recente datums voorzien zijn. De naam van die profielfolder is altijd in de vorm van abcde012345.naamprofiel (het eerste gedeelte is lijkt op een random combinatie van letters en cijfers, het tweede gedeelte is de naam van het profiel maar vele laten dit op "default" staat).
stap 2: optioneel: maak een kopie van mailtjes (wel thunderbird eerst sluiten). Altijd handig, een kopietje van alle thunderbird werkbestanden. Kopieer de hele profielfolder met alles wat daaronder zit.
stap 3: installeer het nieuwe besturingsysteem (waarbij je de werkbestanden behoudt).
stap 4: (optioneel) mocht thunderbird nog niet geïnstalleerd zijn, installeer het nu, maar start thunderbird niet (als je het toch doet, gewoon afsluiten).
stap 5: start een terminalsessie (ctrl-alt-t in linux) of dosbox in Windows.
stap 6: start de thunderbird profiel mananger door het commando in te voeren:
thunderbird -ProfileManager
stap 7: klik op create profile en klik daarna op Next
stap 8: geef het profiel eventueel een naam, maar je mag ook "default" laten staan.
stap 9: klik op "choose folder" en navigeer naar de profile folder (uit stap 1) die een naam heeft die lijkt op "djP01lwk.default" (in de directory daaronder staan mappen zoals blocklist, mail, settings, storage). Maar je moet dus de bovenliggende map hebben met die vreemde naam. Klik dan op "open" en daarna op "finish". Daarna moet je het zojuist gemaakte profiel even selecteren en een vinkje zetten bij "use the selected profile without asking at startup" en daarna klik je op de knop "start thunderbird".
Bepalen welk besturingssysteem gestart wordt uit het boot menu (GRUB)
Wanneer je meerdere besturingssystemen naast elkaar hebt geïnstalleerd op een computer zoals Windows, Linux 20.3 en Linux 21.3 dan krijg je wanneer je de computer start een menu waaruit je het besturingssysteem kan kiezen dat je wil starten.
Een handige optie is om GRUB (het menu programma) te laten onthouden welk besturingsyssteem je als laatst hebt gestart en dat de volgende keer weer doet.
Start in de terminal (in Linux):
sudo nano /etc/default/grub
en pas dat bestand aan
GRUB_DEFAULT=saved <--- dit moet aangepast worden
GRUB_SAVEDEFAULT=true <-- deze lijn moet toegevoegd worden
Instatllatie Adruino / ESP32 software
Wil je met de Arduino IDE werken om een ESP32 te programmeren dan moet je de volgende stappen uitvoeren in Linux Mint 21:
- Zoek in het softwarecenter op arduino en kies voor de system package uitvoering (niet de flatpak, die zal ook mogelijk werken, maar wij kozen daar niet voor). Installeer de software en start de applicatie.
- Bij de popup over "dialout group" op ADD klikken.
- Log uit of restart de computer.
- Log opnieuw in en start Arduino >menu >typ in: arduino
- Afhankelijk van het bordje wat je gaat gebruiken zal je specifieke stappen moeten ondernemen. Je moet namelijk in de IDE aangeven welk bord je gaat gebruiken. Hieronder wat we moesten doen voor de MH ET LIVE ESP32 DevKit.
- Klik in het menu van de Arduino IDE: >file >preferences >additional boards manager, vul bij URL in: https://espressif.github.io/arduino-esp32/package_esp32_index.json en klik daarna op OK.
- Klik in menu >Tools >Boards >Boards Manager zoek op ESP32, selecteer ESP32 "by Espressif Systems" en klik op install, close.
- Klik in menu >Tools >Boards >ESP32 Arduino en selecteer in de lijst: MH ET LIVE ESP32DevKIT
- Test het door een voorbeeld programma "sketch" te openen met >File >Examples >Basic >Blink
- Klik nu op ctr-r (verify/compile). Je zal zien dat je een foutmelding krijgt: ModuleNotFoundError: No module named 'serial'. Je mist software die een serial port emuleert via USB.
- Type in de terminal: sudo apt install python3-pip als dat klaar is voer dan in de terminal dit commando in: pip install esptool
- In het menu: >Tools >Port moet je een port kiezen die gebruikt wordt voor de usb kabel die verbonden is met de ESP32. Als er meerdere zijn, probeer ze dan stuk voor stuk: selecteer er een en upload de sketch (je moet op de ESP32 op de boot knop lang drukken tot je ziet dat er wat geupload wordt.
Thunderbird wil niet starten na downgrade
Na een upgrade wilde ik weer teruggaan naar een oudere versie van Thunderbird. Standaard behoed Thunderbird dat en krijg je een foutmelding dat het profiel bijgewerkt is door een latere versie. Je krijgt dan de mogelijkheid om een nieuw profiel te maken. Maar dat kost veel tijd voor het instellen van al je email-accounts.
De oplossing is op een terminal sessie te starten en in die terminalsessie in te typen:
thunderbird -allow-downgrade
Met dit commando wordt thunderbird gestart en de controle op een downgrade genegeerd.
Dit commando is ook uit te voeren na een downgraden van firefox.
publicatie: 20210623
aanpassing/controle: 20240509