Door het venster

ArticleCategory:

Applications

AuthorImage:

[Foto van de Auteur]

TranslationInfo:

original in es José Manuel Laveda Molina

es to en Miguel A Sepulveda

en to nl Tom Uijldert

AboutTheAuthor:

Abstract:

In deze bijdrage heb ik een aantal aantekeningen bijeengebracht over mijn persoonlijke ervaringen met diverse Window Managers (WM). Het zijn gewoon maar wat ideeën en commentaar waarvan ik denk dat ze je wellicht tot nut kunnen zijn.

ArticleIllustration:

[Illustratie]

ArticleBody:

Voorwoord

Iedere WM werkt met andere grafische hulpmiddelen, programmeertalen enz. (soms in een "typische" combinatie, zoals we dadelijk kunnen zien). De lezer is dus gewaarschuwd, dit maakt een echt objectieve beoordeling van de diverse grafische werkomgevingen onmogelijk. De kwaliteit van de grafische hulpmiddelen, tijd benodigd voor de ontwikkeling, het aantal ontwikkelaars en vele andere factoren zijn van invloed op een keuze van "het beste pakket". Lezers dienen hier rekening mee te houden.

Aan de andere kant zijn persoonlijke smaak en voorkeuren nogal subjectief. Met dit alles in het achterhoofd zal ik toch proberen zo objectief mogelijk te zijn.

Laat ik eerst de scripts behandelen die me in staat stellen om twee Window Managers op te starten. Deze zijn zeer nuttig geweest daar ze me in staat stelden snel van bureaublad te verwisselen (met dank aan M. Soriano :)).

Bestand: /usr/local/flin:

#! /bin/sh
export WM=after
if [ $# = 0 ]; then
        exec startx -- -bpp 16 :0
else
        if [ $1 = 'dual' ]; then
                export WM=after
                exec startx -- -bpp 16 :0 &
                sleep 5
                export WM=kde
                exec startx -- :1 &
        fi
        if [ $1 = 'kde' ];then
                export WM=kde
                exec startx -- -bpp 16 :0
        fi

fi
Mijn $HOME/.Xclients:
#! /bin/bash
#
# Styx's .xinitrc
#
####################################

exec 2>$HOME/xinit.error.log

echo "Parameter 1 $1 " >&2

sysresources=$HOME/.Xdefaults

# merge in defaults and keymaps

if [ -f $sysresources ]; then
         xrdb -merge $sysresources
fi

# You may at this point start your personal applications.
# e.g xscreensaver

# xscreensaver -timeout 2 -cycle 1 &

xmodmap ~/resources/X11/Mapeo.es

xhost +

# Agenda planifier

if [ -f /usr/local/lib/pland ]; then
         /usr/local/lib/pland &
fi

if [ $WM = "kde" ]; then
        exec startkde -display :1
else 
	exec afterstep -display :0
fi 
Met deze configuratie kan ik het volgende intikken:

Vele grafische hulpmiddelen en bibliotheken

Het eerste wat gebruikers in de war kan brengen is de ruime keuze in grafische en andere hulpmiddelen die gebruikt worden in iedere Window Manager (of grafische werkomgeving). Allen hebben daarbij één of andere public domain licentie, GPL/LGPL of iets dergelijks, die ze vrij te gebruiken maken.

Dit geeft, naar mijn mening, een probleem bij de gebruiker die slecht één omgeving wil gebruiken. Hij moet opletten welke componenten hij hiervoor moet hebben. In alle gevallen geeft de documentatie of de web pagina's van het betreffende project de volledige informatie.

Moet Linux een standaard grafische werkomgeving hebben?

De vraag klinkt wellicht gek en veel gebruikers hebben daarop een eenvoudig antwoord: "Gebruik degene die je het leukst vindt". Anderen kijken daar anders tegenaan en zien het als belangrijk voor de toekomstige evolutie van Linux.

Het doel is een grafische werkomgeving te creëren die makkelijk is in het gebruik, intuïtief, met krachtige online help mogelijkheden, complete integratie van de diverse applicaties en andere karakteristieken die ons dagelijks werk met het systeem verlichten en dit alles met de muis. Dit tegelijkertijd geheel geïntegreerd met de administratie en installatie van het bedrijfssysteem op de computer.

Sommige bedrijven zijn reeds gestart met het werk hieraan en dus hebben we nu de Caldera grafische werkomgeving die we bij de Caldera Linux distributie aantreffen, of de Red Hat CDE voor Linux. Gelukkig bestaat de Linux gemeenschap uit heel veel mensen, waarvan er een heel aantal actief zijn in de ontwikkeling van nieuwe software. Hierdoor zijn er een aantal vrije alternatieven voor de commerciële producten, waarvan er hier enkele worden behandeld.

Uiteraard moet het mensen vrij staan te kiezen maar met een goede grafische werkomgeving, speciaal voor Linux, zouden opmerkingen als "Linux ziet er niet zo gelikt uit als...", tot het verleden behoren. Even wat anders: heeft iemand wel eens een Linux machine werkend met een grafische werkomgeving gezien en is het daarbij opgevallen dat gebruikers niet zien dat het geen Microsoft Windows betreft?

Het is belangrijk om in te zien dat standaarden het leven voor programmeurs vereenvoudigd, hiermee zouden ze kunnen weten hoe Window Managers en applicaties met elkaar samenwerken. Veel applicaties leunen sterk op de interactie met de Window Manager.

We kunnen het geheel samenvatten met de woorden: "De discussie is net gestart".

KDE (de K Desktop Environment)

Mijn eerste ervaringen hiermee waren niet gemakkelijk. Ik moest de QT bibliotheek installeren. Daarna haalde ik de KDE Beta2 versie in rpm formaat van het net (ik gebruik RedHat 4.2). De desktop deed het niet en dus moest ik de Beta3 versie ophalen, compileren (een uur lang op mijn Intel Pentium 133 met 32 Mbyte geheugen) en installeren. Deze versie deed het goed. Overigens zijn de broncode voor de bibliotheken en KDE beschikbaar in de formaten rpm, .tar en .deb.

Na het instellen van de omgevingsvariabelen, en "configure;make;make install" is de eerste indruk van het pakket indrukwekkend. Hiermee hebben we een grafische omgeving die veel weg heeft van de op de markt verkrijgbare en ik kan de gebruiker alleen maar het advies geven om "die verlegenheid achter zich te laten en te 'surfen'". Terwijl er weinig tijd was voor het wennen aan de hulpmiddelen van de omgeving is het toch eenvoudig om KDE zonder al teveel problemen op de persoonlijke smaak in te stellen. De stijl kan worden ingesteld op Windows95-achtig of op Motif met kleuren van CDE, KDE enz. of zelfs het gebruik van een eigen kleurenpalet naar keuze. In figuur 1 een afbeelding van mijn bureaublad in de stijl Motif CDE (zo wordt ik niet herinnerd aan een ander bedrijfssysteem wat ik lang geleden links heb laten liggen :)).

[KDE main window]
Figuur 1. KDE Startvenster

Met de balk onder in het scherm en de "K" knop kunnen we alle hulpmiddelen van de grafische werkomgeving gebruiken. We kunnen van alles aan het menu toevoegen (met het hulpmiddel kmenuedit) of aan de balk.

Het eerste wat direct aanspreekt is de on-line help, gebaseerd op een bladerprogramma wat help voor applicaties aankan, man pagina's en (in de toekomst) 'info' bestanden. Met de rechter muisknop krijg je een menu op het scherm waar je "Help on the screen" kunt kiezen. Je kunt de taal voor eventuele meldingen instellen door het definiëren van de LANG variabele of via het KDE Control Center.

Een ander krachtig hulpmiddel is de File Manager (kfm). Hiermee kun je bestanden manipuleren én het Web op. We kunnen dus twee dingen met één programma.

[KDE Help]
Figuur 2. KDE On-Line Help

Het aantal hulpmiddelen van deze omgeving is heel groot, ingedeeld op netwerken, grafisch, administratie, multimedia en Internet groepen (de gebruiker kan kiezen welke software er wordt geïnstalleerd met het kiezen van de juiste pakketten). Iedereen met deze grafische werkomgeving zal minimaal de beschikking hebben over alle hulpmiddelen voor het dagelijks werk. Dat is ook de bedoeling van een dergelijke omgeving. Het integreren van een aantal hulpmiddelen, voldoende voor het dagelijks werk van een gebruiker.

