X-toepassingen in Mir draaien

In een vorige nummer van Linux Magazine legden we je uit hoe je de experimentele desktopomgeving Unity 8 in Ubuntu 16.10 (“Yakkety Yak”) draait. Unity 8 bouwt voort op Canonicals eigen displayserver Mir en dus niet op Xorg. Leuk om eens te proberen, maar de meeste toepassingen vereisen nog altijd een X-server. Die toepassingen kun je dus niet draaien als je voor Unity 8 kiest. Of wel? Gelukkig heeft Canonical hiervoor een oplossing ontwikkeld: Libertine. Deze software creëert een container waarin XMir draait, een compatibiliteitslaag bovenop Mir met de interface van een X-server.

De installatie is eenvoudig:

*****************start listing****************

sudo apt install libertine libertine-scope libertine-tools

*****************eind listing****************

Open daarna Libertine in de Apps-scope en klik op Install. Laat de invoervelden voor de containernaam en het wachtwoord leeg en klik op OK. Libertine creëert nu de container en installeert daarin de benodigde pakketten. Als dit na heel wat wachten voltooid is, klik dan op Ubuntu Yakkety Yak en daarna op het plusteken bovenaan rechts. Klik op Enter package name or Debian file en voer de pakketnaam in van een X-programma dat je onder Mir wilt draaien, zoals gimp. Klik op OK.

Na de installatie verschijnt het icoontje van het programma in de Apps-scope. Als je het programma start, werkt het op de achtergrond via de XMir-compatibiliteitslaag in de container. De programma’s hebben in die container gewoon toegang tot je vertrouwde bestanden, zodat je het in de praktijk niet merkt of een programma nu native van Mir gebruikmaakt of via XMir. Overigens is Unity 8 nog heel instabiel. Zo crashte de desktopomgeving toen we een screenshot wilden maken…

Link: https://wiki.ubuntu.com/Touch/Libertine

Foutmeldingen vertalen

De meeste van ons hebben de taal van hun Linux-distributie in het Nederlands staan. Dat werkt nou eenmaal prettiger dan in het Engels. Maar als je dan een foutmelding tegenkomt en wilt gaan googelen naar die melding om een oplossing te vinden, kom je vaak van een koude kermis thuis. Ons taalgebied is nu eenmaal erg klein in vergelijking met de Engelstalige Linux-gebruikers.

Gelukkig is hiervoor een eenvoudige oplossing: voer de opdracht die de foutmelding gaf nog eens uit, maar dan met LC_ALL=C ervoor. Met de omgevingsvariabele LC_ALL override je alle lokalisati-instellingen. De ‘C locale’ die je dan als waarde aan die variabele geeft, stelt de eenvoudigste ‘locale’ voor, met Amerikaans Engels als taal en ASCII-tekens als tekenset.

Het resultaat? Je krijgt de foutmelding in het Engels te zien en zult bij het googelen naar die melding een stuk meer resultaten te zien krijgen. Overigens verandert de taal met die omgevingsvariabele alleen tijdelijk en voor dat ene programma dat je ermee opstart, totdat je dat programma afsluit. Dat werkt ook voor grafische programma’s: in plaats van het programma via een klik in het applicatiemenu of op het bureaublad op te starten, start je het dan in een terminalvenster met LC_ALL=C ervoor.

Overigens schakel je met dezelfde truc eenvoudig een programma tijdelijk naar een andere taal over. Heb je bijvoorbeeld de Engelse taal in je Linux-distributie ingesteld, maar wil je één programma in het Nederlands uitvoeren, omdat je de uitleg in het Engels niet begrijpt, start het dan op met LC_ALL=nl_NL ervoor.

Ssl-certificaat van je servers controleren

Allerlei software maakt gebruik van TLS/SSL om netwerkverkeer te versleutelen. Bijvoorbeeld de open source cloudopslagsoftware Nextcloud en ownCloud. Als je de client van één van deze programma’s installeert, waarschuwt die je dat hij het ssl-certificaat van je server niet vertrouwt. Dat certificaat is immers standaard een zelf ondertekend certificaat. Maar jij weet uiteraard dat je eigen server te vertrouwen is. Alleen: hoe weet je zeker dat het certificaat dat de client krijgt hetzelfde is als datgene dat je op je server hebt geïnstalleerd? Misschien is er een man-in-the-middle aanval aan de gang, waarbij een aanvaller zijn eigen kwaadaardige server aan je presenteert, zodat je daar je accountgegevens invult.

Om er zeker van te zijn dat je met de juiste server bent verbonden, log je daarom bij die waarschuwing over het ssl-certificaat eerst op je server in via ssh en voer je de volgende opdracht uit:

 

*****************start listing****************

openssl x509 -in /etc/ssl/certs/ssl-cert-snakeoil.pem -noout -sha1 -fingerprint

*****************eind listing****************

Voer uiteraard een ander pad in als je sleutel op een andere locatie staat en vervang de optie -sha1 door -sha256 als je sleutel een ander hash-algoritme gebruikt. Je krijgt nu de digitale vingerafdruk van het ssl-certificaat van je server te zien.

Vergelijk die vingerafdruk nu met de vingerafdruk die de client in zijn waarschuwing toont. Beide tekenreeksen moeten identiek zijn, op het verschil tussen hoofdletters en kleine letters na. Klopt de vingerafdruk, dan geef je in je client aan dat je het certificaat vertrouwt. Zo krijg je niet elke keer opnieuw die waarschuwing en ben je zeker dat je met je eigen server verbonden bent en niet met een andere.

Gmail op je desktop

Gebruik je Gmail of Google Inbox, maar ben je niet zo’n fan van webapplicaties? Dan is WMail zeker iets voor jou. Het open source programma biedt het beste van Gmail en Google Inbox, maar integreert zich volledig met je desktopomgeving. Niet alleen in Linux, maar ook op Windows en macOS. Je krijgt desktopnotificaties bij nieuwe e-mails en het icoontje van WMail toont je in de tray hoeveel ongelezen mails je hebt. Bestanden kun je vanuit of naar je bestandsbeheerder slepen. Het programma heeft woordenboeken voor 43 talen en ondersteunt spellingscontrole en suggesties.

WMail is vooral interessant als je meerdere Google-accounts hebt. Je kunt ze allemaal door elkaar gebruiken (Gmail of Google Inbox) en je schakelt eenvoudig over tussen je accounts, zonder dat je hoeft uit te loggen en in te loggen. Overigens ondersteunt WMail alle sneltoetsen van Gmail en Google Inbox, zodat je geen nieuwe meer hoeft te leren.

Een ander sterk punt van WMail is dat het tot in detail is aan te passen aan je wensen. Er zijn allerlei instellingen, over de gebruikersinterface, notificaties, downloads, enz. En van elk account is afzonderlijk het uiterlijk en gedrag in te stellen. Je kunt het uiterlijk van je mailboxen zelfs met je eigen CSS-code aanpassen en het gedrag met je eigen JavaScript-code.

Link: https://thomas101.github.io/wmail/

Het verschil tussen twee directory’s

Er zijn heel wat situaties waarin je het verschil tussen twee directory’s wilt weten: welke bestanden zijn juist verschillend en waar verschillen de metadata, zoals bestandspermissies en eigenaarschap? Het programma difftree toont je deze verschillen en is speciaal ontwikkeld om snel te zijn. Het programma zit nog niet in de repository’s van de bekende distributies. Je moet het dus zelf nog compileren. Download de nieuwste versie van de website, pak die uit, ga naar de directory en compileer en installeer de code:

 

*****************start listing****************

cd difftree-0.5.9

./configure && make && sudo make install

*****************eind listing****************

De basiswerking is eenvoudig: roep het programma dt op met als argumenten twee of meer directory’s die je wilt vergelijken:

 

*****************start listing****************

dt dir1 dir2 dir3 dir4

*****************eind listing****************

Voer eens man dt uit om te zien wat de letters in de uitvoer betekenen: p voor veranderde permissies, + voor een nieuw bestand, – voor een verwijderd bestand enzovoort. Je kunt ook een directory analyseren en de resultaten naar een bestand schrijven (de optie -m gebruikt MD5-hashes voor de vergelijking):

 

*****************start listing****************

dt -m -w dir-original.txt dir1

*****************eind listing****************

Daarna kun je dit bestand in plaats van een directory gebruiken in dt-opdrachten om directory’s te vergelijken. Dit is ideaal om de toestand van een directory voor en na grote veranderingen te vergelijken, zonder dat je een volledige kopie van de directory hoeft bij te houden.

Link: http://www.uberadmin.com/Projects/difftree/