3D-Tools für den Desktop

Aus LinuxUser 01/2005

3D-Tools für den Desktop

Werkzeug in 3D

Konsolenprogramme verrichten ihren Dienst zwar effektiv, jedoch nicht unbedingt spektakulär. Wer gesteigerten Wert auf schicke Optik legt, findet jedoch für viele Aufgaben auch passenden 3D-Ersatz. Wir zeigen Ihnen die interessantesten 3D-Tools für den Desktop.

Hinter Linux steht ja eigentlich die Philosopie, alle Aufgaben möglichst durch das Kombinieren kleiner, spezialisierter (Konsolen-)Programme zu erledigen. Dem komfortbewußten Anwender eines grafischen Desktops freilich ist diese Methode nur schwer zu vermitteln. Er verlangt zumindest nach bequemen Frontends für die einzelnen Werkzeuge, besser noch nach einer kompletten GUI-Reimplementierung der Tools.

Von besonderem Reiz ist es dabei, wenn Werkzeuge ihren Dienst nicht nur in 2D verrichten, sondern ihre Informationen als dreidimensionale Grafik darstellen. Im folgenden Artikel konzentrieren wir uns auf solche Tools, die für die Präsentation auf die 3D-Funktionen der Graphikkarte zurückgreifen.

Installationsgrundlagen

Die im Folgenden besprochenen Programme dürften wohl keiner etablierten Distribution beiliegen. Daher müssen Sie sie in aller Regel aus dem Quellcode kompilieren und installieren. Dazu benötigen Sie eine Reihe zusätzlicher Entwicklungspakete, die je nach Distribution variieren können. Unter SuSE 9.2 umfasst der Anforderungskartalog im Wesentlichen das SDL-Entwicklungspaket und die Bibliotheken Mesa, libpng, SDL_image, free_glut sowie smpeg.

Ausgabe von Systeminformationen

Linux beherrscht Multitasking, kann also mehrere Programme parallel ausführen. Dabei muss es sich intern darum kümmern, dass jedes davon CPU-Zeit zur Abarbeitung erhält. Neue Prozesse erzeugt das Betriebssystem durch so genanntes Forken eines Vaterprozesses. Daher bilden alle Prozesse eine Hirarchie, die auf dem Prozess init basiert. Wollen Sie sich alle aktuell laufenden Prozesse anzeigen lassen, nutzen Sie auf der Konsole dazu Tools wie ps oder top. Friert einmal Programm ein, was ja auch unter Linux vorkommen kann, dann lässt sich der klemmende Prozeß unter Angabe seiner Process ID mit Hilfe von kill beenden.

Das Werkzeug ps3[1] visualisiert die Prozesstabelle dreidimensional und stellt dazu alle Prozesse als Quader auf einer rotierenden Ebene dar. Bei näherer Betrachtung fällt auf, dass eine Seite jeden Quaders den Namen des zugehörigen Prozesses trägt. Auf der nebenstehenden Fläche findet sich eine Zahl – die PID. Die Höhe des jeweiligen Quaders hängt dabei vom Speicherverbrauch des Prozesses ab. Welcher Prozess momentan die CPU mit Beschlag belegt, lässt sich an der ockerfarbenen Hervorhebung erkennen.

Abbildung 1: Was läuft so alles auf meinem Computer.

Abbildung 1: Was läuft so alles auf meinem Computer.

Mithilfe der Maus beeinflussen Sie die Darstellung: Ein Linksklick stoppt das Drehen der Ebene; ein erneuter Linksklick startet die Rotation wieder. Die gewünschte Drehrichtung geben Sie bei gedrückter Maustaste durch Verschieben der Maus nach Links oder Rechts an, wobei die Geschwindigkeit der Vorgabe die Rotationsgeschwindigkeit beeinflusst.

Die relative Quaderhöhe skalieren Sie bei gedrückter linker Maustaste durch Vor- bzw. Zurückbewegen der Maus. Verschieben Sie die Maus dagegen bei gedrückter rechter Taste, so variieren Sie damit die Kameraposition. Alternativ lassen sich über die [F1] bis [F6] voreingestellte Sichtmodi abrufen. Über die Taste [Q] stellen Sie die Anzeige auf die Vorgabewerte zurück.

Ein völlig neue Sicht auf die aktuelle Systemauslastung verschafft Ihnen das unter [7] verfügbare glload (Abbildung 2). Das Verstellen der 3D-Ansicht erfolgt ganz ähnlich wie bei ps3 über die Maus. Ein Rechtsklick in das Programmfenster öffnet zusätzlich ein Kontextmenü. Es ermöglicht das das An- bzw. Ausschalten der “Beleuchtung”, der Datums- und Zeitanzeige, der Beschriftung sowie der begrenzenden grauen Flächen.