We kunnen bijvoorbeeld eens de menukeuze "Utilities" gaan bekijken. We vinden hier een goede rekenmachine (tot 15 cijfers), een hex editor, grafische viewer, tijdsinstelling, floppy's formatteren, een soort agenda, "post-it" mogelijkheid, menu editor, terminal (kvt) en een hulmiddel voor het comprimeren van bestanden. Om de mogelijkheden van KDE en al deze hulpmiddelen te beschrijven zouden we al een compleet artikel nodig hebben, mogelijk zelfs een compleet nummer van _LF_.

Een nieuw snufje in Beta3 is het KDE Control Center. Hiermee kunnen we omgevingsvariabelen naar eigen smaak instellen. Hou daarbij in de gaten dat bepaalde dingen nog steeds als gebruiker root (met bijbehorende privileges) gedaan moeten worden, zoals met kuser voor het administreren van gebruikers en groepen. Dit snufje kan de "Settings" menukeuze uit het hoofdmenu vervangen. Het KDE Control Center is ideaal gereedschap voor het instellen van het bureaublad.

[KDE Control Center]
Figuur 3. KDE Control Center

Wanneer je met de muis op een willekeurig punt in de boom (links in de figuur) klikt opent dat het betreffende subsysteem. We kunnen dan naar hartelust instellen. De meeste instellingen kunnen meteen worden getest en ingesteld met de "Apply" knop. Er zijn maar een paar gevallen waarbij we het bureaublad moeten herstarten om het resultaat van wijzigingen te kunnen zien. Een eerste aanpassing kan bijvoorbeeld de taal zijn die wordt gebruikt voor op het bureaublad, via de keuze "Language" in het menu. Men kan maximaal drie talen instellen.

Voor het contact leggen met Internet via een modem kunnen we gebruik maken van het kppp programma. Nadat alle instellingen zijn ingevuld, kunnen we dit gebruiken om de lijn te besturen, de status van de connectie te bekijken, de verbruikte tijd en zelfs de kosten tot nu toe. Ongeloofllijk, de kosten kunnen worden berekend na het instellen van het land in de configuratie. Wij hebben bijvoorbeeld de mogelijkheid om de tarieven in te stellen van Infovia (het netwerk van Telefonica de España S.A.), hier in Spanje.

Eenmaal aangesloten kunnen we gebruik maken van de mail en news lezers en andere netwerkgereedschappen waarover KDE beschikt.

[KPPP]
Figuur 4. kppp startvenster

Als je, zoals ik, de broncode compileert en installeert zul je een keuze in het hoofdmenu tegenkomen met de titel "non-KDE Apps". Daar heeft KDE alle op X gebaseerde hulpmiddelen neergezet (of er althans een poging toe gewaagd) die we in gebruik hadden in onze vorige grafische omgeving. Als er geen een verschijnt na installatie kunnen we altijd nog kappfinder inzetten om op de gebruikelijke plaatsen te zoeken naar bekende hulpmiddelen van grafische omgevingen.

Laten we nog eens naar figuur 1 kijken. Controleer de linkerkant van het bureaublad op een aantal iconen: de vullisbak (uiteraard :)), Templates om directe toegang naar randapparatuur in te stellen, URL's enz. en de Autostart, waar we programma's kunnen definiëren die moeten worden gestart als de grafische omgeving wordt gestart (kan ook door een bestand met extensie ".kdelnk" van tevoren aan te maken). Directe toegang naar ieder apparaat kan worden ingesteld. Ik heb bijvoorbeeld een toegang aangemaakt voor een externe ZIP-drive via de volgende stappen:

Bij het afsluiten van KDE zal deze proberen de status van alle toepassingen en hun locatie vast te leggen voor een volgende sessie. KDE zal ons een dialoog laten zien met daarin de hulpmiddelen die herstart kunnen worden en degene die al hun data kwijtraken. Deze eigenschap zit ook in WINDOWMAKER (zie verderop in dit artikel).

