dinsdag 26 november 2024

Terminal met een standaard boodschap beginnen.

Soms is het handig om de terminal te starten met een standaard boodschap om bijvoorbeeld instructies te geven.


Iedere gebruiker kan dat voor zichzelf doen:


xed ~/.bashrc

opent het bestand waarin de boodschap getypt kan worden. Type de boodschap helemaal bovenin het bestand voorafgegaan door het commando echo gevolgd door een spatie. Iedere regel krijgt een eigen echo commando:


echo dit is een test

echo

echo dit is het einde van de test

Sluit het bestand af door Opslaan te kiezen en start een terminal om te checken of alles goed is gegaan.

Gaat het fout, kijk dan even na of je alleen echo regels hebt ingevoerd.



Verander de Grub name van Linux Mint

Grub, de bootloader geeft bij het opstarten de namen van de geinstalleerde besturingssystemen. Hij haalt de namen van de linux distributies uit een bestand dat in de distributies zelf staat. Soms is het handig om een aparte naam voor een aparte installatie op te nemen.

Er zijn drie bestanden waarin de naam van de installatie is opgenomen:

/etc/os-release

/etc/linuxmint/info

en 

/etc/lsb-release


Het bestand /etc/linuxmint/info bevat de regel 

GRUB_TITLE=Linux Mint 22 Cinnamon


de naam achter het = teken kun je veranderen en die wordt meegenomen als het grub.cfg bestand wordt aangemaakt met sudo update-grub

edit het bestand met deze opdracht in de terminal:

sudo -H xed /etc/linuxmint/info

en geef je wachtwoord in. Dan verschijnt het bestand in de editor van Linux Mint en kun je de Grub naam aanpassen. Actualiseer Grub dan met 

sudo update-grub

en klaar is kees.

donderdag 31 oktober 2024

Kopieer een website met Httrack

Met de applicatie httrack kunt u eenvoudig een gehele website naar uw harde schijf kopiëren. Hoewel httrack een terminalapplicatie is zonder grafische gebruikersinterface, is het gebruiksvriendelijk en gemakkelijk.

Let op: Er is ook een grafische frontend genaamd WebHTTrack, maar vreemd genoeg is deze moeilijker te bedienen dan httrack(!) en nog belangrijker: hij is instabiel en onbetrouwbaar. Ik raad WebHTTrack dus ten zeerste af!

U kunt httrack installeren via de applicatie Software Manager of met

sudo apt install httrack

Na de installatie typt u gewoon httrack in een terminalvenster en drukt u op Enter. De rest spreekt voor zich, want dan stelt een behulpzame wizard je een paar simpele vragen. Als u twijfelt, drukt u gewoon op Enter, omdat de standaardinstellingen verstandig zijn.

Wanneer httrack zijn werk heeft gedaan, kun je de opgeslagen website terugvinden in de map "websites" in je thuismap. Het startpunt voor weergave is het bestand index.html, waarop u eenvoudig kunt dubbelklikken, waarna het door uw webbrowser wordt geopend.

Let op: httrack kopieert standaard een hele website met alle inhoud, zoals films en dergelijke. Wees dus voorzichtig met wat u kopieert, want uw harde schijf kan gemakkelijk onder water komen te staan...

zondag 8 september 2024

Mailto openen in webmail van Gmail in Firefox en in Chrome

Op sommige websites staat een mailto link waarmee je direct naar iets of iemand kunt mailen. Normaliter opent die link het standaar e-mail programma dat op de PC is geïnstalleerd.


Je kunt in Firefox een instelling aanpassen om direct in de browser Gmail te openen met de in de mailto link opgenomen e-mailadressen:

navigeer via het hamburgermenu naar Instellingen, onderdeel Algemeen naar het onderdeel Bestanden en Toepassingen en koppel het inhoudstype mailto aan de actie Gmail gebruiken. Vanuit Firefox werkt dit direct. Als je vanuit een andere browser oof via Firefox wilt mailen, stel dan Firefox vervolgens in als standaard e-mailprogramma. 

In Chrome  en Chromium kan dit ook:

Navigeer naar de pagina www.gmail.com, klik op het handler-icoontje (direct links naast de ster in de adresbalk), optie Toestaan. Vanaf nu worden alle links voor e-mail door mail.google.com geopend.