Abbildung 2: Wie stark ist mein System ausgelastet.

Abbildung 2: Wie stark ist mein System ausgelastet.

Sie haben Post

Rund um E-Mail – eine der ältesten und beliebtesten Internet-Anwendungen – existiert eine Unzahl von Tools. Programme, die den Eingang neuer Nachrichten signalisieren sollen, zählen wohl zu den verbreitetsten Vertretern dieser Gattung. Als Senior dieser Riege wurde vor allem biff immer wieder kopiert, angepasst und verfeinert.

Die 3D-Umsetzung der Idee hört auf den Namen glbiff (Abbildung 3) . Zwar wird das Programm offenbar nicht mehr weiterentwickelt, dennoch können Sie, etwa unter [2], den Quellcode noch via Web erhalten. Der Aufwand lohnt jedoch nur dann, wenn Sie Ihre E-Mails mit fetchmail abrufen: glbiff unterstützt weder POP noch IMAP.

Abbildung 3: Noch keine neue Email.

Abbildung 3: Noch keine neue Email.

Das Übersetzen von glbiff mit einem aktuellen Compiler aus den gängigen Distributionen erfordert allerdings ein paar kleine Eingriffe in den Quelltext. Das behginnt bei der Datei cfg.h im glbiff-Quellcode-Verzeichnis an: Die Zeile

#include <stl.h>

kommentieren Sie aus und ersetzen Sie durch die zwei andere Header-Dateien, sodass stattdessen

//#include <stl.h>
#include <stream.h>
#include <list.h>

in der Datei steht. Analog ändern Sie in der Datei cfg.cc die Include-Zeile für stl.h zu:

//#include <stl.h>
#include <list.h>

Nach diesen Änderungen kompilieren Sie glbiff ganz regulär mit ./configure && make und installieren es anschließend per su -c "make install" nach /usr/local/bin/.

Den ersten Start mit glbiff im Terminal quittiert das Tool mit dem Hinweis couldn't open config file /home/benutzername//.glbiffrc. Im Quellcode-Verzeichnis finden Sie jedoch unter dem Namen glbiffrc.sample eine Vorlage für die vermisste Konfigurationsdatei. Kopieren sie diese als .glbiffrc in Ihr Home-Verzeichnis und passen Sie die Angaben für Mailbox-Verzeichnisse, Abfrageraten, Mail-Client und Benachrichtigungs-Sound an Ihre Bedürfnisse an.

Dateisystem durchforsten

Zwar lässt sich das lokale Filesystem auch sehr gut auf der Kommandozeile verwalten, doch sorgt ein Dateimanager wie Konqueror oder Nautilus für mehr Komfort beim Durchstöbern der Datenbestände. Wollen Sie die Bestandsaufnahme der Festplatte in der dritten Dimension vornehmen, sollten Sie sich TDFSB [5] näher ansehen.

Dieses in Abbildung 4 illustrierte Programm erinnert in seiner Bedienung stark an typische 3D-Spiele: Zur Navigation dienen Maus und Pfeiltasten. Dabei steuert die Maus den Blickwinkel – Sie können sich drehen bzw. nach oben und unten sehen. Über die Cursortasten bewegen Sie sich nach vorn und hinten. Verzeichnisse stellt TDFSB als Kugeln dar. Durch betreten einer Kugel wechseln Sie in das entsprechende Directory.

Die Dateidarstellung erfolgt abhängig von Filetyp. Textdateien (auch HTML) erscheinen als gelbe Säulen, deren Inhalt als Lauftext durchscrollt. Bilder zeigt TDFSB auch als solche mit ihrem Inhalt an. MP3-Dateien werden durch eine CD visualisiert. Klickt man ein solches File mit der linken Maustaste an und betätigt bei gedrückter Maustaste [Enter], so beginnt die Wiedergabe der MP3-Datei. Ähnliches gilt auch für MPEG-Videos. Die weiteren Tastenkürzel der Appikation listet Tabelle 1 auf.

Abbildung 4: Auf Datei- und Verzeichnisjagd.

Abbildung 4: Auf Datei- und Verzeichnisjagd.

Tabelle 1: Wichtige Tastenkürzel in TDFSB

Tastenkürzel Bedeutung
Esc Programm beenden
t Anzeige von Dateinamen umschalten (aus, rotierend, feststehend)
c Fadenkreuz an- bzw. ausschalten
u Entspricht cd ..
m Darstellung von Objekten (glatte Oberfläche / Polygone)
h Hilfe anzeigen
f Vollbildmodus
0 Entspricht cd ~
. Anzeigen von “.”-Dateien zulassen oder verbieten