Als laatste zou ik eraan toe willen voegen dat deze omgeving makkelijk is in het dagelijks gebruik. We kunnen de bovenkant van het scherm instellen met vele knoppen voor de meest gebruikte toepassingen, het aantal bureaubladen kan worden ingesteld en men kan eenvoudig hiertussen manoeuvreren; als het toetsenbord je voorkeur geniet kun je <Ctrl>/<Alt> + <Tab> gebruiken om van bureaublad te veranderen. Zelfs een enkele terminal (kvt) kan worden ingesteld met aparte kleuren en lettertypen en als we deze aan een bureaublad willen hangen hoeven we alleen maar het icoon in de linkerbovenhoek van het scherm in te drukken.

[kvt main menu]
kvt hoofdmenu.

Deze omgeving biedt veel mogelijkheden en hoewel de bediening en configuratie erg intuïtief is, kan ik de geïnteresseerden aanbevelen om eens naar het on-line help systeem van KDE te kijken.

De Qt bibliotheek. Bron voor conflictstof.

Ontwikkelaars van KDE beweren dat de keuze van de Qt bibliotheek ingegeven was doordat deze met weinig hulpmiddelen toe kan en door de hoge graad van betrouwbaarheid. De bibliotheek is oorzaak van veel controverse vanwege de licentie; het gebruik is gratis voor het ontwikkelen van gratis software maar je moet betalen voor commercieel gebruik, het is echter niet hetzelfde als de GNU GPL.

Eenieder kan de broncode krijgen, complete documentatie en voorbeeld code en genieten van KDE. De makers van Qt echter, blijven de rechten behouden. Sommige gebruikers kunnen zich in deze strategie vinden en gebruiken de bibliotheek volop voor het ontwikkelen van hun vrije software vanwege de C++ koppeling, de volwassenheid van het product enz. De rest denkt dat het geheel vrij is zolang het in ontwikkeling is maar dat het daarna (wellicht reeds in versie 1.4) niet meer gratis zal zijn, zodat het product de vruchten plukt van de Linux gemeenschap maar deze vervolgens met lege handen laat staan.

We kunnen slechts aannemen dat voor versie 1.32 alles hetzelfde blijft; gratis voor vrije software, niet gratis voor andere software. Niemand kan in de keuken van het bedrijf kijken maar feit is dat huidige ontwikkelingen niet zomaar ongedaan kunnen worden gemaakt en dat de bibliotheek een serieuze optie is voor het ontwikkelen van X Window applicaties. Er gaan weer andere stemmen op voor het overzetten van deze omgeving naar de GTK omgeving of voor het ontwikkelen van een vrije implementatie van Qt.

Persoonlijk denk ik dat het implementeren van een Qt onder GPL een grote inspanning vergt in tijd en mensen. Ik wil niemand tegen de haren instrijken maar wellicht is GTK niet voldoende voor het ondersteunen van KDE, wat gedurende de ontwikkeling alleen maar kan verbeteren. Er zijn vele mogelijkheden en ik vind een verspilling van moeite aan dit soort "oorlogen" zonde. De staat van KDE is prima en hard op weg om de standaard grafische omgeving te worden voor Linux. SUSE bijvoorbeeld heeft voor zijn distributie hierop gewed en men kan dus rekenen op toekomstige verbeteringen voor dit product.

Windowmaker en Afterstep

De bedoeling was om wat neer te schrijven over mijn huidige grafische omgeving, Afterstep, maar recentelijk is het Windowmaker project onder mijn aandacht gekomen. Ik kan het niet bevestigen maar het lijkt erop dat er twee ideeën in één zijn gesmolten. Windowmaker is een voortzetting van Afterstep, of de ontwikkeling hiervan is gestopt met versie 1.3. De coördinator van Windowmaker (Alfredo K. Kojima) is één van de Afterstep ontwikkelaars. Ik zal daarom beide omgevingen bespreken om zo de overeenkomsten te tonen.

Afterstep is een voortzetting van twm, net als vele window systemen. In meer detail is twm de basis geweest voor fvwm die tegelijkertijd de vader is van BowMan, die later is uitgegroeid tot Afterstep (pffffff! :)). Het oorspronkelijke idee is om de omgeving van NEXTSTEP te imiteren. De stamboom van Windowmaker mag de lezer zelf uitzoeken ;).

Installatie van Windowmaker is eenvoudig en heeft geen extra bibliotheken nodig, waarvoor hartelijk dank, alle broncode wordt meegeleverd. Je moet een kleine bibliotheek compileren en installeren (sorry voor dit kleine leugentje), genaamd libProplist voordat je dit met de rest van de software kunt doen. Na installeren en compileren van software en pixmaps (Windowmaker-data.tar.gz) moet je wmaker.inst uitvoeren die het bestand $HOME/.xinitrc zal wijzigen en een $HOME/GNUstep directory aan zal maken voor alle configuratie bestanden. Pas dus op met je .xinitrc en .Xclients bestanden.

Na het starten verschijnt er een blauwe achtergrond met een enkel terminal window, bekend voor een gebruiker van Afterstep. Met de rechter muisknop wordt het hoofdmenu geactiveerd, van waaruit applicaties kunnen worden gestart. Laveer tussen de diverse bureaubladen met de middelste muisknop. Ik schrijf dit zo even op vanuit mijn achtergrond als Afterstep gebruiker.

[Windowmaker image]
Figuur 5. Windowmaker plaatje.

Vensters kunnen worden opgerold door twee keer op de balk te drukken (en worden vergroot met Control+Shift). Onder Afterstep kan dit middels de rechter muisknop aan de bovenkant van het venster en om de grootte te wijzigen kun je de onderkant van het venster selecteren.

Het hoofdmenu voor alle vensters krijg je door de rechter muisknop in te drukken aan de bovenkant van het venster. Dit stelt ons in staat om karakteristieken van applicaties en vensters in te stellen via de muis in plaats van via configuratiebestanden.

[Window menu]
Window menu

Wellicht de meest belangrijke optie hier is de Attributes..., die je in staat stelt karakteristieken van het venster in te stellen, er een sticky window van te maken, icoongedrag en focusgedrag in te stellen, enzovoorts. Bijvoorbeeld:

[Window configuration]
Emacs Window configuratie.

Nieuw is dat we iconen toe kunnen voegen aan de rechterkant van het venster, voor directe toegang. We moeten in staat zijn een willekeurig icoon hiernaar toe te slepen. Ik ben daar nog niet in geslaagd voor mijn xemacs icoon :(.

Als je de omgeving in wilt stellen met behulp van de configuratiebestanden zul je de documentatie moeten lezen die in postscript formaat bij wordt geleverd. Niet alles wordt hierin uitvoerig behandeld maar aan het eind zit een behoorlijke referentie. Dit is een hele verbetering ten opzichte van het .steprc bestand dus mijn advies is om dit te lezen. Instellingen worden beschreven met veel voorbeelden van toetsenbord snelcombinaties. Ik vermoed dat eenvoud en productiviteit de belangrijkste drijfveren waren voor dit pakket gezien de weinige hulpmiddelen die het gebruikt en het intensieve gebruik van het toetsenbord. Ik kan het niet hard maken met cijfers maar het lijkt sneller dan KDE en zijn kleine broertje.

Voor Afterstep is er een hulpmiddel met de naam ascp (AfterStep Control Panel), waarmee je de omgeving in kunt stellen.

[AfterStep Control Panel]

AfterStep Control Panel.

Afrondend kunnen we stellen dat we hier een behoorlijke grafische omgeving hebben die voor Afterstep gebruikers een stapje hogerop betekent ;). Ik heb zeker niet alle hoeken en gaten van dit pakket bekeken maar durf zonder meer te stellen dat dit een goede kandidaat is voor een beperkte machine waarop je toch een krachtige grafische omgeving wilt hebben. Het grootste probleem is waarschijnlijk het aantal configuratiebestanden maar dit is dan ook niet voor de gebruiker met weinig kennis van Engels of Linux :).