Wordt het handler-icoontje niet (meer) weergegeven dan is Gmail inmiddels als handler voor e-mail ingesteld. Dit is te controleren door in Chrome de pagina chrome://settings/handlers te openen en de vermelding mail.google.com te verwijderen (na het verwijderen van deze vermelding en het verversen van de pagina is de koppeling verbroken, en wordt het icoontje weer getoond).


zondag 21 juli 2024

Gnome Subtitle loopt vast na vooruit of terugspoelen

 Ondertitels editten gaat prima met Gnome subtitles, maar in Ubuntu 22.04 en Linux mint 21 gaat er iets fout. Als je een .srt bestand laadt en de bijbehorende video gaat afspelen, loopt het afspelen vast nadate je iets hebt teruggespoeld of vooruitgespoeld.


Het probleem blijkt te zitten in Gstreamer en kan op eenvoudige wijze worden verholpen:


Open het bestand .bashrc

Dit bestand is een verborgen bestand in je persoonlijke home directory.

en voeg deze zin aan het einde van het bestand toe.


GST_PLUGIN_FEATURE_RANK=pulsesink:NONE


sla het bestand op en loguit en log weer in.


Nu kun je Gnome subtitles starten en uitproberen.


Er is ook een mogelijkheid om het in een environment variable te definieren:

# echo 'GST_PLUGIN_FEATURE_RANK=pulsesink:NONE' > /etc/environment.d/60-gstreamer.conf

herstart het systeem daarnaa eerst voordat het werkt. Dan werkt het voor alle accounts op het systeem.


Nu je toch met Gnome Subtitles bezig bent, dit PPA levert de nieuwste versie voor Linux mint 21 en Ubunti 22.04

https://launchpad.net/~pedrocastro/+archive/ubuntu/ppa

You can update your system with unsupported packages from this untrusted PPA by adding ppa:pedrocastro/ppa to your system's Software Sources. (Read about installing)

sudo add-apt-repository ppa:pedrocastro/ppa
sudo apt update
sudo apt upgrade

Zo zou Gnome subtitles opgewaarderd moeten worden naar een nieuwere versie.

Dit PPA systeem werkt NIET met Linux Mint Debian Edition
Daar zou je het als extra source kunnen installeren via Synaptic:

Signing key:
1024R/97C9924D9E02C1B9097AD96C30479D5063CEAD36 (What is this?)
Fingerprint:
97C9924D9E02C1B9097AD96C30479D5063CEAD36


zondag 16 juni 2024

Zwart wit foto's inkleuren met DeOldify

DeOldify is een progmamma waarmee je auitomatisch zwart wit foto's van landschappen en portretten kunt inkleuren.

https://pypi.org/project/deoldify/

https://github.com/ColorfulSoft/DeOldify.NET?tab=readme-ov-file

 

In het nederlands voor Linux Mint:

Installeren van DeOldify

  • Zorg ervoor dat je eerst alles up-to-date hebt
  • In een terminal:
sudo apt-get update
sudo apt-get upgrade
  • Installeer Mono:
sudo apt-get install mono-complete
  • Bepaal welk systeem je gaat gebruiken en download het bijbehorende model:
Model Details File
float32 Artistic Artistic model with single-precision floating point weights. More accurate than compressed float16 model. Artistic.model
float16 Artistic Artistic model with half-precision floating point weights. Less accurate than original float32 model, but requires 2 times less disk space. Artistic.hmodel
float32 Stable Stable model with single-precision floating point weights. More accurate than compressed float16 model. Stable.model
float16 Stable Stable model with single-precision floating point weights. Less accurate than original float32 model, but requires 2 times less disk space. Stable.hmodel

Met git en terminalgit clone https://github.com/ColorfulSoft/DeOldify.NET.gitcd DeOldify.NETwget <model url> -O Implementation/src/Resources/<model name>
met grafische commando's
  • Selecteer en run compilatie script