Nicht ganz so nah am 3D-Ego-Shoter – aber mit dem gleichen Ziel, nämlich dem Darstellen von Verzeichnisinhalten als 3D-Strukturen – kommt fsv[6] daher. Es setzt zum Kompilieren neben einigen der oben genannten Komponenten auch das Entwicklungspaket von gtk sowie gtkglarea voraus. Wie Sie in Abbildung 5 sehen können, handelt es sich bei fsv um keine reine 3D-Anwendung: Das Tool stellt zusätzlich ein Listenfenster (links unten) sowie eine Ansicht des Verzeichnisbaums (links oben) dar. Die Hauptnavigation erfolgt jedoch in der großen 3D-Ansicht.

Das Programm startet die Darstellung im Home-Verzeichnis. Klicken Sie mit der linken Maustaste auf ein Verzeichnis, so verschiebt sich der Fokus dorthin. Ein Rechtsklick auf das Verzeichnis bietet die Möglichkeit zum Öffnen des Verzeichnisses mit expand oder zum Anzeigen der Verzeichniseigenschaften über Properties. Entscheiden Sie sich fürs Öffnen, stapelt fsv den Verzeichnisinhalt wie bei einer Pyramide auf den Knopf des Directory. Wollen Sie den Verzeichnisinhalt nicht weiter anzeigen, genügt ein erneuter Rechtsklick auf den “Fuß” der Pyramide, gefolgt von collapse.

Abbildung 5: Verzeichnisse als Pyramiden.

Abbildung 5: Verzeichnisse als Pyramiden.

Ausblick

Es scheint ganz so, als würde es künftig nicht bei vereinzelten 3D-Tools für den Desktop bleiben. Zumindest arbeiten derzeit etliche Software-Hersteller an komplett in 3D gestalteten Benutzeroberflächen. Zu den prominentesten Vertretern zählen Sun mit dem Looking-Glass-Projekt [8] für Linux und Solaris sowie Microsoft mit “Avalon”, der GUI für den WinXP-Nachfolger Longhorn. Aber auch die Community kann mit ähnlichen Projekten aufwarten, wie etwa dem experimentellen X-Desktop Metisse [9]. Handelt es sich da nur um Spielerei, oder können die dreidimensionalen Oberflächen tatsächlich zu besserer Usability beitragen? In einer der nächsten Ausgaben des LinuxUser werden wir dieser Frage genauer nachgehen.

Kasten 1: Umschalten virtueller Desktops

Fast jeder Fenstermanager und so ziemlich jede Desktop-Umgebung unter Linux unterstützt so genannte virtuelle Desktops. Mit 3ddesk[3] existiert ein Pager, also ein Programm zum Umschalten zwischen derartigen Desktops, das die aktuellen Bildschirminhalte als Flächen in die dritte Dimension projiziert (Abbildung 6). Da wir das Programm bereits ausführlich in [4] besprochen haben, erwähnen wir es hier nur der Vollständigkeit halber.

Abbildung 6: Auf zur nächsten Runde.

Abbildung 6: Auf zur nächsten Runde.

Der Autor

Hagen Höpfner ist wissenschaftlicher Mitarbeiter am Institut für Technische und Betriebliche Informationssysteme der Fakultät für Informatik an der Otto-von-Guericke-Universität Magdeburg. Was er dort so alles treibt, kann http://wwwiti.cs.uni-magdeburg.de/~hoepfner/ entnommen werden. In seiner Freizeit spielt der begeisterte Vater Gitarre in der Rockband “Gute Frage” (http://www.gutefrage.de/).

Infos

[1] Homepage von ps3: http://user.tninet.se/~uhu537u/ps3.html

[2] Bezugsquelle für glbiff: http://linux.tucows.com/preview/59877.html

[3] 3ddesk Homepage: http://desk3d.sourceforge.net/

[4] deskTOPia: 3d-Desktop: Hagen Höpfner, “Die dritte Dimension”, LinuxUser 07/2003, S. 63 ff.

[5] TDFSB Homepage: http://www.determinate.net/webdata/seg/tdfsb.html

[6] FSV Homepage: http://fsv.sourceforge.net/

[7] glload Quellcode: http://freshmeat.net/redir/glload/3358/url_tgz/glload-0.4.2.tar.gz

[8] Project Looking Glass: http://wwws.sun.com/software/looking_glass/

[9] Metisse: http://insitu.lri.fr/~chapuis/metisse/

LinuxUser 01/2005 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben