Escolar Documentos
Profissional Documentos
Cultura Documentos
Wirtschaftsinformatik
Erste Projektarbeit
(Bearbeitungszeitraum: 01.07.2009 bis 21.08.2009)
Clemens Riese
Kurs: WWI08D
(Studiengangsleiter: Prof. Dr. Jörg Baumgart)
Ausbildungsbetrieb:
Firmenbetreuer:
Konstantinos Karpouzos
06221 415-1345
Konstantinos.Karpouzos@ger.sas.com
Adobe
R , Reader
R und Flash
R sind entweder geschützte Warenzeichen oder eingetragene
Warenzeichen von Adobe Systems Incorporated in den USA und/oder anderen Ländern.
Microsoft
R und Windows
R sind entweder geschützte Warenzeichen oder eingetragene
Abkürzungsverzeichnis III
Listingsverzeichnis V
Abbildungsverzeichnis VII
1 Einleitung 1
2 Anforderungsspezifikation 3
2.1 Der IST-Zustand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Der SOLL-Zustand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2.1 Anforderungen Derivat . . . . . . . . . . . . . . . . . . . . . . . 3
2.2.2 Anforderungen Entwicklungsumgebung . . . . . . . . . . . . . . 4
2.3 Durchführbarkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.4 Abschließende Worte . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3 Entwurf 5
3.1 Als Grundlage dient Ubuntu 9.04 . . . . . . . . . . . . . . . . . . . . . 5
3.2 Alternative zum Desktopmanager Gnome . . . . . . . . . . . . . . . . . 6
3.3 Firefox - Zugriffskontrolle und Modifikation . . . . . . . . . . . . . . . . 6
3.3.1 Kiosk-Oberfläche für Firefox . . . . . . . . . . . . . . . . . . . . 6
3.3.2 Korrekte Darstellung von Internetinhalten . . . . . . . . . . . . 7
3.4 Modifikation von Boot-Splash und USplash . . . . . . . . . . . . . . . . 7
3.5 Bildschirmschoner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.6 Abschließende Worte . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
I
II INHALTSVERZEICHNIS
4.4.2 SQUID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.5 Abschließende Worte . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
A Listings IX
C Pakete Derivat XV
D Anleitungen XVII
D.1 Erstellung einer „Minimal“-CD . . . . . . . . . . . . . . . . . . . . . . . XVII
D.2 Anpassung Boot-Splash . . . . . . . . . . . . . . . . . . . . . . . . . . . XX
D.3 Anpassung USplash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XXI
D.4 Startscript für Firefox . . . . . . . . . . . . . . . . . . . . . . . . . . . XXIII
D.5 xmodmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XXIV
D.6 Kiosk-Oberfläche für Firefox . . . . . . . . . . . . . . . . . . . . . . . . XXIV
D.7 Installation von Software . . . . . . . . . . . . . . . . . . . . . . . . . . XXV
D.7.1 Adobe Flash und Adobe Reader . . . . . . . . . . . . . . . . . . XXV
D.7.2 Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XXV
D.8 Veränderte bzw. neuerstellte Dateien . . . . . . . . . . . . . . . . . . . XXVI
Glossar XXXI
Literaturverzeichnis XXXIII
Abkürzungsverzeichnis
III
IV ABKÜRZUNGSVERZEICHNIS
Listingsverzeichnis
V
VI LISTINGSVERZEICHNIS
Abbildungsverzeichnis
VII
VIII ABBILDUNGSVERZEICHNIS
Kapitel 1
Einleitung
Durch den Umstand, dass das SAS Institute ein großer Anbieter von Business-Intelligence-
Lösungen ist, werden in unserem Hause regelmäßig Schulung für unsere Kunden abgehal-
ten. Natürlich sollen unsere Kunden dabei nicht den Komfort missen, ihre eMails abfragen
zu können und ggf. auch an diese eMails angehängte Dokumente öffnen zu können.
Aber nicht nur wegen des Komforts unserer Kunden ist eine solche Möglichkeit empfeh-
lenswert – sie trägt auch zu einem positiven Gesamteindruck des Schulungteilnehmers
über das Unternehmen bei.
Die Möglichkeit des freien Zugangs zu dem jeweilen eMail-Postfach war zwar bisher mög-
lich und drohte aber auf Grund des hohen Wartungsaufwand zu scheitern. Mit der Er-
stellung eines eigenen Linux-Derivates, welches ein reines Live-System ist, wird versucht
diese Möglichkeit weiterhin aufrecht zu erhalten. Dabei wird mit der parallelen Erstellung
einer Entwicklungsumgebung außerdem noch dem Umstand Rechnung getragen, dass es
möglich sein muss, das Derivat zu warten und ggf. entsprechenden Neuerungen anzupas-
sen.
1
2 KAPITEL 1 - EINLEITUNG
Kapitel 2
Anforderungsspezifikation
Dieses Kapitel befasst sich sowohl mit der Analyse der gegenwärtigen Situation als auch
der angestrebten Situation. Es wird auf wichtige Kriterien eingegangen, die durch die
bisherige Umsetzung nicht oder nur teilweise realsiert werden können und bei der neuen
Lösung essenziell sind.
Dabei ist das Betriebssystem auf der Festplatte installiert, was ein hohes Sicherheitsrisi-
ko darstellt. Um diesem Risiko entsprechend entgegenzuwirken wurden Maßnahmen und
Richtlinien implementiert, die es auf ein vertretbares Level senken. Allerdings müssen
diese Vorkehrungen ständig gewartet werden, was zu einem hohen Aufwand führt. Dieser
erhöht sich zusätzlich noch dadurch, dass bei etwaigen Updates die Sicherheitsmaßnahmen
und -richtlinien erst außer Kraft gesetzt werden müssen um eine Installation durchführen
zu können und danach wieder entsprechend hergestellt werden müssen.
• als Grundlage des Derivates soll die Linux-Destribution „Ubuntu“ (Version 9.04)
dienen
3
4 KAPITEL 2 - ANFORDERUNGSSPEZIFIKATION
• es soll nur der Zugriff auf den Browser „Firefox“ möglich sein (falls dieser geschlossen
wird, soll er automatisch wieder ausgeführt werden)
• sowohl der Boot-Splash als auch der USplash sollen modifiziert werden
Zusätzlich soll ggf. der Proxy-Server SQUID eingebunden werden und mittels eines Content-
Filters der Zugriff auf bestimmte Websites beschränkt bzw. unterbunden werden.
– 80 GB als Root-Partition
– 4 GB als Swap-Partition
– Rest als Backup-Partition
• zu installierende Software
– Reconstructor
– Adobe
R Flash
R
– Adobe
R Reader
R
Entgegen einiger oben genannter Spezifikationen ist alternativ auch darüber zu entschei-
den, ob die Entwicklungsumgebung selber als Live-System umgesetzt werden kann/soll.
2.3 Durchführbarkeit
Die Durchführung dieses Projekts ist möglich, da es einerseits bereits bestehende Lösungen
(z. B. Mophix1 ) gibt, die dem Ziel des Projekts sehr ähnlich sind, und andererseits die hohe
Flexibilität und Anpassbarkeit von Linux eine passende Grundlage zur Realisierung des
Projekts bilden.
Entwurf
Um das Projekt erfolgreich abschließen zu können ist einerseits eine genaue Analyse der
Problemstellung bzw. der Vergleich zwischen IST- und SOLL-Zustand (siehe Seite 3, Ka-
pitel 2) wichtig, anderseits ist aber auch ein gründlicher Entwurf des Gesamtkonzepts
notwendig. Die bei diesem Projekt zu klärenden Elemente sind in der Analysephase erör-
tert worden und sollen nun in einem Entwurf konkretisiert werden.
Die Entscheidung die Linux-Destribution Ubuntu als Grundlage des zu erstellenden De-
rivats heranzuziehen wurde auf Grund der hohen Kompatibilität und Benutzerfreund-
lichkeit gefällt. Die aktuelle Version von Ubuntu ist 9.04 Codename „Jaunty Jackalope“.
Diese ist bereits in der Lage die unterschiedlichen Hardware-Komponenten eines Compu-
ters weitestgehend selber zu konfigurieren und dies auch auf einem breiten Spektrum von
unterstützter Hardware. Durch diesen Umstand ist es möglich sich nur noch auf die eigent-
liche Aufgabenstellung – also die Erstellung eines eigenen Derviates – zu konzentrieren,
da grundlegende bzw. zum Funktionieren des Derivates vorauszusetzende Eigenschaften
als funktionierend angesehen werden können. Ein weiteres Argument für die Verwendung
Ubuntu ist, dass es sich einfach warten und updaten lässt, was für spätere Aufgaben einen
großen Vorteil gegenüber anderen Distributionen darstellt. Des Weiteren wird Ubuntu 9.04
verwendet, da es sich hierbei um eine der großen Linux-Distributionen handelt und somit
auch der nachhaltige Support von der Entwicklerseite gewährleistet ist. Dies ist nicht zu-
letzt dadurch möglich, dass Ubuntu von der Firma Canonical Ltd. gesponsort wird. Auch
hat Ubuntu eine große Community, die sich bei der Beantwortung von Fragen als sehr
hilfreich erweisen kann.
Im Rahmen des Projekts soll die Ubuntu-Installations-CD (welche selber schon als Live-
System eingesetzt werden kann) auf die festgesetzten Kriterien beschränkt werden. Ein
wichtiger Punkt, der in diesem Zusammenhang nicht aus den Augen verloren werden
darf, ist, dass es sich bei dem Live-System-Medium um eine CD handeln soll und somit
ein Speicherverbrauch von 700 Megabyte (kurz: MB) die Obergrenze darstellt.
5
6 KAPITEL 3 - ENTWURF
• der Desktop verfügt über keine Taskbar (diese würde ein Sicherheitsrisiko darstellen)
und
Da die hauptsächliche Nutzung des Derivats sich auf die Abfrage von eMails beschränken
wird, wird zusätzlich noch das Programm Adobe
R Reader
R integriert um eventuelle eMail-
3.5 Bildschirmschoner
Die Einbindung eines Bildschirmschoners sollte mit den bereits auf der Ubuntu-Installations-
CD, den vorhandenen Paketen und Programmen realisierbar sein. Allerdings muss bei
dieser Aussage berücksichtigt werden, dass der Großteil dieser Pakete speziell für den
Desktopmanager Gnome entwickelt wurde und somit eventuell auf Openbox nicht mehr
funktionsfähig ist.
Des Weiteren soll auch das Erscheinungsbild des Bildschirmschoner an die Preferenzen
des Unternehmens angepasst werden.
8 KAPITEL 3 - ENTWURF
Nach der Anforderungsspezifikation und dem Entwurf folgt gemäß dem Software-Entwick-
lungszyklus die Implementierung, auf die wiederum im nächsten Schritt die Tests aufset-
zen. Bei der Entwicklung des Derivates wurden die beiden letzten Entwicklungsschritte
zu einem iterativen Schritt zusammengefasst. Somit kann die schrittweise Anpassung der
Ubuntu-Installations-CD erfolgen, indem nach den entsprechenden Veränderungen ein
Test vollzogen wird um die Funktionalität zu prüfen. Da die Implementierung sich an den
Kriterien aus der Anforderungsspezifikation und dem Entwurf orientiert, wird dieser Test
dann dahingehend ausgewertet, dass entschieden wird, ob und inwieweit die Kriterien
erfüllt wurden. Ist die Auswertung nicht entsprechend positiv, muss ggf. eine alternative
Lösung eingesetzt werden.
Allerdings werden in der Implementierung auch Mechanismen zur Einschränkung des Be-
nutzers berücksichtigt um zu gewährleisten, dass das Derivat nur für den eigentlichen
Zweck verwendet werden kann.
Als abschließender Test der gesamten Phase muss geprüft werden, ob alle Kriterien erfüllt
werden konnten bzw. warum nicht.
4.1 Entwicklungsumgebung
Da bei der Erstellung des Derivates auch die Entwicklungsumgebung als ein Kriterium
angeführt wurde, muss diese entsprechend eingerichtet und konfiguriert werden. Die Ent-
wicklungsumgebung basiert, wie das Derivat auch, auf der Linux-Destribution Ubuntu in
der aktuellen Version 9.04 „Jaunty Jackalope“.
Zusätzliche Software-Erweiterungen, die einerseits zur Erstellung eines Derivates notwen-
dig und anderseits auch als Kriterien in der Anforderungsspezifikation festgelegt wurden,
sind:
• Reconstructor1 und
• Adobe
R Flash
R und Adobe
R Reader
R.
Dabei dient die Software „Reconstructor“ der Erstellung des Derivates und die Adobe R-
9
10 KAPITEL 4 - IMPLEMENTIERUNG UND TEST
Durch den iterativen Prozess von Implemetierung und Test müsste von einem hohen Ver-
brauch an CD-Rohlingen ausgegangen werden. Da dies aber vermieden werden sollte, wird
die Virtualisierungssoftware Virtualbox2 eingesetzt. Diese Software macht es möglich das
Derivat zu testen ohne es auf CD brennen zu müssen.
Bei der Implementierung der Kriterien werden noch weitere Pakete in der Entwicklungs-
umgebung von Nöten sein. Auf diese wird an entsprechender Stelle eingegangen. Des
Weiteren findet sich im Anhang (siehe Seite XIII)eine Zusammenfassung mit allen benö-
tigten Paketen.
Als Ergänzung von Reconstructor bei der Erstellung des Derivates wird der Funktions-
umfang der Shell, genauer der Bourne Again Shell (kurz: bash), genutzt.
4.2 Reconstructor
Zur Bearbeitung und Veränderung der Ubuntu-Installations-CD wird die Software „Re-
constructor“ verwendet, da sie folgende Merkmale aufweist:
• einfache Erstellung des CD-Images (automatische Erstellung des SquashFS und der
Initial Ramdisk (kurz: InitRD))
4.3 Beta-Phase
In der Beta-Phase werden verschiedene Alternativen implementiert, getestet und bewertet.
Dadurch wird versucht die optimale Kombination der Alternativen zu ermitteln bzw. die
Alternativen auszuschließen, die nicht zu dem gewünschten Ergebnis führen.
Die Implementierung in den folgenden Kapiteln findet in der chroot-Umgebung (falls nicht
anders gekennzeichnet) statt.
2
http://www.virtualbox.org/
3
http://www.reconstructor.org/index.php?option=com_remository&Itemid=33&func=select&id=4
4.3 - BETA-PHASE 11
geschieht. Allerdings wird Openbox durch diesen Befehl lediglich installiert und ist so-
mit noch nicht die Standartanwendung zur Fensterverwaltung. Somit muss das Problem
geklärt werden, wie Openbox
Die Lösung dazu befindet sich im Verzeichnis /etc/skel. Dieses beinhaltet alle Dateien,
die bei der Anlegung neuer Nutzer automatisch in deren /home-Verzeichnis kopiert werden.
Diese Vorgehensweise muss gewählt werden, da bei dem Derivat der User erst zur Laufzeit
angelegt wird und somit das entsprechende /home-Verzeichnis auch nicht im SquashFS
existiert. In Verzeichnis /etc/skel werden zwei neue Dateien angelegt. Zum einen die
Datei .xinitrc und zum anderen die Datei .bash_profile. Der Inhalt dieser beiden
Dateien wird in den folgenden zwei Listings dargestellt:
1 startx
• Integration in Openbox
12 KAPITEL 4 - IMPLEMENTIERUNG UND TEST
dpkg -i *.deb
installiert (wobei *.deb für das jeweilige Paket steht). Diese Vorgehensweise wurde ge-
wählt, da in den Repositories von Ubuntu nicht die aktuellen Versionen der beiden Pakete
vorhanden sind.
Im Gegensatz dazu ist die aktuelle Version von Sun Java bereits in den Ubuntu-Repositries
vorhanden und kann somit mittels apt installiert werden. Dazu muss lediglich folgender
Befehl ausgeführt werden:
Dabei steht *.xpi wiederum stellvertretend für die zu installierenden Erweiterungen steht.
Die nach der Installation notwendige Konfiguration der BMA Kiosk-Erweiterung wird
über das Admin-Menü vollzogen, welches mit dem Befehl
aufgerufen werden kann [Col09]. Dieses Menü bietet bereits eine Möglichkeit die Pri-
vatsphäre des Benutzers zu schützen, indem ein Session-Timeout bei Inaktivität einge-
stellt werden kann, nachdem sämtliche Cookies, Cache usw. der aktuellen Session ge-
löscht werden. Des Weiteren kann mittels dieses Menüs die Anzahl der zur Verfügung
stehenden Schaltflächen bestimmt werden (so wurde u. a. der „Drucken“-Button ent-
fernt). Auch wurde mit Hilfe des Menüs Firefox so konfiguriert, dass die Startseite stets
„http://www.sas.de“ ist und dass standartmäßig auf diese Startseite nach dem Session-
Timeout zurückgekehrt wird.
Autostart in Openbox
Einer der Gründe für die Wahl von Openbox war die einfache Konfiguration Shell- bzw.
XML-Scripte. Das Shell-Script autostart.sh in Verzeichnis /etc/xdg/openbox ist eines
dieser Scripte und steuert die Autostarteinträge von Openbox. Diese Datei kann einfach
um die entsprechenden Einträge erweitert werden [Jan09].
Durch den Umstand, dass, falls Firefox geschlossen wird, er sich automatisch wieder star-
ten soll, ist es sinnvoll die Ausführung der Firefox-Anwendung in eine Endlosschleife
4
https://www.mozdevgroup.com/dropbox/jslib/signed/jslib_current_signed.xpi
4.3 - BETA-PHASE 13
1 # !/ bin / bash
2
3 while true ; do
4 firefox - kiosk -- display =:0
5 done
6
7 exit 0
Der Eintrag firefox -kiosk startet Firefox im Kiosk-Modus [Col09]. Die autostart.sh
wird entsprechend um den Eintrag
ergänzt, wobei das „&“-Zeichen eine Ausführung als Hintergrundprozess bezweckt. Dies ist
notwendig, da sonst das autostart.sh-Script nicht fertig abgearbeitet werden kann und
somit Openbox nicht ordnungsgemäß startet. Die vollständige Datei autostart.sh kann
im Anhang auf Seite IX gefunden werden.
Durch die Integration neuer Software und Erweiterungen muss das Derivat getestet werden
um die Funktionalität sicherzustellen. Die durch diese Tests gewonnenen Erkenntnisse sind
folgende:
• die Adressleiste von Firefox enthält bereits Links von besuchten Seiten und
Diese Störungen der Funktionaliät lassen sich durch die Modifikation bzw. Löschung ge-
zielter Dateien beheben.
So kann das Problem des nicht voll ausgefüllten Bildschrims mittels einer Veränderung
der localstore.rdf im Verzeichnis /etc/firefox-3.0/profile/ behoben werden. Da-
zu müssen die Koordinaten und die Größe des Fensters der BMA Kiosk-GUI festgelegt
werden. Dadurch verändert sich die Datei folgendermaßen:
14 KAPITEL 4 - IMPLEMENTIERUNG UND TEST
Es wurden mit dieser Modifikation die Koordinaten des Fensters auf die obere linke
Ecke des Bildschirms festgelegt und das Fenster auf 2000 Pixel (kurz: px) Breite und
2000 px Höhe skaliert. Diese hohe Skalierung wurde gewählt, da das Fenster automa-
tisch auf die maximale Bildschirmgröße zurückskaliert wird und somit der Einsatz selbst
auf hochauflösenden Bildschirmen keine Probleme bereiten sollte. Die vollständige Datei
localstore.rdf kann im Anhang auf Seite X eingesehen werden.
Die bereits vorhandenen Links in der Adressleiste von Firefox sind nicht, wie zuerst vermu-
tet, bereits besuchte Websites, sondern die Lesezeichen, die Firefox bereits bei der Instal-
lation integriert hatte. Um diese zu entfernen muss lediglich die Datei bookmarks.html
im Verzeichnis /etc/firefox-3.0/profile/ gelöscht werden.
Da in der BMA Kiosk-Umgebung die Warnmeldungen bei z. B. https-Verbindungen nicht
weggeklickt werden können, erfolgt eine generelle Deaktivierung dieser Warnmeldungen.
Dazu muss die bereits vorhandene Datei prefs.js im Verzeichnis /etc/firefox-3.0/
profile/ um folgende Einträge ergänzt werden:
Die letzten beiden Einträge dienen nicht der Deaktivierung der Sicherheitswarnungen,
sondern der Veränderung des Verhaltens der Adresszeile. Diese Veränderungen wurden
vorgenommen, da die meisten Nutzer des Derivates Windows
R -Nutzer sein werden und
diese gewohnt sind, dass die gesamte Adresszeile beim einfachen Anklicken markiert wird.
4.3 - BETA-PHASE 15
Diese Option legt fest, wie lange der Boot-Splash angezeigt wird bzw. für Eingaben zu-
1
gänglich ist, wobei dies in 10 Sekunden gemessen wird. Die Veränderung führt somit dazu,
1
dass der Boot-Splash nur für 10 Sekunde auf Eingaben reagiert.
1 de
Die weiteren, auf dem originalen Ubuntu Boot-Splash erscheinenden Einträge können
größtenteils durch die Änderung der Datei de.po im Verzeichnis /gfxboot-theme-ubuntu/po/
eliminiert bzw. verändert werden. Diese Datei dient der Übersetzung der englischen default-
Menüeinträge. Zur Modifikation werden die deutschen Übersetzungen entweder durch ein
Leerzeichen oder durch den entsprechenden Text ersetzt. Die Veränderung des Textes „F1
Hilfe“ zeigt das Listing 4.10.
58 # . txt_help
59 msgid " Help "
60 msgstr " "
Nachdem die Veränderung der beiden Dateien abgeschlossen ist können sie mittels der
Befehle make und make install kompiliert werden. Durch diese Prozedur wird u. a.
ein neuer Ordner mit der Bezeichnung install erstellt, in dem die Dateien de.tr und
bootlogo zu finden sind. Diese Dateien sind die kompilierten Varianten der zuvor geän-
derten Dateien.
Da der Boot-Splash-Hintergrund auch an das Erscheinungsbild der Firma angepasst wer-
den soll, muss ein entsprechendes Bild erstellt werden. Dieses Bild muss dabei folgenden
Kriterien entsprechen:
• Format: Zsoft-PCX-Bild
• Dateiname: splash.pcx
Die erstellten Dateien (de.tr, bootlogo und splash.pcx) werden in den Ordner /isolinux/
im Root-Verzeichnis des Derivates verschoben. In diesen Verzeichnis muss weiterhin die
Datei text.cfg entsprechend den Präferenzen verändert werden, sodass ausschließlich
die Option zum Booten als Live-System zur Verfügung steht. Folgendes Listing zeigt den
Inhalt der modifizierten text.cfg:
1 default live
2 label live
3 menu label ^ Try Ubuntu without any change to
your computer
4 kernel / casper / vmlinuz
5 append file =/ cdrom / preseed / ubuntu . seed boot =
casper initrd =/ casper / initrd . gz quiet splash
--
Die Option in Zeile 3 (menu label) wurde mit Hilfe der Übersetzungsdatei (de.po bzw.
de.tr) modifiziert um so den entsprechenden (deutschen) Eintrag anzuzeigen.
/* Text details */
. line_height = 15 ,
. line_length = 32 ,
. status_width = 35 ,
Diese Code-Bestandteile kommen in der Datei mehrmals vor und müssen somit mehrmals
gelöscht werden. Dadurch ist die Modifikation der Source „xubuntu-artwork-usplash“
abgeschlossen und es kann ein Paket aus der Source erstellt werden. Durch diese Erstel-
lung wird eine Datei namens usplash-theme-xubuntu.so im usplash/-Verzeichnis der
Source erstellt, welche nach /usr/lib/usplash in der chroot-Umgebung kopiert wird.
Die chroot-Umgebung wird nun so konfiguriert, dass der modifizierte USplash als Stan-
dard verwendet wird. Da dadurch die InitRD verändert wird, muss diese ggf. neu erstellt
und integriert werden.
4.3 - BETA-PHASE 19
4.3.5 Bildschirmschoner
Auf Grund der veränderten Voraussetzungen (Minimal- anstatt Standart-CD) sind viele
Anwendungen nicht mehr vorhanden. So sind u. a. GDM und alle damit verbundenen
Pakete nicht mehr installiert, was den Gnome-Screensaver mit einschließt. Um trotz dieses
Umstandes über einen Bildschirmschoner zu verfügen müssen die Pakete xscreensaver
und xscreensaver-gl-extra installiert werden. Somit wird nun anstatt des Gnome-
Screensavers der XScreensaver verwendet.
Um diesen zu konfigurieren muss die Datei .xscreensaver im Verzeichnis /etc/skel/
erstellt werden. Die in dem Derivat verwendete Konfiguration ist im Anhang auf Seite XI
zu finden. Des Weiteren muss die autostart.sh im Verzeichnis /etc/xdg/openbox/ um
folgende Zeile ergänzt werden [Zaw09] (ein vollständiges Beispiel der autostart.sh ist
im Anhang auf Seite IX zu finden):
20 KAPITEL 4 - IMPLEMENTIERUNG UND TEST
Da der Bildschirmschoner eine Diashow zeigen soll, wurde in der .xscreensaver der
Pfade zu den entsprechenden Bildern auf
geändert.
4.4 RC-Phase
Die folgenden Abschnitte befassen sich mit den Tests des Derivates um eventuelle Fehler zu
finden und diese zu korrigieren. Weiterhin werden geringfügigere Anpassungen vorgenom-
men und es wird versucht die optionalen Forderungen aus der Anforderungsspezifikation
(Integration des Proxy-Servers SQUID) umzusetzen.
4.4.1 xmodmap
Während der Tests ist aufgefallen, dass der Benutzer mittels der Tastenkombinationen
Strg + Alt + F1 . . . F6 Zugriff auf die sog. Hintergrundkonsolen erlangen könnte
und somit die Möglichkeit zur Manipulation hätte.
Mittels des Pakets x11-xserver-utils kann das Programm xmodmap installiert werden,
welches die Tastaturbelegung des Derivates entsprechend verändern kann. Es wird al-
lerdings nicht eine generelle Deaktivierung der Tastenkombinationen angestrebt, da ein
Zugriff auf die Hintergrundkonsole ggf. notwendig sein könnte. Somit wird die Tasten-
kombination für die erste Hintergrundkonsole auf AltGr + Shift + Ö umgelegt. Die
restlichen Hintergrundkonsolen sind nicht weiter von Belang und somit wird der Zugriff
auf sie deaktiviert. Des Weiteren werden alle F-Tasten deaktiviert, da die Funktionsweise
des Derivats keine funktionierenden F-Tasten voraussetzt. Als Abschluss wird noch die
Tastenkombination Strg + Alt + Backspace deaktiviert, da durch diese Tastenkom-
bination der aktuell laufende Fenstermanager beendet werden kann.
An den Inhalt der Datei autostart.sh im Verzeichnis /etc/xdg/openbox/ müssen fol-
gende Zeilen angehängt werden:
4.5 - ABSCHLIEßENDE WORTE 21
Das Progamm xmodmap muss mit einer zeitlichen Verzögerung ausgeführt werden, da-
mit Openbox vor dieser Ausführung starten und somit die Tastaturlayoutänderungen
auf Openbox angewendet werden können. Die Datei xmodmap im Verzeichnis /usr/share
/applications/sas_custom/ enthält das geänderte Tastaturlayout [Lin09]. Die doppelte
Ausführung des Kommandos (nach 5 Sekunden und nach 30 Sekunden) ist eine Sicher-
heitsmaßnahme, da es ggf. zu Startverzögerungen von Openbox durch die physikalischen
Eigenschaften der CD bzw. des Laufwerks kommen kann.
4.4.2 SQUID
Um den Zugriff auf bestimmte Seiten bzw. Bereiche im Internet zu restriktivieren soll der
Proxy-Server SQUID mit einem zusätzlichen Content-Filter eingesetzt werden.
Nach der Installation startet sich SQUID automatisch und läuft als Daemon weiter. Aller-
dings ist SQUID nicht für den Einsatz auf einem Computer konzipiert, der eine dynamisch
zugewiesene Internet-Protokoll-Adresse (kurz: IP-Adresse) besitzt. Auch durch entspre-
chende Modifikationen ist ein Einsatz von SQUID nicht auf dem Derivat möglich, was
dazu führt, dass das Release über keinen Proxy-Server bzw. Content-Filter verfügt.
23
24 KAPITEL 5 - ZUSAMMENFASSUNG UND AUSBLICK
Anhang A
Listings
IX
X ANHANG A - LISTINGS
48 pointerPollTime : 0:00:05
49 poin terHyster esis : 10
50 w i n d o w C r e a t i o n T i m e o u t :0:00:30
51 initialDelay : 0:00:00
52 sgiS averExten sion : True
53 xidleExtension : True
54 G e t V i e w P o r t I s F u l l O f L i e s : False
55 procInterrupts : True
56 overlayStderr : True
Anhang B
Pakete Entwicklungsumgebung
Die folgende Liste enthält die (zusätzlich) auf der Entwicklungsumgebung benötigten
Programm bzw. Pakete:
• Reconstructor1
• Adobe
R Flash
R
• Adobe
R Reader
R
• Virtualbox
• GIMP
• gfxboot
• dpkg-dev
• cdbs
• debhelper
• fakeroot
• devscripts
• autotools-dev
• syslinux
• squashfs-tools
• mkisofs
• libbogl-dev
1
http://www.reconstructor.org/
XIII
XIV ANHANG B - PAKETE ENTWICKLUNGSUMGEBUNG
• libbogl0
• libgd2-xpm
• libusplash-dev
• xbase-clients
• xserver-xephyr
Pakete Derivat
Die folgende Liste enthält die (zusätzlich) auf dem Derivat benötigten Programm bzw.
Pakete:
• Adobe
R Flash
R
• Adobe
R Reader
R
• openbox
• sun-java6-plugin
• xinit
• xserver-xorg-core
• firefox
• usplash
• xscreensaver
• xscreensaver-gl-extra
• x11-server-utils
• libcurl3
Zusätzlich werden noch folgende Erweiterung für Firefox benötigt:
• BMA Kiosk
• jsLib
Alle Pakete können mittels des Befehls
apt-get install openbox sun-java6-plugin xinit xserver-xorg-
core firefox usplash xscreensaver xscreensaver-gl-extra x11-
server-utils libcurl3
installiert werden.
Die Installation der Firefox-Erweiterungen wird in Kapitel 4.3.2 auf Seite 12 behandelt.
XV
XVI ANHANG C - PAKETE DERIVAT
Anhang D
Anleitungen
Die folgenden Abschnitte enthalten (kurze) Anleitungen zur Umsetzung der verschiedenen
Veränderungen des Derivats. Zusätzlich dazu werden noch nützliche Links zu den unter-
schiedlichen Themen erwähnt. Die chroot-Umgebung ist am besten über Reconstructor
zu nutzen (Einbindung des in Kapitel D.1 erzeugten Images).
XVII
XVIII ANHANG D - ANLEITUNGEN
9. cp chroot-env/boot/vmlinuz-2.6.**-**-generic image/casper/vmlinuz
15. sudo -s
16. (cd image && find . -type f -print0 | xargs -0 md5sum > md5sum.txt)
17. exit
18. cd image
20. cd ..
(in diesem Verzeichnis liegt nun die erstellte .iso-Datei)
• https://help.ubuntu.com/community/LiveCDCustomizationFromScratch
XX ANHANG D - ANLEITUNGEN
• gfxboot
• dpkg-dev
Installation mittels:
apt-get install gfxboot dpkg-dev
Die benötigten Source-Pakete für die Entwicklungsumgebung sind:
• gfxboot-theme-ubuntu
Installation mittels:
apt-get source gfxboot-theme-ubuntu
Vorgehensweise:
4. cd gfxboot-theme-ubuntu*/
(wobei gfxboot-theme-ubuntu*/ für das Verzeichnis des Source-Pakets steht)
5. gedit panel.inc
(in der Funktion syslinux die Anzeige von F2 bis F6 unterdrücken – (für F2 z. B. [
.panel.both [ keyF2 0 "F2"... zu [ .panel.both [ keyF2 0 ""... ändern)
6. gedit po/de.po
(Datei dient der Übersetzung der englischen Begriffe – Übersetzung entsprechend
der Bedürfnisse und der Anzeigemöglichkeit ändern (z. B. msgid "Help"; msgstr
"Hilfe" durch msgid "Help"; msgstr " " ersetzen (wichtig: nicht leerer String,
sondern ein Leerzeichen bei Ersetzung ohne Inhalt))
7. make
• cdbs
• debhelper
• dpkg-dev
• fakeroot
• devscripts
• autotools-dev
Installation mittels:
apt-get install cdbs debhelper dpkg-dev fakeroot devscripts autotools-dev
apt-get build-dep usplash usplash-theme-ubuntu
Die benötigten Source-Pakete für die Entwicklungsumgebung sind:
• xubuntu-artworku-splash
Installation mittels:
apt-get source xubuntu-artworku-splash
Vorgehensweise:
2. gimp
(Befehl startet Grafikprogramm GIMP – Unterschritte finden in GIMP statt)
(1) Strg + N
Breite: 640
Höhe: 400 Pixel
(9) Wiederholung für Auflösungen 640px × 480px, 800px × 600px, 1024px × 768px
und 1365px × 768px
3. cd xubuntu-artwork*/
4. gedit usplash/xubuntu-usplash-theme.c
(folgende Schritte zeigen die Überarbeitung der xubuntu-usplash-theme.c – es soll
die Textbox entfernt werden)
/* Text details */
.line_height = 15,
.line_length = 32,
.status_width = 35,
5. dpkg-buildpackage -rfakeroot
7. die restlichen Schritte erfolgen bei der Erstellung der „Minimal“-CD (siehe Seite
XVIII)
• http://ubuntuforums.org/showpost.php?p=4816450&postcount=1
• http://ubuntusatanic.org/forum/comments.php?DiscussionID=21&page=1
1. gedit ffstart.sh
Inhalt:
#!/bin/bash
while true; do
firefox -kiosk –display=:0
done
exit 0
XXIV ANHANG D - ANLEITUNGEN
D.5 xmodmap
Xmodmap dient der Veränderung des Tastaturlayouts. Dazu muss in der Entwicklungs-
umgebung ein Tastaturlayout erzeugt werden, welches dann verändert und in die chroot-
Umgebung kopiert werden kann.
2. gedit xmodmap
folgende Änderungen vornehemen:
keycode 22 = BackSpace
keycode 47 = odiaeresis Odiaeresis odiaeresis Odiaeresis
dead_doubleacute XF86_Switch_VT_1 dead_doubleacute
keycode 67 = (alles nach „=“ löschen)
..
.
keycode 76 =
keycode 82 = KP_Subtract
keycode 86 = KP_Add
keycode 95 =
keycode 96 =
• http://wiki.ubuntuusers.de/Xmodmap
1. cd /tmp/
2. wget https://www.mozdevgroup.com/dropbox/jslib/signed/
jslib_current_signed.xpi
wget https://www.mozdevgroup.com/clients/bm/xpi/
bmakiosk_currentffgeneric_signed.xpi
(Erweiterungen für Firefox herunterladen)
4. (sollte die Bash eine Fehlermeldung wie „DBus Library nicht korrekt . . . “ ausgibt,
dann folgendes Kommando eingeben: dbus-uuidgen –ensure)
6. rm *.xpi
• https://www.mozdevgroup.com/clients/bm/install-admin.html
• http://kb.mozillazine.org/Command_line_arguments
3. cd /tmp/
4. wget http://fpdownload.macromedia.com/get/flashplayer/current/
install_flash_player_10_linux.deb
6. wget http://ardownload.adobe.com/pub/adobe/reader/unix/9.x/
9.1.2/deu/AdbeRdr9.1.2-1_i386linux_deu.deb
8. rm *.deb
D.7.2 Java
1. apt-get update
Der Eintrag bewirkt, dass sofort nach dem (erfolgreichen) Einloggen das X-Windows-
System gestartet wird.
33 selected : 0
34
35 textMode : file
36 textLiteral : XScreenSaver
37 textFile :
38 textProgram : fortune
39 textURL : http :// fridge . ubuntu . com / node / feed
40
41 programs : \
42 GL : glslideshow - root - delay 0 - duration 10 \
43 - zoom 100 - pan 1 - fade 0 \n\
44
45 pointerPollTime : 0:00:05
46 pointerHyste resis : 10
47 w i n d o w C r e a t i o n T i m e o u t :0:00:30
48 initialDelay : 0:00:00
49 sgiSaverExte nsion : True
50 xidleExtension : True
51 G e t V i e w P o r t I s F u l l O f L i e s : False
52 procInterrupts : True
53 overlayStderr : True
Durch diese Datei wird der Bildschirmschoner nach elf Minuten ausgeführt. Als Bild-
schirmschoneranwendung wird eine Slideshot mit den Bildern aus dem Verzeichnis /usr/
share/applications/sas_custom/slideshow/ gewählt – deswegen sollten in das Ver-
zeichnis auch die gewünschten Bilder kopiert werden (das Verzeichnis befindet sich in der
chroot-Umgebung).
Durch die Veränderung dieser Datei werden die Sicherheitwarnungen bei Firefox deak-
tiviert. In dem Verzeichnis /etc/firefox-3.0/profile/ muss zudem noch die Datei
bookmarks.html gelöscht werden.
19 # D - bus
20 if which dbus - launch >/ dev / null && test -z " $ D B U S _ S E S S I O N _ B U S _ A D D R E S S
" ; then
21 eval ‘ dbus - launch --sh - syntax -- exit - with - session ‘
22 fi
23
XXX ANHANG D - ANLEITUNGEN
24 # Make GTK apps look and behave how they were set up in the gnome
config tools
25 if test -x / usr / libexec / gnome - settings - daemon >/ dev / null ; then
26 / usr / libexec / gnome - settings - daemon &
27 elif which gnome - settings - daemon >/ dev / null ; then
28 gnome - settings - daemon &
29 # Make GTK apps look and behave how they were set up in the XFCE
config tools
30 elif which xfce - mcs - manager >/ dev / null ; then
31 xfce - mcs - manager n &
32 fi
33
Die letzten vier Zeilen wurden ergänzt. Sie sorgen dafür, dass der Bildschirmschoner und
Firefox gestartet werden und dass das Tastaturlayout geändert wird (dies wird mit einer
Verzögerung kombiniert, da vor der Änderung erst Openbox starten muss; der zweite
Aufruf ist aus Sicherheitsgründe, sollte der erste Aufruf verfrüht ausgeführt worden sein
und keine Wirkung gehabt haben)
Das Kontext-Menü von Openbox wird auf den Eintrag „Firefox“ reduziert.
Glossar
Cache Pufferspeicher
CD optisches Speichermedium (Compact Disc)
chroot Kommando zur Veränderung des root-
Verzeichnisses (Sandbox)
Content-Filter Filterung von Websites klassifiziert nach In-
halt
Cookie Profildatei
Daemon Hintergrundprogramm
Debian Linux-Destribution
default Standardwert
Derivat Destribution für einen bestimmten Zweck
Destribution Zusammenstellung von Betriebssystem und
Software
XXXI
XXXII Glossar
Pixel Bildpunkt
Plugins Erweitungsmodel einer anderen Software
RC Freigabekandidat
Release finale Version
Repositories Verzeichnis der verfügbaren Pakete
root Stammverzeichnis
Windows
R Betriebssystem der Firma Microsoft
R
[Gar09] Garry: How can one make its own Usplash theme ?
http://ubuntusatanic.org/forum/comments.php?DiscussionID=21&page=1.
Version: 16.07.2009
XXXIII
XXXIV LITERATURVERZEICHNIS
Kurzfassung
Erstellung eines Linux-Derivates Name: Clemens Riese
für Public-Browsing-PCs Kurs: WWI08D
Firma: SAS Institute GmbH