dinsdag 21 januari 2025

Installeer een theme in Grub bij Grub2

 


je kunt zelf een theme maken of er een downloaden vanaf internet.

Plaats het theme in een aparte map in /boot/grub/theme/

Vervolgens moet je dit bestand aanpassen:

sudo xed /etc/default/grub

Voeg deze regel toe,

GRUB_THEME=/boot/grub/theme/[THEME_FOLDER]/theme.txt

in mijn geval is de  THEME_map sinclair, dus dan wordt dat:

GRUB_THEME=/boot/grub/theme/sinclair/theme.txt

save het bestand.

en daarna moet grub worden ge-update

sudo update-grub 

en daarna zal grub grub aangepast zijn na een herstart.

zaterdag 18 januari 2025

Maak een eigen Linux CD

 

  1. Het voorbereiden van de omgeving

        Stel enkele variabelen in

export WORK=~/work
export CD=~/cd
export FORMAT=squashfs
export FS_DIR=casper

De WORK-directory is waar onze tijdelijke bestanden en het koppelpunt zich zullen bevinden. De CD is de locatie van de CD-boom. FORMAT is het bestandssysteemtype. Wij gaan een gecomprimeerde squashfs gebruiken. FS_DIR is de locatie van de daadwerkelijke bestandssysteemimage binnen de cd-boom.

 

Maak de CD en de WORK-directorystructuur:

sudo mkdir -p ${CD}/{${FS_DIR},boot/grub} ${WORK}/rootfs
Installeer enkele pakketten op het systeem:

sudo apt-get update

sudo apt-get install grub2 xorriso squashfs-tools
Kopieer uw installatie naar het nieuwe bestandssysteem

sudo rsync -av --one-file-system --exclude=/proc/* --exclude=/dev/* \
--exclude=/sys/* --exclude=/tmp/* --exclude=/home/* --exclude=/lost+found \
--exclude=/var/tmp/* --exclude=/boot/grub/* --exclude=/root/* \
--exclude=/var/mail/* --exclude=/var/spool/* --exclude=/media/* \
--exclude=/etc/fstab --exclude=/etc/mtab --exclude=/etc/hosts \
--exclude=/etc/timezone --exclude=/etc/shadow* --exclude=/etc/gshadow* \
--exclude=/etc/X11/xorg.conf* --exclude=/etc/gdm/custom.conf \
--exclude=/etc/lightdm/lightdm.conf --exclude=${WORK}/rootfs / ${WORK}/rootfs
  • Opmerking: rsync wordt gebruikt in plaats van cp om voordeel te halen uit de --one-file-system en --exclude opties. 
  • Als u een aparte opstartpartitie heeft, moet u deze kopiëren met behulp van de volgende opdracht:

sudo cp -av /boot/* ${WORK}/rootfs/boot

(Optioneel) Kopieer instellingen naar uw thuismap:

  • Als u de instellingen van uw gebruikersaccount, die in uw thuismap zijn opgeslagen, wilt behouden, kunt u deze kopiëren naar ${WORK}/rootfs/etc/skel/. Maar eerst moeten we definiëren welke bestanden we willen kopiëren. Ik gebruik bijvoorbeeld cinnamon als mijn D|esktop beheerder, en het slaat alle instellingen op in een map met de naam .config in mijn thuismap, dus ik ga .config toevoegen aan de variabele $CONFIG:

(Optioneel)

CONFIG='.config .bashrc'

Kopieer nu de CONFIG-bestanden met behulp van de volgende opdracht (in een keer ingeven in de terminal): (optioneel)

cd ~ && for i in $CONFIG
do
sudo cp -rpv --parents $i ${WORK}/rootfs/etc/skel
done

Chroot in het nieuwe systeem en pas het systeem aan

  1. Chroot naar het gekopieerde systeem na het aankoppelen van proc en dev:

sudo mount  --bind /dev/ ${WORK}/rootfs/dev

sudo mount -t proc proc ${WORK}/rootfs/proc

sudo mount -t sysfs sysfs ${WORK}/rootfs/sys

sudo mount -o bind /run ${WORK}/rootfs/run

sudo chroot ${WORK}/rootfs /bin/bash

N.B: Alle opdrachten die binnen een chroot worden uitgevoerd, worden gemarkeerd met (chroot).

  • Nu u zich in de chroot-omgeving bevindt, typt u het volgende commando:

(chroot)

LANG=
  1. Installeer essentiele pakketten voor de live CD:

(chroot)

apt-get update

(chroot)

apt-get install casper 

casper contains the live scripts.

3. (Optioneel) Als je wilt dat je live-cd een installatieprogramma heeft, installeer dan het Ubuntu-installatieprogramma:

(chroot)

apt-get install ubiquity ubiquity-frontend-gtk

Opmerking: mensen die kde gebruiken vervangen het vorige commando door: 

(chroot)

apt-get install ubiquity ubiquity-frontend-kde 

Eer voor deze tip gaat naar Fragadelic auteur van remastersys.

(Optionele stap)
Installeer alle pakketten die u op de cd wilt hebben. Sommige van de volgende pakketten zijn handig in noodsituaties:

apt-get install gparted testdisk wipe partimage xfsprogs reiserfsprogs jfsutils ntfs-3g dosfstools mtools

Update de initramfs: 

Update eerst modules.dep:

(chroot)

depmod -a $(uname -r)

(chroot)

update-initramfs -u -k $(uname -r)

Zoals hierboven al vermeld, is initramfs verantwoordelijk voor een groot deel van de voorbereiding die nodig is tijdens het opstarten van de CD/DVD. De bijgewerkte initramfs bevatten nu de live scripts die met casper zijn geïnstalleerd.

Verwijder toegevoegde niet-systeemgebruikers

(chroot)

for i in `cat /etc/passwd | awk -F":" '{print $1}'`
do
        uid=`cat /etc/passwd | grep "^${i}:" | awk -F":" '{print $3}'`
        [ "$uid" -gt "998" -a  "$uid" -ne "65534"  ] && userdel --force ${i} 2> /dev/null
done

Niet-systeemgebruikers zijn door u aangemaakte gebruikers met een gebruikers-ID hoger dan 999.

N.B: Als er een gebruiker met uid 999 aanwezig is, verwijderen we deze ook omdat die uid behouden blijft voor de live cd-gebruiker.
Maak het systeem schoon. Maak eerst de apt-cache schoon

(chroot)

apt-get clean

Ruim alle extra logbestanden op

(chroot)

find /var/log -regex '.*?[0-9].*?' -exec rm -v {} \;

De resterende logbestanden worden op nul gezet, anders gaat het systeem klagen als ze worden verwijderd.

(chroot)

find /var/log -type f | while read file
do
        cat /dev/null | tee $file
done

(chroot)

rm /etc/resolv.conf /etc/hostname

Verlaat chroot

(chroot)

exit

Bereid de CD-directoryboom voor


Kopieer de kernel, de bijgewerkte initrd en memtest voorbereid in de chroot:

export kversion=`cd ${WORK}/rootfs/boot && ls -1 vmlinuz-* | tail -1 | sed 's@vmlinuz-@@'`

sudo cp -vp ${WORK}/rootfs/boot/vmlinuz-${kversion} ${CD}/${FS_DIR}/vmlinuz

sudo cp -vp ${WORK}/rootfs/boot/initrd.img-${kversion} ${CD}/${FS_DIR}/initrd.img

sudo cp -vp ${WORK}/rootfs/boot/memtest86+.bin ${CD}/boot

(optioneel) Genereer manifest:

  • Opmerking: deze stap is alleen nodig als u het alomtegenwoordige Ubuntu-installatieprogramma hebt geïnstalleerd. Met deze stap worden twee bestanden gegenereerd (filesystem.manifest en filesystem.manifest-desktop).

(optineel)

sudo chroot ${WORK}/rootfs dpkg-query -W --showformat='${Package} ${Version}\n' | sudo tee ${CD}/${FS_DIR}/filesystem.manifest

(optineel)

sudo cp -v ${CD}/${FS_DIR}/filesystem.manifest{,-desktop}

(optineel)

REMOVE='ubiquity casper user-setup os-prober libdebian-installer4'

(optineel)

for i in $REMOVE
do
        sudo sed -i "/${i}/d" ${CD}/${FS_DIR}/filesystem.manifest-desktop
done

(optineel) Deze twee bestanden worden door het ubiquity-installatieprogramma gebruikt bij installatie op de harde schijf. Deze twee bestanden zijn slechts lijsten met pakketten. Ubiquity vergelijkt deze twee bestanden en verwijdert pakketten die uniek zijn voor filesystem.manifest. Op deze manier worden bij installatie op de harde schijf pakketten zoals casper, die alleen nuttig zijn op een live-cd/dvd, verwijderd. Deze pakketten die tijdens de installatie worden verwijderd, worden gedefinieerd in de variabele $REMOVE

  1. Ontkoppelen,  gekoppelde mappen:

sudo umount ${WORK}/rootfs/proc

sudo umount ${WORK}/rootfs/sys

sudo umount ${WORK}/rootfs/dev

Converteer de directorystructuur naar een squashfs:

sudo mksquashfs ${WORK}/rootfs ${CD}/${FS_DIR}/filesystem.${FORMAT} -noappend

Note: Make sure the resulting file size can fit into your live media.

  1. Maak filesystem.size

echo -n $(sudo du -s --block-size=1 ${WORK}/rootfs | tail -1 | awk '{print $1}') | sudo tee ${CD}/${FS_DIR}/filesystem.size
  1. bereken MD5

find ${CD} -type f -print0 | xargs -0 md5sum | sed "s@${CD}@.@" | grep -v md5sum.txt | sudo tee -a ${CD}/md5sum.txt
  1. Maak Grub the bootloader van de CD 
  2. Maak the grub.cfg

sudo xed ${CD}/boot/grub/grub.cfg
  • Kopieer de volgende tekst erin en sla deze op.

set default="0"
set timeout=30
 
set theme="/cdrom/boot/grub/theme/sinclair/theme.txt" 
menuentry "Linux GUI" {
linux /casper/vmlinuz boot=casper quiet splash
initrd /casper/initrd.img
}

menuentry "Linux in safe mode" {
linux /casper/vmlinuz boot=casper xforcevesa quiet splash
initrd /casper/initrd.img
}

menuentry "Linux CLI" {
linux /casper/vmlinuz boot=casper textonly quiet splash
initrd /casper/initrd.img
}

menuentry "Linux GUI persistente mode" {
linux /casper/vmlinuz boot=casper persistent quiet splash
initrd /casper/initrd.img
}

menuentry "Linux GUI vanuit RAM" {
linux /casper/vmlinuz boot=casper toram quiet splash
initrd /casper/initrd.img
}

menuentry "Boot from the first hard disk" {
set root=(hd0)
chainloader +1
}

Maak de CD/DVD

  1. Make the ISO file met iso level 3 als deze groter is dan 4 Gb

sudo grub-mkrescue -o ~/live-cd.iso ${CD}  -iso-level 3

zaterdag 11 januari 2025

Lutris, games installeren via een centraal beheerplatform.

Lutris is een open gamingplatform voor Linux. 

Een deb package voor Ubuntu en Linux mint is beschikbaar vanaf de release pagina op Github: https://github.com/lutris/lutris/releases

Packages compatible met Debian (en Mint debian edition) vind je hier openSUSE Build Service.

Je kunt een repository voor Debian toevoegen via de terminal om automatische updates te krijgen:

echo "deb [signed-by=/etc/apt/keyrings/lutris.gpg] https://download.opensuse.org/repositories/home:/strycore/Debian_12/ ./" | sudo tee /etc/apt/sources.list.d/lutris.list > /dev/null
wget -q -O- https://download.opensuse.org/repositories/home:/strycore/Debian_12/Release.key | gpg --dearmor | sudo tee /etc/apt/keyrings/lutris.gpg > /dev/null
sudo apt update
sudo apt install lutris


Overige linux distributies staan hier uitgelkegd in het Engels: 

https://lutris.net/downloads

Lutris helpt bij het installeren en spelen van videogames uit alle tijdperken en vanaf de meeste spelsystemen. Door bestaande emulators, herimplementaties van engine en compatibiliteitslagen te benutten en te combineren, krijgt u een centrale interface om al uw games te starten. De client kan verbinding maken met bestaande services zoals Humble Bundle, GOG en Steam om gamebibliotheken gemakkelijk beschikbaar te maken. Het downloaden en installeren van games is geautomatiseerd en kan worden aangepast via door de gebruiker gemaakte scripts. 

Voordat u Lutris installeert (of in ieder geval voordat u games gaat spelen), moet u ervoor zorgen dat uw computer volledig is ingesteld om games uit te voeren. Dit houdt onder meer in dat u ervoor zorgt dat uw grafische stuurprogramma's zijn geïnstalleerd en up-to-date zijn, dat Vulkan is geïnstalleerd en dat de 32-bits bibliotheken voor OpenGL / Vulkan aanwezig zijn. Als een van deze componenten ontbreekt, geeft Lutris een waarschuwing. We raden u ook ten zeerste aan Wine vanuit uw pakketbeheerder te installeren. Dit kan elke versie van Wine zijn (stabiel, ontwikkelings- of stagingversie), zolang deze zowel 32bit- als 64bit-varianten gebruikt. Lutris zal er meestal niet rechtstreeks gebruik van maken, maar de peer-afhankelijkheden die vanuit het Wine-pakket zijn geïnstalleerd, zijn nodig om onze Wine-versie correct te laten werken.

Lutris installeren

Ga naar de downloadpagina en volg de instructies voor je Linux distributie.

Koppel uw accounts door hierop in te loggen.

Gebruik het gedeelte Sources in de zijbalk om in te loggen bij gamewinkels of op uw Lutris-account. Nadat je bent ingelogd, verschijnt jouw gamebibliotheek in de juiste sectie. Voor de Steam-service hoeft u niet in te loggen, maar moet Steam op uw systeem zijn geïnstalleerd en moet uw account openbaar zijn (tenminste voor de duur van de synchronisatie).

Runners zijn de programma's die Lutris gebruikt om games uit te voeren. Lutris levert deze programma's, zodat je ze niet op jouw systeem hoeft te installeren (behalve Wine, zoals eerder vermeld).

Runners kunnen compatibiliteitslagen, emulators of game-engines zijn die games vanaf verschillende hardware- en softwareplatforms kunnen uitvoeren. Als je dus bijvoorbeeld Atarri spellen wilt spellen, moet je de Atari runner installeren.


Lutris werkt met  Battle.net, Epic games store, EA app en Ubisoft Connect en met Steam en GOG.

Games van GOG, Epic en Prime starten via een centrale App: Heroic

Op linux (en Mac en windows) kunnen spellen die (via Wine of Proton) gespeeld kunnen worden eenvoudig gestart worden via een nieuwe lanceerapp. Zowel spellen van GOG, Epic en Prime gaming kunnen zo centraal worden beheerd, geupdate en gestart.


De starter staat op Github en is hier te vinden:

https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher

Debian, Ubuntu en Linux Mint:

Download de .deb file  vanaf deze locatie: latest release.

Dubbel klik om het te openen in gdebi, of geef dit commendo in de terminal

 sudo dpkg -i heroic_*_amd64.deb

om het te installeren. Daarna starten en inloggen in de game platform account die je gebruikt.



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.

Installeer een theme in Grub bij Grub2

  je kunt zelf een theme maken of er een downloaden vanaf internet. Plaats het theme in een aparte map in /boot/grub/theme/ Vervolgens moet ...