Build Details Script
Artistic Basic version of Artistic colorizer with float16 weights Compile.artistic.sh
Artistic.w32 Artistic colorizer with float32 weights Compile.artistic.float.sh
Artistic.simd Artistic colorizer with SIMD acceleration and float16 weights Compile.artistic.simd.sh
Artistic.simd.w32 Artistic colorizer with SIMD acceleration and float32 weights Compile.artistic.simd.float.sh
Stable Basic version of Stable colorizer with float16 weights Compile.stable.sh
Stable.w32 Stable colorizer with float32 weights Compile.stable.float.sh
Stable.simd Stable colorizer with SIMD acceleration and float16 weights Compile.stable.simd.sh
Stable.simd.w32 Stable colorizer with SIMD acceleration and float32 weights Compile.stable.simd.float.sh
  • De executable file verschijnt in de Implementation/Release map. De applicatie s ready to work!

  • start de applicatie door vanuit de terminal:  mono <build name>.exe  in te geven of vanuit nemo aan te klikken en met rechter muisknop vanuit Mono te starten.

  • sleep de zwart wit foto in het BW image scherm!

Linux GUI

Merk op dat het gebruik van DeOldify.NET m.b.v. Mono wat langzamer is dan m.b.v. .NET Framework

zondag 9 juni 2024

Cups om printers in het netwerk te delen

 

Printers beschikbaar stellen

In Linux Mint en Ubuntu worden netwerk printers automatisch geïnstalleerd. Soms is dat vervelend, omdat je dan geinstalleerde printers van andere in het netwerk actieve printers opnieuw deelt en printers er soms onder verschillende namen dubbel beschikbaar zijn.

Zo voorkom je dat netwerkprinters automatisch worden geïnstalleerd:

Als Ubuntu pop-upberichten geeft over het automatisch toevoegen van “nieuwe” printers als u verbinding maakt met een bekabeld of WiFi-netwerk, probeer dan de onderstaande configuratie. Stop het automatisch toevoegen van een printer bij netwerkverbinding door /etc/cups/cups-browsed.conf te bewerken:

sudo nano /etc/cups/cups-browsed.conf

zoek of voeg dit item toe:

BrowseRemoteProtocols none

indien achter BrowseRemoteProtocols iets anders staat vervang dat dan door "none". Sla het bestand op (CTRL - X en dan bevestigen).

Start CUPS vervolgens opnieuw op vanaf de Terminal:

service cups restart 

Printers beheren


Indien je een printer vanuit een linux machine wilt delen met het netwerk, dan is cups daar ook heel geschikt voor:

Login in Cups door de volgende URL te hanteren:

http://192.168.178.x:631/admin

waarin x het nummer van het IP adres is van de betreffende linux machine. 

Check eerst de server settings:

Ik heb deze opties aangevinkt en daarmee kan ik de printer goed gebruiken en beheren.

Om een printer te installeren klik je op "Add printer"

om een printer toe te voegen. Cups vraag de inlognaam en het wachtwoord van de root account van de betreffende linux machine.
Kies vervolgens de juiste printer en installeer de juiste driver. Tot slot test je de verbinding door een testpagina af te drukken.
Het beste is om een netwerk printer direct aan te sturen. Soms werkt driverless goed, soms kun je beter een driver uit de lijst van beschikbare drivers kiezen. Je ziet in dit scherm ook dat andere linux machines die de printer hebben geinstallerd en deze delen met het netwerk staan. Kies die niet, want dan ben je afhankelijk van het feit of die machine later online is als je wilt printen.
Als de printer er niet tussen staat, kun je Other network printers kiezen en zelf het juiste IP nr en de juiste poort invullen. Meestal werkt dat ipp met poort 9100.

In het volgende scherm kun je de printer een naam geven en zie je ook de optie "Share this printer". Vink die aan om de printer met andere apparaten in het netwerk te delen.

Op een android telefoon zou de standaard afdrukservice in staat moeten zijn om een printer die via CUPS is gedeeld  in een netwerk te kunnen vinden. Op sommige telefoons die niet stock android zijn (zoals Samsung) lijkt het wel eens tegen te vallen. Er is een app van Mopria die daarin misschien kan helpen.

https://play.google.com/store/apps/details?id=org.mopria.printplugin&hl=en


Installeer deze plugin vanuit de Google Play store en gebruik deze service om vanuit iedere app op de android telefoon te printen.












zondag 2 juni 2024

Bestanden met ongeldige characters verwijderen In linux en op de QNAP-nas op basis van Inode nummer

Ik had een serie bestanden met de : in de bestandsnaam op zowel mijn QNAP nas als in mijn Linux map. Linux accepteert dat teken in een bestandsnaam, maar QNAP niet. Op een of andere manier was het toch in het bestandssysteem terecht gekomen. Ik kon de bestanden niet wissen in Nemo. Wel op de eigen schijf, maar niet op de QNAP nas netwerkschijf. Het lukte niet met samba share en ook niet met FTP. Ook de bestandsbeheerder van de QNAP nas kon het bestand niet verwijdewren.

Wat ik eerst deed, was alle andere bestanden verplaatsen naar een andere map. Vervolgens de QNAP benaderen via SSH.

In de SSH shell gebruik je het cd commano om naar de verschillende schijven te gaan:

/share/Public
/share/Multimedia
/share/Download
/share/Web
Dus cd /share/Multimedia 
om naar de Multimedia drive te gaan. Vervolgens navigeer je naar de juiste map op deze schijf:
Ieder bestand heeft in Linux een inode nummer. Dat nummer kun je gebruiken als het niet lukt om het
bestand te verwijderen met het reguliere rm commando. Let op dat je zeer precies te werk gaat.
ls -ia
16531481 ZXformat:tijdschrift 16531479 ZX-Spectrum:Next 16531482 ZXSpectrum:roms 16531483 ZXSpectrum:tapes 

Deze bestanden zijn niet te verwijderen met het rm commando doordat er een : in de bestandsnaam zit.
Met dit commando is het bestand wel te verwijderen:
find . -maxdepth 1 -inum $16531481 -delete 
find . -maxdepth 1 -inum $16531479 -delete 
find . -maxdepth 1 -inum $16531482 -delete 
find . -maxdepth 1 -inum $16531483 -delete 
Het is van belang dat het inode nummers kloppen, omdat je anders een ander bestand wist en daarmee het 
gehele bestandssysteem  om zeep helpt. Verder is het zaak zo min mogelijk andere bestanden in
de betreffende map te hebben. En liefst ook geen submappen meer.

woensdag 22 mei 2024

Een geluidkanaal verwijderen en nieuwe metadata toevoegen met ffmpeg

 Een mkv bestand heeft twee audiobestanden en een metadatanaam in een ongewenste taal:


Het eerste geluidskanaal is verkeerd en moet worden verwijderd.

Dat gaat met deze opdracht:

ffmpeg -i Title.mkv -metadata title="Title" -map 0 -map -0:a:0 -c copy -y Title2.mkv


Het - metadata title="tekst" regelt dat de titel van het bestand wordt aangepast,


het -map -0:a:0 regelt dat het eerste audiospoor wordt verwijderd

 -map -0:a:1 verwijderd het tweede audiospoor etc.

zondag 19 mei 2024

Geluid uit een Chromebook met Linux Mint

 Zowel de Lenovo 100e als de Acer CB3 431 chromebook kan mbv  mrchromebox.tech worden omgezet naar een reguliere linux laptop. Probleem is dat de geluidkaart op beide systemen niet ondersteund wordt out-of-the box

Ik vond op reddit een handleiding die werkte op beide machines:

Er is een repository voor  audio-script voor Chromebooks, die werkt voor Ubuntu 23.10 en latere versies. Merk op dat Ubuntu 22.04 niet goed wordt ondersteund door het audioscript. Gebruik in plaats daarvan versie 23.10 of hoger.

Hoewel het script Ubuntu niet ondersteunt en een foutmelding geeft in Ubuntu, kan dit worden omzeild.

Download het script met git en open de repository in terminal.


sudo apt install git
git clone https://github.com/WeirdTreeThing/chromebook-linux-audio
cd chromebook-linux-audio


ALLEEN VOOR UBUNTU en LINUX MINT 21:
Open nu het setup-audio script in een teksteditor en becommentarieer de regel met de blocks installatie in Ubuntu. Wijzig onder de functie def ubuntu() de regel exit() in #exit().


Voer het script nu uit met: 

./setup-audio.

Luidsprekers en microfoon zouden moeten werken na een herstart.