Gnome. Nee hè :(.

Ik ben een beetje teleurgesteld dat ik dit artikel met slecht nieuws af moet sluiten. Mijn bedoeling was om over het Gnome project te schrijven (zeker nadat Red Hat en Debian hun steun aan dit project hadden toegezegd). Met dit in het achterhoofd haalde ik alle software van de ftp-site (gnome-0.12.tar.gz en anderen), tezamen met het GTK pakket (v 0.99.2).

Voor nieuwe gebruikers zij hier opgemerkt dat de GTK bibliotheek het hoofdbestanddeel vormt voor de beroemde GIMP applicatie, het beste grafische vormgeverspakket onder Linux. Begonnen onder Gimp, is het uitgegroeid tot een grafisch hulpmiddel voor X window onder de licentie van GNU GPL en wordt het nu gebruikt onder Gnome.

De eerste verrassing betrof het feit dat ik geen help kon vinden maar slechts wat README bestanden en dat is niet voldoende. Installatieinstructies ontbraken dus ik ben maar intuïtief wat pakketten gaan compileren en installeren, met uitzondering van het grootste pakket (gnome-xxx). Het pakket wat me de meeste hoofdbrekens kostte was "slib" maar ik geloof dat ik het uiteindelijk goed heb geïnstalleerd (hoop ik).

Na een eerste poging en met behulp van een aantal mensen van een Linux mailing list kwam ik erachter dat ik gtk 0.99.3 moest hebben. Na de installatie kon ik niet meer compileren omdat Emacs ontbrak!! Er is een klein script wat Emacs gebruikt voor het compileren van een Lisp bestand (ranlisp). Ik kon het script wijzigen met "xemacs" waarna het geheel werkte.

Kennelijk moest ik ook de Objective-C compiler installeren voor het compileren van sommige bestanden. Klopt dit?

Afsluitend kan ik, met mijn beperkingen, alleen maar constateren dat het project nog in een behoorlijk pril stadium is. Wellicht is het alleen voor ontwikkelaars (of "goeroes") en ik heb geen aanduiding kunnen vinden of het een "Alpha" of "Beta" versie betrof. Ik weet niet of het een goed idee is om C, C++, Objective C, Lisp, Schema enzovoorts door elkaar te gebruiken. Moet de gebruiker dit nu echt allemaal installeren voor Gnome? Waar ben ik de mist in gegaan?

Ondanks alle goede adviezen van andere gebruikers ben ik niet in staat gebleken om op tijd voor dit artikel het geheel werkend te krijgen en een snel overzicht hiervan zou niet eerlijk zijn. Ik wil hier eerst eens goed voor gaan zitten.

Desondanks beloof ik om hierop terug te komen of iemand anders te vragen dit te doen zodat lezers van _LF_ een behoorlijk artikel krijgen over GNOME :).

Afsluitend

Dit artikel heeft een aantal bureau-omgevingen besproken voor gebruikers van Linux die hiermee hopelijk hun dagelijks werk verlicht zien. Alle omgevingen zijn mooi en werken goed, er is een ruime keuze.

Ik hoop dat ook de achterliggende hulpmiddelen nu wat duidelijker zijn geworden. Ik heb niet de bedoeling gehad enige voorkeur voor hulpmiddelen uit te spreken en ben zo objectief mogelijk gebleven met het beschrijven van de huidige status van de diverse projecten. Nogmaals mijn verontschuldigingen als ik daarbij iemand voor het hoofd heb gestoten.

Dat is het, van hieruit een warm applaus voor alle projecten en hun mensen die Linux hiermee helpen beter te functioneren maar ook "mooier" te maken voor alle gebruikers.

Lesstif, toch nog wat vergeten?

Oeps, ik kan natuurlijk niet voorbij gaan aan een zaak als deze. Ik ben in mijn dagelijks werk geen grafische omgeving tegen gekomen die is gebaseerd op deze bibliotheek (even voorbijgaand aan mwm die in alle Motif implementaties zit). Er is een vrije kloon van deze OSF/Motif bibliotheek die hier niet is behandeld. Waarom?

De auteur is nagegaan dat de Linux gemeenschap over het algemeen geen software accepteert onder een licentie met meer restricties dan GPL. Het is wellicht zo dat deze bibliotheek niet voldoende mogelijkheden biedt om er een grafische omgeving op te baseren, dat de kwaliteit niet snel genoeg verbeterd enz. (hoewel dit ter discussie staat) maar als feitelijk CDE de standaard grafische omgeving voor alle Unix systemen lijkt te worden, waarom dan niet een Lesstif CDE?

Toen Netscape zijn broncode ter beschikking stelde voor de Navigator en Composer voor Linux, konden gebruikers dit toen compileren onder Lesstif? Dat zou goed nieuws zijn voor ontwikkelaars en gebruikers van deze bibliotheek.

Het antwoord op deze vragen weet ik niet maar ik denk wel dat veel software voordeel kan behalen met Lesstif en dat het met de juiste ondersteuning van gebruikers en ontwikkelaars een goed alternatief kan zijn.

Voor meer informatie: