Linux blog, ervaringen met en tips over Linux

In deze blog, of is het een log?, hou ik bij welke vermeldingswaardige dingen ik tegen gekomen ben bij het gebruik van Linux op een pc. Ik ben op 23 juni 2021 overgestapt van Windows 10 naar Linux. Ik heb toen gekozen voor Linux Mint Cinnamon en daar heb ik nog geen dag spijt van gehad. 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 dingen te lezen.

Waarschuwing

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 menu-systeem 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 zogenamde "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.

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". Die 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

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 daavoor 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 backslah 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.

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 foutmeling. Uiteindelijk was het makkelijk opgelost, in dit artikel lees je alle details.

Linux updaten

update icoon linux mint cinnamon
update icoon

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 kwamer 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.

Andere Linux kernal installeren en activeren

In Linux Mint is het héél simpel om een andere kernal versie te installeren of te activeren. Dat is vooral van toepassing als je nieuwe(re) hardware hebt die in de huidige kernal die standaard meegeleverd wordt nog niet ondersteund wordt. Ga naar >menu >administration >update manager >view >Linux kernals. Je ziet nu aan de linkerzijde verschillende Linux kernal versies staan. Selecteer de laatste (of een andere versie van je voorkeur), je krijgt nu een overzicht welke subversies bestaan van deze kernal, kies er een aan en klik op Install.

Let op: oudere versies van de kernal 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 kernal.

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", "behaviour", "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 environement 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 environement. Zo dus ook de breedte van de scrollbar. Het is dus eigenlijk een soort dekstop environement binnen je een desktop environement. Vandaar dat het aanpassen van de scrollbar breedte met . In dit artikel hebben we beschreven hoe je de scrollbarbreedte kan aanpassen.

Linux Mint upgrage 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 hebben 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 dat niet automatisch geüpgrade via de update manager?

Wat blijkt? De update manager update alleen de systeem (besturingssysteem) bestanden. Dus de linux kernal en alle (GNU)applicaties die noodzakelijk zijn voor een basis besturingssysteem. Ook worden, en dat is verwarrend, ook de basisapplicaties die in jouw Linux "distribuitie" zitten geüpdatet. Dus bijvoorbeeld Firefox, Chrome, Celluloid en Rhytmbox worden wel geüpdatet, maar applicaties die je zelf ná de installatie aan je computer hebt toegevoegd moet je dus zelf updaten.

Hoe kan je de applicaties dan updaten? Op het moment van schrijven hebben we het nog niet allemaal exact helder want dit blijkt afhankelijk te zijn van de applicatie. Onze huidige indruk is dat er een onderscheid is tussen:

  • applicaties die onderdeel van je "distributie" Firefox en Chromium, worden automatisch geüpgrade met de update-manager.
  • "flatpak" applicaties die je via de software manager hebt geïnstalleerd
  • "snapit" die je (mogelijk) hebt geïnstalleerd
  • "appimage" applicaties
  • applicaties die je buiten de software manager hebt geïnstalleerd, de zogenaamde PPA's (Personal Package Archive)

Applicaties die onderdeel zijn je "distributie"

In jouw distributie, op het moment van schrijven is dat voor mij Linux Mint Cinnamon, zit niet alleen de Linux kernal, vele GNU-applicaties voor het bejeer, maar ook een aantal "uitverkerene applicaties" zoals Libre Office, Firefox, Chromium, Celluloid en Rhythmbox. Het programma "update manager" updatet (zover wij nu begrijpen) alle in de distributie geleverde bestanden. Firefox en Chromium worden dus automatisch geüpdate. Meer over de update manager kan je hier vinden.

Flatpak applicaties updaten

Het is een aanname, maar de meeste applicaties zal je via de software manager hebben geïnstallerd. De meeste (alle?) van die applicaties 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.

Wat we ontdekt hebben is dat de applicaties (op zijn minst de flatpak applicaties) met het commando flatpak update geüpdate worden. Om precies te zijn, er wordt dan éénmalig gekeken of er updates zijn en zo ja, dan worden deze geüpdatet.

Snapit applicaties

Linux Mint ondersteund standaard geen snapit applicaties. Maar dat kan je wel "aanzetten". Wij vinden (tot nu toe) het snapit systeem geen goed idee. Niet volgend de "open" gedachte van Linux. Dus we maken geen gebruik van snapit, dus hoe je dat moet updaten weten we niet.

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.

Toekomst makkelijker met Bauh?

In de Linux gemeenschap wordt een nieuwe applicatie-updater ontwikkeld dat mogelijk iedere vorm van applicatie kan updaten. Die software heet "Bauh" (spreek uit: Ba-uh). Het is al beschikbaar maar is nog niet uitontwikkeld en is nog niet op ieder platform beschikbaar. Iets om in de gaten te houden.

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 /usr/sjaak. In die directory staan andere directories zoals:

  • Desktop
  • Downloads
  • Music
  • Pictures

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 ~

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 ~ sthortcut 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 kernal update terugdraaien vanwege bug in bluetooth

Zoals je hiervoor hebt kunnen lezen laat ik alle updates automatisch installeren. Bij de update van de linux kernal met versienummer [ben ik even kwijt] 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 kernal 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 locaal 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 kernalversie 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).
  • 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.

home­ >linux >linux blog

Cookies
Wij plaatsten alleen strikt functionele cookies. De advertenties die getoond worden zijn "niet gepersonaliseerde advertenties". Er worden dus geen persoonsgebonden cookies geplaatst en daarom hoeven we u, in het kader van de AVG, geen toestemming te vragen, alleen maar te informeren.

ik heb het gelezen