Houd er rekening mee dat de nieuwste versie van het audioscript Ubuntu niet ondersteunt en dat de ontwikkelaar het gebruik van een andere distro (bijvoorbeeld Debian/LMDE/Pop OS) aanbeveelt vanwege bepaalde problemen in Ubuntu.

Ik heb echter de test uitgeschakeld die controleert op Ubuntu in de nieuwste versie van het audioscript, en het werkte perfect in Ubuntu 24.04.
NIET in eerdere versies zoals Ubunti 22.04 en de daarvan afgeleide Linux Mint 21

vrijdag 19 april 2024

OVPN bestanden importeren in Gnome networkmanager

 een OVPN bestand van een open VPN server kan in Ubuntu en Linux mint eenvoudig in de netwerk manager worden geïmporteerd met het volgende commando:


open een terminal in de map waar het ovpn bestand is opgeslagen.


geef daarbij het volgende commando

nmcli connection import type openvpn file naam.ovpn

daarna kun je vanuit de system tray de betreffende VPN verbinding kiezen en wordt deze netjes opgebouwd nadat je het wachtwoord hebt ingevoerd.

zondag 10 maart 2024

Jellyfin toont geen Metadata beheerder

Jellyfin toont geen metadata beheerder (Metadate manager) en dat is erg vervelend als je deze wilt beheren. Het gebeurde op mijn QNAP installatie van Jellyfin gemaakt door pdulvp 

https://github.com/pdulvp?tab=repositories

Het blijkt een bug te zijn die heel eenvoudig is te verhelpen:

Dashboard

Gebruikers

Beheerder

en dan deze toegang geven tot Live TV toegang toestaan



Dit lijkt niets te maken te hebben met de metadata manager, maar dit vinkje plaatsen geeft wel dat de metadata manager verschijnt.


Gek genoeg hoef ik dat niet te doen op mijn installatie van Jellyfin op een gewone Linux Mint laptop, maar wel in de QNAP package versie van Jellyfin die is gemaakt door de fransman pdulvp. ZIjn QNAP package is trouwens verder een genot om te gebruiken akls je een QNAP NAS  (met Intel processor) wilt gebruiken als Jellyfin server.


Plaats .jpg bestanden in een .pdf bestand

 

  1. Maak de PDF

    img2pdf *.jp* --output gecombineerd.pdf
    
  2. (Optioneel) OCR de  PDF

    ocrmypdf gecombineerd.pdf gecombineerd_ocr.pdf
    

Hieronder het originele antwoord met meer mogelijkheden (en tools):

  1. Dit commando maakt een .pdf van elke .jpg zonder kwaliteitsverlies of verlies van resolutie:

    ls -1 ./*jpg | xargs -L1 -I {} img2pdf {} -o {}.pdf
    
  2. Dit commando plakt deze pdf bestanden aan elkaar in een groot pdf bestand:

    pdftk *.pdf cat output gecombineerd.pdf
    
  3. Tot slot kan er een OCR laag over de pdf gelegd worden zodat de pdf doorzoekbaar gemaakt kan worden:

    pypdfocr gecombineerd.pdf
    

    Of als een alternatief voor pypdfocr:

    ocrmypdf gecombineerd.pdf gecombineerd_ocr.pdf
    

zondag 3 maart 2024

Ondertitels uit een videobestand uitlezen met FFMPEG

 FFMPEG is een zeer krachtig programma voor video bewerkingen.


Een manier om ondertitelbestanden uit een videobestand te lezen gaat alsvolgt:

ffmpeg -i "videobestandsnaam.mkv" "S03E02.srt"


uit het bestand videobestandsnaam.mkv wordt het ondertitelbestand S03E02.srt uitgelezen en in dezelfde map geplaatst.




donderdag 29 februari 2024

met FFMPEG een stukje van een videobestand afknippen zonder re-encoding

Een videobestand inkorten zonder opnieuw de encoding te doorlopen kan alsvolgt:

Open een terminal in de directory waar het bestand staat.

ffmpeg -i "test.mp4" -acodec copy -vcodec copy -ss 00:04:05 -to 01:28:30 "test2.mp4"

de -acodec copy kopieert de audio stream

de -vcodec copy kopieert de video stream

Dit kopieert het stuk tussen 00:04:05 tot 01:28:30 naar een nieuw bestand zonder re-encoding

dinsdag 20 februari 2024

GIF animatie van .png bestanden

 

De conversie door ImageMagick

ImageMagick is een verzameling hulpprogramma’s die we kunnen gebruiken om rasterafbeeldingen te maken en te manipuleren.

Het conversiehulpprogramma van ImageMagick wordt gebruikt om afbeeldingen tussen verschillende afbeeldingsformaten te converteren. Naast het primaire gebruik kunnen we ook het formaat wijzigen, bijsnijden, optimaliseren, vervagen, tekenen en effecten op afbeeldingen toepassen.

ImageMagick is niet standaard beschikbaar op de meeste Linux-distributies. We kunnen het echter vanuit onze pakketrepository installeren onder de pakketnaam imagemagick met behulp van een pakketbeheerder.

GIF-animatie maken met converteren

We kunnen eenvoudig een animatie maken uit een aantal PNG-bestanden met de volgende syntaxis:

convert [OPTIONS] [GLOB_PATTERN] [OUTPUT_FILE]

We kunnen GLOB_PATTERN opgeven als *.png, ervan uitgaande dat de PNG-bestanden op volgorde staan:

static-image-01.png
static-image-02.png
static-image-03.png
static-image-04.png

static-image-n.png

Laten we nu, als onze afbeeldingen op volgorde staan, de GIF-animatie maken:

convert -delay 10 -loop 0 *.png anim.gif

Laten we het opsplitsen:

 de optie 
-delay wordt gebruikt om de vertraging tussen elk frame weer te geven
 het argument 10 voor de optie -delay wordt toegewezen aan 10 x 10, 
wat resulteert in een vertraging van 100 ms
 -loop geeft aan of we de animatie willen herhalen, waarbij 0 waar is en 1 onwaar

 *.png is het globale-patroon voor de PNG-bestanden die we als invoer hebben gebruikt
 anim.gif is onze resulterende GIF-animatie

De optie -delay verwacht tijd in honderdste seconden. Eén honderdste seconde is gelijk aan 0,01 seconde. Daarom is 10 100 milliseconden en is een -delay van 100 één seconde.

Organiseren

Als we PNG-bestanden hebben die op volgorde staan en waarvan de namen niet op nul zijn opgevuld, zal onze resulterende GIF-animatie niet correct zijn. Stel dat dit de naam is van onze PNG-bestanden:

static-image-0.png
static-image-1.png
static-image-3.png
static-image-4.png
static-image-5.png

static-image-22.png

Vervolgens zal onze shell deze bestandsnamen als volgt interpreteren:

static-image-1.png
static-image-10.png
static-image-11.png

static-image-19.png
static-image-2.png

Om die reden zullen de frames in onze resulterende GIF niet op hun plaats zijn en niet animeren zoals we verwachten. Gelukkig zijn er twee oplossingen voor dit probleem. De voor de hand liggende oplossing zou zijn om voorloopnullen aan de bestandsnamen toe te voegen:

for a in [0-9]*.txt; do
    mv $a `printf %04d.%s ${a%.*} ${a##*.}`
done

Als alternatief kunnen we de bestandsnamen correct sorteren:

ls -1 | sort -n -t'-' -k3

De tweede oplossing is handig omdat we opdrachtvervanging kunnen gebruiken om de GIF-animatie te maken terwijl onze bestandsnamen intact blijven:

convert -delay 10 -loop 0 $(ls -1 | sort -n -t'-' -k3) anim.gif

Afhankelijk van de gegeven PNG-afbeeldingen kan de bestandsgrootte van onze resulterende GIF groot zijn. Gelukkig is er nog een ImageMagick-hulpprogramma genaamd mogrify, dat we kunnen gebruiken om de GIF te optimaliseren.

mogrify lijkt op converteren, maar mogrify schrijft naar het originele afbeeldingsbestand.

Laten we de grootte van ons GIF-bestand controleren:

ls -lh anim.gif
-rw-r--r-- 1 hey hey 1.8M Aug  4 16:09 anim.gif

Laten we het nu optimaliseren:

mogrify -layers optimize -fuzz 10% anim.gif

Afhankelijk van de GIF-bestandsgrootte kan dit lang duren. Als onze afbeelding is geoptimaliseerd, kunnen we de grootte ervan controleren:

-rw-r--r-- 1 hey hey 755K Aug  4 16:34 anim.gif

Alternatief: FFmpeg

FFmpeg is een krachtig opdrachtregelprogramma dat wordt gebruikt om multimediabestanden en streams te manipuleren en verwerken.

FFmpeg wordt standaard niet meegeleverd met de meeste Linux-distributies. In dat geval kunnen we het vanuit onze pakketrepository installeren met de pakketnaam ffmpeg.

Nadat FFmpeg is geïnstalleerd, laten we het verifiëren:

ffmpeg -v
ffmpeg version n5.0.1 Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 12.1.0 (GCC)

3.1. Een GIF maken met FFmpeg

Net als bij converteren voeden we onze invoer-PNG-bestanden naar FFmpeg, passen enkele opties toe en specificeren de uitvoerbestandsnaam die eindigt met de extensie .gif:

ffmpeg -framerate 60 -pattern_type glob -i '*.png' -r 30 anim.gif

Laten we het opsplitsen:

-pattern_type specificeert het type patroon dat we kunnen gebruiken om gemakkelijk onze afbeeldingen te selecteren
-framerate optie verwacht het aantal frames per seconde voor het uitvoerbestand
-i optie specificeert onze invoer-PNG-bestanden als een glob-patroon
-r geeft aan hoe afbeeldingen moeten worden gekozen op basis van de framerate die we hebben opgegeven

We hebben onze uitvoerbestandsnaam opgegeven als anim.gif. FFmpeg berekent het doelformaat uit de extensie.

De optie -r die we hebben gebruikt, is interessant. Het wordt gebruikt om frames per seconde op te geven. We hebben dit echter al gespecificeerd in de optie -framerate. Het probleem hier is dat afbeeldingsbestanden geen framerates hebben.

Daarom zal FFmpeg, door gebruik te maken van -framerate en -r, dit interpreteren als 60/30. Omdat 60/30 resulteert in 2, zal FFmpeg elke twee afbeeldingen een afbeelding kiezen. Dit kan ons wat ruimte besparen als we het nodig hebben. We hoeven deze optie echter helemaal niet te specificeren.

Als alternatief kunnen we de opdracht inkorten:

ffmpeg -pattern_type glob -i "*.png" -r 60/30 out.gif

3.2. Het optimaliseren van de GIF

Standaard is FFmpeg redelijk goed in het optimaliseren van onze uiteindelijke uitvoer. Hier is de grootte van de GIF zonder de frames-optie:

ls -lh anim.gif
-rw-r--r-- 1 hey hey 907K Aug  5 00:56 anim.gif

Met de optie -r 60/30 is de uitvoer relatief klein:

ls -lh anim.gif
-rw-r–r– 1 hey hey 83K Aug 5 01:04 anim.gif

Als alternatief kunnen we ook een schaalfilter toepassen om de grootte te verkleinen:

ffmpeg -pattern_type glob -i “*.png” -vf scale=512:-1 anim.gif

-vf geeft aan dat we een videofilter willen toepassen
het schaalfilter geeft aan dat we de uiteindelijke afbeelding willen schalen
Het argument 512:-1 geeft de breedte en hoogte van de GIF aan

Het argument -1 voor hoogte betekent dat we onze hoogte evenredig willen houden met de breedte van de GIF.

Laten we de bestandsgrootte controleren nadat we de opdracht hebben uitgevoerd:

ls -lh anim.gif
-rw-r–r– 1 hey hey 636K Aug 5 01:07 anim.gif


We kunnen het schaalvideofilter combineren met de frameoptie om nog kleinere GIF’s te krijgen.

maandag 19 februari 2024

Een VNC server in Linux Mint

We gaan de X11VNC server hiervoor gebruiken, maar installeren eerst SSH server, zodat we op afstand in ieder geval met de terminal de machine kunnen beheren:

sudo apt install openssh-server

ssh moet als het goed is nu gelijk werken, naar dat kun je checken met:

systemctl is-enabled ssh

Je kunt nu op afstand met bijvoorbeeld Remmina een terminal benaderen om de machine te beheren.
We verwijderen nu eerst het programma vino, omdat dat kan interfereren met X11vnc:

sudo apt purge vino

vervolgens installeren we x11vnc

sudo apt update
sudo apt install x11vnc

Nu voeren we een wachtwoord in dat we gebruiken om in te loggen in de VNC sessie:

x11vnc -storepasswd 

en type het paswoord in om mee in te loggen in de VNC server. Het wachtwoord wordt opgeslagen in ~./vnc/passwd . Je kunt de server nu starten met:

x11vnc -usepw -display :0

Nu kun je met iedere VNC viewer inloggen met het betreffende password.

De volgende stap is om de VNC server automatisch te starten. Daarvoor moet je eerst een nieuw bestand maken met het volgende commando:

sudo nano /etc/systemd/system/x11vnc.service

Plak daarin de volgende tekst:

[Unit]
Description=Start X11VNC at startup.After=multi-user.target 
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /home/gebruikersnaam/.vnc/passwd -rfbport 5900 -shared 
[Install]
WantedBy=multi-user.target

Vervang “gebruikersnaam” voor jouw gebruikersnaam op de host machine. Nu moet de systemd manager configuratie herladen worden:

sudo systemctl daemon-reload

Hierna het commando om de srervice te starten bij het opstarten van de machine:

sudo systemctl enable x11vnc.service

Nu zal de VNCserver starten als de machine opnieuw is opgestard. Je kunt de service ook gelijk starten met dit commando:

sudo systemctl start x11vnc.service

Verander de Hostname van een linux installatie

gebruik het volgende commano in de terminal om een hostname aan te passen:

hostnamectl set-hostname 'nieuwenaam'

controleer met het commando: hostname of de verandering is doorgevoerd. Als het goed is werd om jouw wachtwoord gevraagd.

Als je in een terminal zit, verandert de naam niet gelijk. voer exit in en start een nieuwe terminal om de nieuwe te zien voor de commandoprompt.

HTTPS installeren op een Apache 2 server op de Raspberry PI

Veilige http heet https. Om dat te installeren op een Apache2 webserber gebrui de volgende commando’s

sudo apt-get install openssl

sudo mkdir /etc/apache2/ssl

sudo openssl req -x509 -nodes -days 2365 -newkey rsa:2048 -out /etc/apache2/ssl/server.crt -keyout /etc/apache2/ssl/server.key

sudo ln -s /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/000-default-ssl.conf

Voer nu de gegevens van jouw website in

sudo nano /etc/apache2/sites-enabled/000-default-ssl.conf

edit dit bestand en zoek:

SSLEngine on

en pas deze sleutels aan:

SSLCertificateFile    /etc/apache2/ssl/server.crt

SSLCertificateKeyFile /etc/apache2/ssl/server.key

Sluit nano en sla op (CTRL X en bevestigen om op te slaan)

Om alles in te lezen geef:

sudo a2enmod ssl

sudo a2ensite default-ssl

herstart nu de Apace2 server:


sudo service apache2 restart

En geef je raspberry Pi login wachtwoord om de authenticatie voor de org.freedesktop.systemd1.manage-unbits te doen.
Als je nu een webpagina via https opvraagt zal de browser vragen te bevestigen dat je het certificaat accepteert of bevestiging vragen om onveilig door te gaan. In bede gevallen kan je de website lezen.





ZX Spectrum SE

De SE, met codenaam Chloe, is een gemodificeerde Timex TC2048. De wijzigingen zijn gespecificeerd door Andrew Owen en ontworpen en geïmplementeerd door Jarek Adamski. Binnen elke sectie vindt u mogelijk links naar aanvullende informatie elders in deze FAQ, of naar andere referentiedocumenten. Lees er hier alles over:

https://www.worldofspectrum.org/faq/reference/sereference.htm

Speccybob wordt gehost op een andere URL, waarna worldofspectrum ons vertelt:

http://sblive.narod.ru/ZX-Spectrum/SpeccyBob/SpeccyBob.htm

De circuits zijn hier te vinden:

http://www.zebadger.com/speccybob/

Terminal met een standaard boodschap beginnen.

Soms is het handig om de terminal te starten met een standaard boodschap om bijvoorbeeld instructies te geven. Iedere gebruiker kan dat voor...