Tips en Trucs 2014

Internet diensten in de terminal

Zoeken op het internet is één van de meest gebruikte internet diensten. Met behulp van een tekst browser en enkele eenvoudige opdrachten kan je zoekacties uitvoeren in de terminal. Daarbij worden alle toeters en bellen die we de laatste jaren in de zoekmachines hebben zien verschijnen achterwege gelaten.

Toeters en bellen zoals uitschuivende voorvertoningen, automatisch aanvullen, enz. leiden in sommige gevallen meer af, dan dat ze een toegevoegde waarde hebben. Sommige gebruikers willen enkel zoekresultaten met een korte beschrijving en bijhorende koppeling zien.

Uitgewerkte zoekscripts zoals surfraw en goosh kan je terugvinden op het internet. Deze scripts kan je bijvoorbeeld gebruiken voor apparaten zoals de Raspberry Pi, e.d.m.

De praktijk

Onderstaande opdrachten zijn gebaseerd op een oplossing die ik hier vond. Zo'n oplossing die je ergens hebt gezien of gevonden kan je steeds naar eigen wens aanpassen. Zo wordt op dezelfde pagina voorgesteld om lynx te gebruiken en de uitvoer ervan door te sluizen naar less (pipe).

De originele oplossing gebruikt de standaard grafisch browser om de zoekresultaten weer te geven. Het uitschakelen van de grafische weergave is echter ons uitgangspunt. Je kunt de grafische browser vervangen door elinks of de populairdere lynx tekst browser. Wij gebruiken in onderstaande functie de lynx tekst browser. Controleer dus voor het uitproberen van de functie of de lynx tekst browser op uw systeem is geïnstalleerd. Bij openSUSE installeer je lynx met de volgende opdracht:

dany@linux-55yl:~> sudo zypper install lynx
root's password:
Ophalen van metadata uit installatiebron 'devel:languages:python' ..........[klaar]
Cache van bron 'devel:languages:python' bouwen .............................[klaar]
Gegevens van installatiebron laden...
Lezen van geïnstalleerde pakketten...
'lynx' is al geïnstaleerd.
Geen kandidaat voor bijwerken van 'lynx-2.8.7-24.1.2.x86_64'. De hoogst beschikbare versie is al geïnstalleerd.
Afhankelijkheden tussen pakketten oplossen...

Niets te doen.

Zoals je merkt is lynx op mijn systeem reeds geïnstalleerd.

Daarenboven heb ik de zoek URL moeten aanpassen. Google kan ten allen tijde de zoek URL naar goeddunken aanpassen. Telkens dit gebeurt, moet de functie aangepast worden. Deze zoek URL kan je echter eenvoudig achterhalen door de URL tijdens een zoeksessie in een browser in het oog te houden.

dany@linux-55yl:~> search()
> {
>     search=""
>     echo "$1"
>     for term in $*; do
>         search="$search%20$term"
>     done
>     lynx "http://google.be/search?q=$search" #voor startpage resultaten gebruik je "https://startpage.com/do/search/?q=$search"
> }

De groter dan tekens verschijnen automatisch aan het begin van de regel om aan te duden dat de functie nog niet compleet is. De functie wordt afgesloten met het sluit de accolade teken.

De zoekfunctie gebruik je als volgt:

dany@linux-55yl:~> search pindanet linux

Bij deze zoekactie worden twee zoekwoorden gebruikt (pindanet en linux). Daar Google cookies gebruikt moet je de vraag

www.google.com koekje: P=ID=32e1c025feee64 Toestaan? J)a, N)ee, A)ltijd, V)-nooit

beantwoorden. Om een cookie te aanvaarden druk je op de toets y (de vertaling naar j werkt blijkbaar niet). En aangezien de Google webpagina meerdere cookies gebruikt, zul je deze vraag meerdere keren moeten beantwoorden.
Zoekresultaten in de tekstbrowser lynx
Onderaan het lynx scherm staat een korte handleiding. Samengevat gebruik je de pijltoetsen op en neer om koppelingen te selecteren, druk je Return om een geselecteerde koppeling te openen en druk je q om lynx af te sluiten.

Verder aanpassen

Raadpleeg de manual van lynx om bijvoorbeeld de cookievraag automatisch met een standaard antwoord te beantwoorden. Zo gebruikt lynx een configuratiebestand met de naam lynx.cfg en kan je lynx starten met opties om lynx in te stellen. Aan u de keuze.

Heeft u uiteindelijk een werkende functie geschreven, dan voeg je deze best toe aan het configuratiebestand .bash.rc in uw persoonlijke map. De zoekfunctie wordt daardoor bij het starten van elke bash terminal automatisch actief.

Of gebruik je liever een alternatieve tekst browser zoals w3m, de oudere links en xlinks, retawq, netrik, enz.

Ook andere internet diensten kan je op een gelijkaardige manier in een terminal gebruiken, dan denken we aan weersvoorspelling, opvragen van de koers van een aandeel, vertalen, woordenboeken, wikipedia, enz. Een voorbeeld (hoewel gedateerd en dus bijna zeker aan te passen) kan je vinden bij Novell.