Bij een standaard installatie van KDE wordt een aantal programma's meegeleverd die zo nu en dan van pas kunnen komen vanaf de shell. Het is daardoor mogelijk om bepaalde KDE-technologieƫn vanuit een shell-script te kunnen gebruiken. In dit artikel laat ik een vijftal programma's zien die je niet in het programmamenu zult aantreffen: kdialog, kioclient, ktrash, kquitapp en kdebugdialog.
kdialog
Het eerste commando waar we naar kijken is kdialog. Dit commando stelt je in staat om eenvoudige dialoogjes te genereren vanaf de commandoprompt. Je kan bijvoorbeeld om een bevestiging vragen of de gebruiker vragen waar een bestand opgeslagen moet worden door middel van een vertrouwd uitziend dialoogje.
Enkele voorbeelden:
Om bijvoorbeeld een Ja/Nee-vraag te stellen voer je het volgende commando uit:
Dit zal resulteren in:

Je kan vervolgens de return code van dat commando controleren om te bepalen welke knop de gebruiker heeft ingedrukt (in dit geval: 0 is Ja en 1 is Nee).
Of om het vertouwde dialoog in beeld te brengen om een bestand op te slaan typ je:
De twee laatste parameters zijn optioneel. De eerste geeft de startmap aan en de tweede een bestandsexensie waarop wordt gefilterd. Als de gebruiker het venster gesloten heeft, geeft de return code wederom aan of de gebruiker OK of Annuleren heeft geklikt. Op de standard output wordt het pad opgegeven dat de gebruiker heeft opgegeven.
Om alle mogelijkheden van KDialog te bekijken kan je de parameter --help meegeven. Het is biedt dus heel veel mogelijkheden om met een eenvoudig shellscript toch iets grafisch te bewerkstelligen.
kioclient
Met het commando kioclient kan je bestandsoperaties uitvoeren vanaf de commandoprompt. Het gaat hier met name om het openen, kopiƫren en verplaatsen van bestanden.
Zo kan je bijvoorbeeld een PDF-bestand, dat op een andere computer staat, openen met het volgende commando:
In dit geval met SSH komt er een grafisch authenticatiedialoogje in beeld en vervolgens zal het juiste programma geopend worden met daarin de PDF. Maar uiteraard kan ieder protocol gebruikt worden.
Een handige invocatie van dit commando is:
Het zal de huidige werkmap openen in je standaard bestandsbeheerder.
Er is ook een apart programma dat precies hetzelfde doet als kioclient exec: kde-open.
Naast exec zijn er nog een aantal andere subcommando's voor kioexec:
- copy Kopieer een of meerdere bestanden. Er is ook een apart programma dat precies hetzelfde doet: kde-cp.
- move Verplaats een of meerdere bestanden. Met dit commando kan je bijvoorbeeld een bestand in de prullenbak van KDE gooien:
kioclient move ./bestand.bak.orig~ trash:/Er is ook een apart programma dat precies hetzelfde doet: kde-mv.
- cat Laat de inhoud van een bestand zien op de standard output.
- download Download het bestand naar een opgegeven locatie.
- openProperties Open de eigenschappen van een map of bestand.
Zoals hierboven al is vermeld, is het mooie van deze commando's dat alle protocollen door elkaar gebruikt kunnen worden. Het is dus mogelijk om een bestand van internet (http://) te downloaden en het rechtstreeks op te slaan op een andere computer (sftp://).
ktrash
Met dit commando kan de prullenbak geleegd worden vanaf de commandoprompt:
Je kan ook een bestand in de prullenbak weer herstellen naar de oorspronkelijke locatie:
kquitapp
Gebruik dit commando als je een KDE-programma netjes wilt afsluiten. Dit zal niet werken als een programma vastgelopen is, dan is er nog altijd het commando kill.
kdebugdialog
kdebugdialog is een programma waarmee je de debugteksten van KDE-programma's kunt dirigeren. Wanneer je het commando uitvoert krijg je het volgende dialoog in beeld:

Je kan hier per KDE-component of -programma kiezen of je debug-uitvoer wilt zien wanneer je een programma vanaf de console uitvoert. Dit is handig om irrelevante debug-informatie eruit te filteren bij het opstellen van een bugrapport.
Wanneer je de parameter --fullmode meegeeft wordt de nauwkeurigheid nog verder verhoogd:

Per component wordt er onderscheid gemaakt tussen verschillende berichttypen (bijv. algemene informatie en foutmeldingen). Je kan per type een eigen doel opgeven: bijvoorbeeld alle algemene informatie naar de shell en alle foutmeldingen opslaan in een bestand. Maar het moet gezegd worden dat deze graad van nauwkeurigheid zelden nodig is.