Efa unter Linux

Aus Ruderwiki

Wechseln zu: Navigation, Suche


Das "Elektronische Fahrtenbuch 'efa'" ist ein vom deutschen Ruderverband unterstützes Programm, welches ein Fahrtenbuch für die Bootshalle bietet. Dafür benötigt man einen öffentlich zugänglichen Rechner, der jeder Art von Manipulation und Beschädigung widerstehen kann.

Um efa im Bootshaus laufen zu lassen, bietet sich Linux an, da es für den Zweck gut konfigurierbar und stabil ist. So lassen sich manche "Workarounds" unter Windows (z.B. die nichtverschiebbarkeit des Fensters oder Verwendung von Tastaturen ohne ESC-Taste...:-) ) unter Linux wirklich abschalten. Damit kann man ohne weitere Trickserein ein wirklich sicheres System aufbauen.

Eine Alternative zu EFA wird ADAM. ADAM ist in der Entwiklung. Details findest du hier!


Die Anleitung ist in verschiedene Teile gegliedert:

  • Vorausetzungen: Worüber man sich Gedanken machen sollte, wenn man einen Fahrtenbuchrechner einrichtet.
  • Installation: Als erstes muss man einen Rechner mit Linux aufsetzen. Wie man eine Minmalinstallation durchführt und an unsere Bedürfnisse anpasst, findest du in diesem Abschnitt beschrieben.
  • Konfiguration: Wenn man alles installiert hat, muss man den Rechner noch so einrichten, dass alle Anforderungen erfüllt sind. Das ist anfangs etwas verwirrend, aber wenn man es einmal verstanden hat, sehr einfach.
  • Efa einrichten: Da auf dem Rechner Efa laufen soll, muss man dieses Installieren. Damit man keinen Unfug machen kann, muss man an Efa ein paar Einstellungen verändern.
  • Abschluss der Installation: Nun ist man fast fertig, und muss alles nur noch für den Einsatz im Bootshaus fertig machen. Nun also die letzten Schritte, wie man (wenn alles andere läuft) die letzen Sicherheitslöcher stopft.
  • Backuplösungen: Wenn das Bootshaus abbrennt, sollte man ein Backup das Daten haben. Lösungen sind hier beschreiben.
  • Problemlösungen: Theorie ist toll, Praxis ist anders: Für einige Probleme, die auftreten können, haben wir ein paar Problemlösungen aufgeschrieben, mit denen wir zu kämpfen hatten.


Inhaltsverzeichnis

Wechsel von Ubuntu zu Debian

Die Anleitung behandelte bisher die Linuxdistribution Ubuntu. Da sich gezeigt hat, das man mit Debian ein schnelleres und stabileres System hin bekommt, das auch ein Distributionsupdate und die damit oft bei Ubuntnu notwendigen Basteleien überflüssig macht, ist dieser Wechsel geschehen.

Die alte Anleitung mit Ubuntu findest du unter Efa_unter_Linux/Ubuntu

Hier wird die Installation mit Debian Squeeze gemacht, das offiziell (7/2010) als testing geführt ist (Anmerkung: Ubuntu besteht meist aus unstable, teils sogar aus experimental). Es wird ab 2011 (?) in die stabile Version übergehen, und dann für ein paar Jahre diesen Status halten. Das schöne ist, dass es abwärtskompatibel bleibt.

Verbesserungsvorschläge

  • entweder einfach hier einfliessen lassen
  • oder an: /sebastian/./frohn/(at)g/m/x.de (ohne die / natürlich, SPAM sei Dank)

Vorraussetzungen

Ein Fahrtenbuch-PC ist ein öffentlich zugänglicher Rechner. Neben den Problemen mit physikalischem Vandalismus besteht auch die Gefahr, das jemand in den Rechner einbricht, und wenn es nur ein Vereinsmitglied ist, das meint sich beweisen zu müssen.

Um die Daten des Fahrtenbuches sicher zu lagern, reicht also ein nicht modifiziertes Betriebssystem nicht aus.

Was der Rechner bzw. sein Betriebssystem können sollte

  • Der Rechner muss mit Efa im Vollbildmodus starten
  • Die Nutzer dürfen Efa nicht beenden oder andere Aktionen am System durchführen können
  • Der Rechner soll immun gegenüber allen Manipulationsmöglichkeiten sein

Lösungen, um die Ziele zu erreichen

  • auf dem Rechner läuft die Linux-Distribution Debian als stabiles Betriebssystem
  • es wird nur das installiert, was wirklich gebraucht wird (Minimalinstallation)
  • OpenBox dient als einfach konfigurierbarer Fenstermanager
  • Verwaltung findet mittels eines vom Programm streng getrennten Useraccounts statt
  • Da Linux keine wirklich problematischen Viren kennt und es keine offenen Ports gibt, ist die Gefahr eines Angriffes von außen ausgesprochen gering
  • Wer sich nicht in Linux einarbeiten will, die Anleitung ist sehr ausführlich und alle nötigen Scripte gibt es hier zum download. Wobei es natürlich immer besser ist, sie auch wirklich zu verstehen...

Vorraussetzungen für den Installierenden

Um wie beschrieben installieren zu können, sollten folgende Voraussetzungen gegeben sein

  • Keine Angst etwas Ahnung von Linux zu bekommen
  • eine aktuelle Debian-CD (siehe http://www.de.debian.org/devel/debian-installer/). Hierbei benötigen wir die netzinstallations-CD für die Architektur des Rechners. Dies ist wahrscheinlich die i368-Version.
  • der Rechner muss während der Installation über ein LAN-Kabel Zugriff auf das Internet haben, da Pakete verwendet werden, die nicht auf der CD enthalten sind.

Wer sich erst in Linux einarbeiten will, unter http://wiki.ubuntuusers.de findet man eine Anleitung zu wirklich allen Fragen, die im Laufe der Installation auftreten können. Dies ist zwar eine Anleitung zu Ubuntu, aber die meisten Dinge sind identisch (Ubuntu ist ein Ableger von Debian).

Im Laufe der Installation kommen ziemlich viele bash-Scripte zum Einsatz. Wer gar keine Ahnung davon hat, wird erst einmal nur Bahnhof verstehen (was aber nur begrenzt schlimm ist). Ein paar (von vielen) Anleitungen zu bash sind z.B. [1] und [2]. Es reicht aber immer aus halbwegs zu verstehen was das Skript macht, niemand muss für diesen Zweck in der Lage sein selber welche zu schreiben.

Virtuelle Maschinen

Da das Ziel der ganzen Sache ist, den Rechner bis auf wenige Funktionen einzuschränken und keine Hintertüren zu lassen, ist die Gefahr auf dem Weg dahin sich selber auszuschließen - und dann ganz von vorne beginnen zu müssen - nicht gerade gering.

Wer noch nie einen Rechner manipuliert hat oder erstmals Linux installieren will, dem sei eine Virtualisierungslösung zum "Spielen" ans Herz gelegt, bevor er sich an den realen zukünftigen Fahrtenbuchrechner wagt.

Fast alle hier beschriebenen Schritte wurden mittels VirtualBox bzw. QEMU/KVM (sehr gute Anleitung unter www.qemu-buch.de) getestet, und wie genau die Funktion "Sicherungspunkt setzen" bzw. Overlay's funktioniert, sollte man sich direkt als erstes ansehen.

Wer nicht weiß worum es geht, es sind Programme, die es einem erlauben, auf seinem Rechner einen oder sogar mehrere "virtuellen" Rechner zu simulieren, in diesem ein Betriebssystem zu installieren und damit zu arbeiten. Damit kann man in einem Fenster auf seinem Desktop alles ausprobieren, im Fehlerfall den Schritt rückgängig machen, und nebenbei noch die Dokumentation auf seinem richtigen Rechner lesen.

Das Programm VirtualBox gibt es für Linux und Windows, kostet nichts und reicht für diesen Zweck vollkommen aus. Qemu ist ebenso frei und verfügbar, ist aber insbesondere bei Linux-Rechnern, deren Prozessor KVM unterstützt, deutlich schneller und bietet mehr Möglichkeiten. Es wird allerdings über die Kommandozeile gestartet und bedarf darum etwas mehr Einarbeitung.

Weiterhin wird beschrieben, wie man das System auf einem USB-Stick installiert. Das hat den Vorteil, dass man Änderungen auf diesem mit einem anderen Rechner wieder rückgängig machen kann. Damit erhält man den selben Effekt, und kann das fertige System nachher direkt auf den realen Rechner kopieren.

Installation

Netzwerkzugang und Alternativen

LAN

Die Installation wird mittels einer Debian-Netzwerkinstallations-CD gestartet. Im Beispiel wird die Version 6 'Squeeze' verwendet. Hierbei brauchen wir einen Internetzugang. Darum entweder

  • LAN im Bootshaus
  • den Rechner mit nach Haus nehmen und ans LAN hängen
  • Der Rechner hat eine WLAN-Karte, die vom Kernel out-of-the-box erkannt wird, und man kann das WLAN kurzzeitig auf WEP umstellen (WPA kann der Installationsassistent nicht).
  • die Installation daheim auf einem Zweitrechner und einem USB-Stick machen, und ihn später auf den Rechner kopieren. Siehe System komplett auf einem USB-Stick vorbereiten


Die Installation findet im Textmodus statt, also ohne Bildchen und Maus. Sie ist aber sehr gut verständlich. Die Standartvorgaben sind eigentlich schon sehr gut, und man kann bei den nicht hier erwähnten Punkten die Standartvorgaben nehmen.

Auf USB installieren

Wer das System daheim fertig machen will, im Bootshaus unverbindlich testen, und dann erst installieren mag, kann das System auf einem USB-Stick installieren. Etwas anspruchsvoller, aber sehr praktisch:

  • Man benötigt einen beliebigen Rechner mit LAN. Das kann der Laptop vom Vater/Sohn/Ehemann sein, eigentlich egal, denn der Rechner bleibt unverändert!. Sofern man keinen Fehler macht.
  • Man muss nur einen USB-Stick (min 3GB) anstecken, und von der CD starten. Dann der Anleitung folgen... bis auf folgende Punkte:
    • Bei der Partitionierung manuell wählen und aufpassen, dass man NUR auf den USB-Stick installiert, und die Festplatte des eigentlichen Rechners unverändert lässt. Sonst macht man den Rechner platt :-(.
    • Wenn Grub installiert wird, die Frage ob es in in den MBR der ersten Festplatte geschrieben werden soll mit nein beantworten, im folgenden Menu kann man dann den USB-Stick (Falls keine anderen Laufwerke dran hängen, ist es hd1) angeben.
  • Im folgenden von dem USB-Stick booten (im BIOS des Rechners angeben, F2 oder F12 beim Start drücken)
  • Stick im Bootshaus anstecken, vom Stick booten, alles ausprobieren, wenn zufrieden:
  • den kompletten USB-Stick auf die Festplatte im Bootshaus kopieren (Hierfür den Rechner mit einer live-CD-starten, denn die Festplatte/der USB-Stick darf während des kopieren nicht verändert werden, darf also nicht eingehängt sein): dd if=/dev/(USB-Stick) of=/dev/sda Vorsicht, dd überschreibt die GESAMTE Festplatte mit Partitionstabellen und kompletten Inhalt!!
  • Wenn alles fertig ist, noch in der /etc/fstab alle Einträge entfernen, die sich nicht auf den USB-Stick beziehen und beim ersten Startmal grub updaten

Systeminstallation

Partitionierung

Der Sicherheit wegen legt man eine eigene Partition für die efa-Daten und die Heimverzeichnisse an. Dann kann man auch nach einem unwahrscheinlichen Systemabsturz und Neuinstallation alle Programmeinstellungen und Daten wieder nutzen. Man benötigt dafür:

Name       Einhängepunkt     Größe    
--------------------------------------------------------
System     /                 1.4 GB für die Beispielinstallation, wer mehr installieren will, braucht mehr...
Swap                         etwa wie Arbeitsspeicher, aber 265 MB reichen
Daten      /home             265 MB
Backup     /backup           der Rest...

Wer mehr Platz auf seiner Platte hat, nehme ruhig mehr. Das sind die Minimalanforderungen, die man nicht unterschreiten sollte.

Die Einstellungen kann man wählen, wenn man "manuelle Partitionierung" wählt.

Benutzer

Unter Debian gibt es den Bnutzer root. Dieser ist das Adminsitrator und darf alles. Mit diesem werden wir das System installieren. Das Passwort für root sollte absolut wasserdicht sein. Am besten ein richtig komplexes Passwort nehmen, auf das NIE jemand kommt. Siehe auch Passwortgeneratoren

Das Passwort für den Benutzer root wird während der Installation abgefragt.

Des weiteren wird direkt danach ein Benutzer angelegt. Da kommen wir nicht drumherum. Man denke sich einen lustigen Namen und ein beliebiges Passwort aus. Das Beispiel hier ist efaadmin. Wir löschen ihn später wieder, da er zu viele Rechte hat.

Wir erstellen später der User efa, unter dem das Programm EFA laufen wird. efa hat gar keine Rechte, und wird sein Passwort nie brauchen, und darum werden wir efa später zu einem passwortlosen Nutzer machen.

Zu installierende Optionen

Nach der Abfrage der Benutzer kann man das System zsuammenstellen. Wir benötigen hier nur

  • openssh-Server

Alles andere wird abgeschaltet.

OpenSSH-Server

Man kann sich ein paar Dinge leichter machen, wenn man einen SSH-Server installiert und über diesen auf den Rechner einrichtet. Dann kann man viele Dinge von dieser Anleitung per copy&paste übertragen. Wenn man diesen bei der Installation nicht direkt mit installiert hat, kann man ihn mittels

apt-get install openssh-server

nachträglich installieren

Nun kann man im Menu seines Routers oder einfach mittels ifconfig die IP des FaBu-Rechners heraussuchen, und von einem anderen Rechner im Netzwerk (auf dem ein SSH-Client installiert ist) mittels

ssh root@XXX.XXX.XXX.XXX

auf den Rechner zugreifen.

Installation der benötigten Pakete

Folgende Pakete müssen installiert werden


Notwendig:

xorg            Der Grafik-Server
openjdk-6-jre   Java-Laufzeitumgebung
unzip           zum entpacken von efa 
openbox         Der Fenstermanager
openbox-themes  Themen für Openbox

Optional für Zusatzfunktionen:
 
 mehr Komfort
mousepad        graphischer Texteditor
obconf          Tool zum WYSIWYG-Konfigurieren von Openbox
mc              halbgraphischer Dateimanager MidnightCommander
 für (FTP-)Backups
zip             Dateikomprimierungstool
ncftp           Zum sichern der Backups

Da bei der Installation sehr viele Abhängigkeiten für die graphische Benutzeroberfläche sowie Java installiert werden müssen, werden ca. 60MB heruntergeladen und etwa 250MB an Festplattenspeicherplatz belegt. Also alles in eine Zeile schreiben, starten und dann schnell eine Tasse Kaffee oder Tee machen gehen.

apt-get -y install xorg hal unzip openbox openbox-themes openjdk-6-jre

Systemkonfiguration

Nach der Installation muss man das System Konfigurieren. Dafür loggen wir uns als root ein.

Dabei geht es um folgendes:

  • Efa läuft unter einem eingeschränkten Benutzer, der keinen Schaden anrichten kann
  • Nach dem Rechnerstart soll keine Loginaufforderung kommen, sondern sofort die graphische Oberfläche (Xorg) geladen werden
  • Nach dem Laden von Xorg soll sofort der Fenstermanager geladen und Efa gestartet werden
  • Der Fenstermanager soll keine Möglichkeiten bieten, anderes als Efa zu nutzen
  • Dem X-Server muss man seine (ursprünglich sinnvollen) Möglichkeiten für mehrere Konsolen nehmen
  • Nach dem Laden von Efa kann man Efa nur mit Passwort beenden. Danach folgt automatisch das Beenden des X-Servers, und das automatische Abmelden des Benutzers efa. Danach kann man sich innerhalb von 15s als root anmelden, oder es startet sich EFA neu.

Einrichten des Benutzerkontos efa

Es wird ein Benutzer mit dem Namen efa angelegt, der keine für das System bedrohlichen Rechte erhält

#neuen Nuter efa einrichten
adduser efa

Unter diesem Nutzernamen wird später das Programm efa laufen.

Mittels des Befehls id efa kann man erkennen, das der Benutzer efa keiner Gruppe angehört, und damit wenig Schaden anrichten kann.

efa das Passwort klauen

efa hat am Rechner nichts zu suchen, außer EFA zu betreiben. Also machen wir ihm den Login unmöglich, indem wir ihm den Login verbieten

Dazu geben wir

passwd -l efa

ein.

Wenn man nun als efa etwas tun will, muss man sich als root einloggen, und mittels

su efa

zu efa werden.

efaadmin löschen

Nun löschen wir noch den vorher angelegten Nutzer.

deluser efaadmin
rm -dr /home/efaadmin

Der Benutzer efa bekommt nun automatisch das Heimverzeichnis /home/efa zugewiesen, welches sich auf der 2. Partition befindet. Damit sind alle Daten und efa-spezifischen Einstellungen unabhängig von der Systempartition und bleiben im Falle eine Systemcrashes erhalten.

Startskripte erstellen

Nun loggt man sich als root ein und legt los.


Globale Variablen setzen

Um im Falle einer Pfadänderung weniger Mühe zu haben, und um keine Zeilen in den Skripts zu übersehen, setzen wir ein paar globale Variablen.

Dazu erstellen wir eine Datei /etc/exportvar

export EFA_HOME=/home/efa
export EFA_LOG=/home/efa/efa.log
export EFA_PROG=/home/efa
export EFA_BACKUP=/backup

und hängen an die /etc/profile folgendes an

source /etc/exportvar

Entweder macht man das mit einem Texteditor

nano /etc/profile

Oder man gibt folgenden Befehl ein:

cd /etc
wget http://ruderwiki.de/Download/efa/exportvar
echo -ne "\n\nsource /etc/exportvar\n" >> /etc/profile

Das mit den Pfaden scheint umständlich, aber ist in vielen Fälle sehr gut, wenn man etwas mal an Pfaden ändern will. Das auslagern in eine Datei hat den Grund, da wir nachher mit einer Crontab arbeiten, und diese die Pfade nochmals laden muss. Damit man nur eine zentrale Datei hat, dieser Umweg.

Wer z.B. seine Daten an einem anderen Ort umziehen will, kann dies durch einfaches ändern der Pfade tun. Und es erspart Tippfehler...

Des weiteren wollen wir einen Ordner anlegen, in dem das System standartmäßig nach Skripten sucht. Die erreichen wir, indem wir den Ordner bin anlegen

su efa -c "mkdir /home/efa/bin"

(das su efa -c führt dazu, dass der Befehl als Nutzer efa ausgeführt wird, und die Rechte automatisch stimmen).

Nun muss man diese Änderungen noch bekannt machen, also entweder einen Windows-like-en Neustart oder einmalig folgendes eingeben:

source /etc/profile
PATH=$PATH:/home/efa/bin
export PATH

Startscript zum Start von EFA erstellen

Nun arbeiten wir eine Zeit als Benutzer efa weiter

su efa

Das Startscript efa (welches das Programm efa startet) wird im Verzeichnis /home/efa/bin angelegt und mit Ausführungsrechten ausgestattet

cd $EFA_HOME/bin     # in das bin-verzeichnis wechseln
wget http://www.ruderwiki.de/wiki_neu/Download/efa/efa # Datei herunterladen
chmod +x $EFA_HOME/bin/efa        # Ausführungsrechte setzen


Alle (Fehler-)meldungen von efa landen in der Datei /home/efa/efa.log. Das echo ... schreibt mittels ">>" eine Meldung in die Datei efa.log, "2>>" leitet die Fehlerausgabe in die selbe Datei um. Bei Problemen kann man dort nachsehen, was passiert ist.

Autostart von OpenBox und Efa beim Laden von Xorg erzwingen

Zwar wird Openbox schon standartmäßig beim starten von Xorg geladen, aber efa nicht.

Um das zu erreichen erstellen wir für den User efa eine Datei ~/.xinitrc und

cd $EFA_HOME/
wget http://ruderwiki.de/Download/efa/.xinitrc

Damit wird beim starten von X eine openbox-session gestartet und in den Hintergrund geladen (das &) und danach das Script efa gestartet.

Wenn efa beendet wird (z.B. durch den Administrator) wird X durch den Befehl exit beendet und wieder an .profile übergeben, welches dann per exit zur Loginshell zurückkehrt.

Falls Openbox eine Session startet und sofort wieder schließt, wurde efa nicht gestartet. Dann sollte man die Pfadangabe noch einmal neu setzten bzw den Rechner einmal neu starten.

Openbox konfigurieren

Openbox ist ein Fenstermanager. Er organisiert das Aussehen und vor allem das Verhalten von Fenstern. Genau das wollen wir einschränken.

Anmerkung: Wenn Obenbox in QEMU nicht funktioniert (Fenster haben keinen Rahmen), dann liegt das an falscher Farbbittiefe. Einfach ignorieren, wird später funktionieren.

Anpassen des Startmenüs von Openbox

Damit niemand (falls es ihm gelingen sollte efa ohne Passwort zu beenden) mit der Oberfläche von Openbox Unsinn machen kann, wird dessen Menu-Datei ~/.config/openbox/menu.xml (Das Openboxmenu erreicht man normalerweise über einen Rechtsklick auf den Desktop) so umgebaut, dass nur noch eine Option :-) besteht (Eine Option muss sein, sonst streikt OpenBox), die keine Aktion durchführt. Prinzipiell ist dieser Schritt zwar nicht notwendig, da im nächsten Schritt der Menüaufruf ausgeschaltet wird, aber besser ist das.

mkdir $EFA_HOME/.config
cd $EFA_HOME/.config/
mkdir openbox
cd openbox
wget http://www.ruderwiki.de/Download/efa/menu.xml
cd $EFA_HOME

Anpassen des Aktions- und Fensterverhaltens von Openbox

Um keine Änderungen am Fenster von efa möglich zu machen, muss die Datei ~/.config/openbox/rc.xml bearbeitet werden. Dabei werden alle Maus- und Tastatur-Optionen ausgeschaltet, die ein verändern der Fenster oder verlassen von efa ermöglichen.

Die ursprüngliche Datei ist umfangreich und daher hier nicht abgebildet. Die fertige und von den Beschränkungen ausreichende Datei läd man wie alle anderen einfach runter:

cd $EFA_HOME/.config/openbox/
wget http://www.ruderwiki.de/Download/efa/rc.xml
cd $EFA_HOME

Möglich ist noch:

  • Fenster aktivieren durch klicken auf Titelleiste oder Fensterfläche
  • Fenster Schliessen per Alt-F4
  • Fenster Schliessen per Knopf in Titelleiste

Beim Schliessen des Hauptfensters wird per Einstellung in efa (siehe unten) das Passwort abgefragt

Verbesserungen sind natürlich immer gerne gesehen! Wer eine Möglichkeit findet, aus efa „auszubrechen“, und/oder wie man es vermeiden kann, bitte melden. E-Mail siehe oben!

XServer konfigurieren

Vorarbeiten: Xorg.conf testen

Die Datei xorg.conf existiert nicht mehr und wird auch nicht mehr erstellt, da die Aufgaben durch die Hardwareabstraktionsschicht übernommen werden. Das bedeutet nicht, das diese Datei nicht gelesen wird. Einfach eine Datei erstellen und den Inhalt wie unten beschrieben einfügen.

VirtualBox: In virtuellen Maschinen wird das strg-alt-FX-Kommando vom Host abgefangen. Zusätzlich scheint es bei erstellen einer xorg.conf zu Problemen mit der virtuellen Grafikkarte zu kommen. Daher es besser dort nicht ausprobieren.

QEMU: In Qemu kann man über die Qemu-Konsole jeden beliebigen befehl absetzen, also auch z.B. Crtl+Alt+F1, womit man die Funktion testen kann

Blockieren der virtuellen Konsolen

Um zu verhindern, dass der Nutzer mittels Strg-alt-FX auf eine der virtuellen Konsolen (es werden meist auf einem Rechner 6 parallel zueinander simuliert) zugreift, kann man die Datei /etc/X11/xorg.conf editieren. Dabei fügt man eine Section "ServerFlags" hinzu.

Dabei handelt es sich um folgenden Absatz (Idee von Thilo Coblenzer :-) Danke!) :

Section "ServerFlags"
 Option "DontVTSwitch" "true"
 Option "DontZoom" "true"
 Option "StandbyTime" "10" 
 Option "OffTime" "240" 
EndSection

Die Option "StandbyTime" "10" schaltet den Monitor nach 10 min in den Standby-Betrieb, die Option "OffTime" nach 4 Stunden aus (sofern der Monitor das unterstützt, siehe auch http://www.x.org/archive/X11R6.8.0/doc/xorg.conf.5.html)

(einfach den folgenden Absatz kopieren und ausführen)

echo -ne "Section \"ServerFlags\"\nOption \"DontVTSwitch\" \"true\"\nOption \"DontZoom\" \"true\"\nOption \"StandbyTime\" \"10\"\nOption \"OffTime\" \"240\"\n EndSection" >> /etc/X11/xorg.conf

Röhrenmonitore konfigurieren

Wer einen alten Röhrenmonitor hat, der vom XServer nicht automatisch konfiguriert wird, der sollte jetzt direkt den Abschnitt Auflösung bei alten Röhrenschirmen lesen, um eine vernünftige Bildschirmauflösung zu erhalten.

Efa installieren

Installation

Nun wird endlich Efa installiert.

Für den Fall, dass jemand einen Ordner mit vorinstalliertem efa mitbringt, sollte er ihn (bzw. dessen kompletten Inhalt) in den Ordner $EFA_HOME kopieren (oder alle bisher verwendeten Pfade angepassen).

Das ganze sollte man natürlich als Benutzer efa machen, sonst lässt sich das alles nicht ausführen und einstellen Falls man da vergessen hat, ein "chown -R efa:efa /home/efa/*" hilft.

Sonst führt man folgende Befehle aus:

cd $EFA_HOME
wget http://efa.nmichael.de/download/efa183.zip # Bzw. den Link zur aktuellen Versionsdatei !!!
unzip efa183.zip

Falls der Entpackvorgang die Dateien in einem Unterordner ablegt (z.B. efa18X) muss man die Dateien noch in das Heimverzeichnis verschieben (oder die Pfade anpassen)

mv -r efa18X/* ./

efa kann nun gestartet werden, indem man sich als efa am Rechner einloggt.

Konfiguration von efa

Fensterverhalten

Um der Sicherheit vollkommen gerecht zu werden, sollte man nach Einrichten des Programmes den admin-Modus betreten und die Funktion efa konfigurieren anwählen. Unter efa im Bootshaus im Unterbereich Erscheinungsbild die Punkte

  • "efa maximiert starten"
  • "efa immer im Vordergrund"

aktivieren

Der Punkt Hautfenster nicht verschiebbar kann man (wenn man will) auch aktivieren, allerdings erhält man dann einen unschönen blauen Rahmen um das Hauptfenster. Die Funktion ist außerdem durch die modifizierte rc.xml vom Fenstermanager sowieso schon endgültig deaktiviert.

Beenden

Unter allgemein Einstellungen sollte man die Option

  • "Mitglieder dürfen efa beenden"

deaktivieren. Damit verhindert man, dass Mitglieder efa schliessen und hilflos vor der Loginshell sitzen.

Abschluss der Installation

Nun müssen wir wieder als root arbeiten. efa verlässt man mit dem Kommando exit

Autostart von EFA

Beim Hochfahren des Systems soll sich EFA immer von selber starten, genau wie nach einem Absturz. Dies erreicht man folgendermaßen über im folgenden beschriebenden Weg.

Man legt eine Datei /bin/starte_efa an.

cd /bin
wget http://ruderwiki.de/Download/efa/start_efa
chmod +x start_efa

Das Skript macht folgendes:

  • es startet als User efa den X-Server, nutzt also alles, was wir in der .xinitrc stehen haben, startet also EFA, das ganze auf tty7 (macht X immer so). In diesem Zustand verharrt das System nun solange, bis jemand EFA beendet.
  • Wenn EFA beendet wird, dann startet das Skript einen Loginpromt auf tty1 und kehrt dorthin zurück.
  • Der Loginpromt wartet 15 Sekunden.
  • In diesen 15s hat man die Chance, sich als root einzuloggen. Darum muss dieses Passwort absolut wasserdicht sein.
  • Danach prüft das Skript, ob root von irgendwoher eingelogt ist. Wenn ja, wartet es wieder 5s und prüft wieder und wieder, bis root sich ausgeloggt hat.
  • Das Skript beendet sich selber, und wird automatisch neu gestartet.
  • Wenn root von einer SSH-Verbindung aus eingeloggt ist (erkennbar am pts), gibt das Skript einen Hinweis aus und geht in die vorher erwähnte Warteschleife.
  • Wenn root nicht eingeloggt ist (oder sich wieder abgemeldet hat), wird wieder EFA gestartet und das ganze geht von vorne los.

Anmerkung: Das der Neustart von EFA blockiert wird, wenn sich jemand per SSH eingeloggt hat (und dabei den Parameter -X verwendet hat), ermöglicht einem von der Ferne, EFA mittels eines skill efa zu beenden (Unfein, besser wäre einloggen und beenden via VNC, um laufende Vorgänge der Mitglieder im Bootshaus nicht zu killen), und daheim dann mittels efa das Fahrtenbuchprogramm auf seinen Bildschirm zu holen. Da EFA nur eine Instanz erlaubt, muss also EFA während dieser Zeit im Bootshaus blockiert werden.

Dann editieren wir die Datei /etc/inittab. Wir ersetzen die Zeile

1:2345:respawn:/sbin/getty 38400 tty1

durch

1:2345:respawn:/bin/start_efa

Damit wird auf die Anwendung starte_efa gestartet. Sie startet X und efa. Wenn sie beendet wird, wird sie neu gestartet. Das erledigt das Wort respawn.

Die Zeilen

X:23:respawn:/sbin/getty 38400 ttyX

mit X zwischen 2 und 6 klammern wir mit einem # aus

#X:23:respawn:/sbin/getty 38400 ttyX

Damit gibt es nur noch einen Loginpromt. Und der Startet immer wieder EFA.

letztes Sicherheitsleck abdichten: Recovery-Modus

Es ist möglich, über den Recovery-Modus sich Zugang vom Rechner zu verschaffen. Im Menü des Recovery-Modus findet sich nämlich die Option "zur Rootshell wechseln""

finale Lösung: Grub 2

hier setzt man in der /etc/defaults/grub folgende Option:

GRUB_DISABLE_LINUX_RECOVERY=true

Nach einem

sudo update-grub

soltlen die Recoverymodus-Einträge deaktiviert sein. Das bedeutet, das auch der Administrator diese Funktion nicht nutzen kann!


'elegante' Lösung in Grub 1.5

Um eine Passwortabfrage beim Starten aller Optionen außer dem normalen Booten zu bekommen, muss man sich ein Passwort für Grub einrichten. Den Hash-Wert seines Passwortes (Passwort erzeugt Hash-Wert, aber aus Hashwert kann man das Passwort realistisch nicht ermitteln) bekommt man mittels des Kommandos

grub-md5-crypt 

in der Konsole, 2 mal sein gewünschtes Passwort eingeben, und die resultierende Zeichenkette kopieren oder aufschreiben.

Dann in der /boot/grub/menu.lst unter dem Absatz

## password ['--md5'] passwd
# If used in the first section of a menu file, disable all interactive editing
# control (menu entry editor and command-line)  and entries protected by the
# command 'lock'
# e.g. password topsecret
#      password --md5 XXXXXXXXXXXXXXXXXXXXXXXXXXXX
# password topsecret

in der Zeile mit den vielen X den Hashwert einfügen

password --md5 #Passwort#

wobei das #Passwort# das die Ausgabe vom Hash-Generator grub-md5-crypt ist.

Die Zeile

# lockalternative=false

wird in

# lockalternative=true

geändert und abschließend Grub mittels

sudo update-grub 

aktualisiert.

Nun fragt der Rechner beim Auswählen des Recovery-Modus nach dem Passwort, bevor er bootet.

Downgrade zu Grub 1.5

Achtung: Wenn die Installation von grub fehlschlägt hat man keinen Bootmanager und kann nicht mehr starten. Im Notfall hilft folgende Anleitung

Wer auch in 9.10 lieber Grub 1.5 statt Grub 2 verwenden will (Stichwort Recovery-Passwort), kann ein downgrade machen:

sudo apt-get -y install grub
sudo grub-install /dev/sdX    #X der Buchstabe der Bootspartition, zu finden mittels sudo fdisk -l
sudo update-grub

Wenn das nicht ohne Fehlermeldungen abläuft, sollte man nicht neu starten, bis man das ohne Fehlermeldungen wieder hinbekommen hat.

Manipulationen an der Konfiguration verhindern

Unfein und gemein, aber wirkungsvoll: Man nimmt efa die Schreibrechte an den bearbeiteten Konfiguationsdateien.

Dazu meldet man sich als root an und gibt folgendes Kommando ein

 chown root:root $EFA_HOME/.profile $EFA_HOME/.xinitrc $EFA_HOME/bin/efa $EFA_HOME/.config/openbox/menu.xml $EFA_HOME/.config/openbox/rc.xml
 chmod +r        $EFA_HOME/.profile $EFA_HOME/.xinitrc $EFA_HOME/bin/efa $EFA_HOME/.config/openbox/menu.xml $EFA_HOME/.config/openbox/rc.xml

Damit gehören die Dateien nun nicht mehr efa, sondern root, und kann efa die Dateien zwar lesen (und starten), sie aber nicht verändern!

Backuplösungen

Es ist sinnvoll, die Daten von Efa immer wieder einmal zu sichern. Dies sollte man mindestens auf der lokalen Festplatte machen, besser auf einer 2. Platte, oder noch besser - so weit weg wie möglich: per ftp.

Hier wird des weiteren eine Möglichkeit gezeigt, die Daten auf einem Server hoch zu laden. Dies ist durchaus praktisch, wenn man (Wie im Mainer RV) eine dauerhafte Internetverbindung hat. Ansonsten ist es eher aufwendig und nicht zwingen nötig.

Das folgende Beispiel nutzt beide Varianten, durch Ausklammern weniger Zeilen kann man die FTP-Variante aus dem Code entfernen.

Automatisches Backup der Dateien von Efa anlegen

Falls es jemandem gelingen sollte, am Rechner aktiv zu werden (Jugendabteilungen sind gefährlich), sollte man ein backup haben, das von efa nicht gelöscht oder verändert werden kann bzw. selbst ein Abbrennen des Bootshaus überlebet (damit man der Versicherung mitteilen kann, welche Boote noch heil sind, weil sie auf dem Wasser waren).

Dazu bietet sich einmal ein cron-job an, der einmal am Tag alle wichtigen Daten in eine ZIP-Datei packt, und diese in einem Verzeichnis speichert, in das efa nicht hineinkommt, sowie optional per FTP auf einen externen Server hochlädt.

Um jede eingetragene Ausfahrt zu sichern, verwenden wir einen Hintergrunddienst namens fsniper, der Dateiänderungen überwacht und dann eine Aktion ausführt. Dies ist in unserem Fall eine Sicherungskopie.

Upload der aktuellen Fahrtenbuchdatei auf einen Webserver

Wer eine Fahrtenbuchauswertung auf der Vereinshomepage betreibt, möchte vielleicht immer die aktuellen Daten haben. Ideal ist es, wenn nach jeder Änderung die XX.efb hochgeladen wird. Das kann man mit fsniper sehr leicht realisieren.

fsniper installieren und einrichten

Das Paket fsniper gibt es unter Debian leider nicht. Darum muss man es selber bauen oder versuchen das hier bereitgestellte Paket zu verwenden (für i368) (für amd64)

Paket verwenden

Das Paket ist für ein bestimmtes System (meines) kompiliert und natürlich Verwendung auf eigene Gefahr.

wget http://ruderwiki.de/Download/efa/fsniper_1.3.1-1_i386.deb

bzw.

wget http://ruderwiki.de/Download/efa/fsniper_1.3.1-1_amd64.deb
dpkg -i fsniper_1.3.1*.deb
apt-get -f install

Selber bauen

wget http://projects.l3ib.org/fsniper/files/fsniper-1.3.1.tar.gz
tar -xzf fsniper-1.3.1.tar.gz
cd fsniper-1.3.1
apt-get install build-essential dh-make fakeroot libmagic-dev libpcre3-dev
cd fsniper-1.3.1
./configure
dh_make --createorig
# einmal s eintippen
fakeroot debian/rules binary
cd ..
dpkg -i fsniper_1.3.1*.deb
apt-get -f install

fsniper einrichten

die /etc/rc.local muss erweitert werden:

[...]
su - root -c "fsniper --daemon&"        2>> $EFA_LOG
exit 0

wobei die Zeile vor das schon existierende exit 0 muss. Das su - roo -c ist dafür da, dass der Befehl als root ausgeführt wird. Sonst wird der Prozess ohne einen Besitzer gestartet, und filesniper sucht vergeblich nach der ~/.config/fsniper/config.

Dann muss eine Datei /root/.config/fsniper/config angelegt werden

watch {
    $EFA_PROG/daten {
     *.efb {
      handler = bash /bin/upload_fsniper %%
     }
    }
}

Uploadeskript

Es wird ein Skript namens /bin/efabackup_fsniper erstellt und ausführbar gemacht.

cd /bin
wget http://ruderwiki.de/Download/efa/efabackup_fsniper
chmod +x efabackup_fsniper
cd /etc
wget http://ruderwiki.de/Download/efa/ftpdaten
chmod +x ftpdaten

Nun wird bei jeder Änderung der XX.efb die Datei in $EFA_BACKUP/efaaktuell.efb kopiert, und diese hochgeladen. Das ist unabhängig von dem realen Namen der Datei, also macht das System auch eine Jahreswechsel oder Dateinamenswechsel mit, entscheidend ist, welche Datei modifiziert wurde, das wohl meistens die aktuelle Fahrtenbuchdatei ist :-)

Um es nutzen zu können, brauchen wir noch zip

apt-get install zip

FTP-Zugangsdaten

Es müssen noch die FTP-Zugangsdaten in die /etc/ftpdaten eingefügt werden.

CRON-Jobs erstellen

Wir wollen aber nicht nur immer eine aktuelle Fahrtenbuchdatei sichern, sondern auch ein chronologisches Backup haben. Dafür bieten sich Cron-Jobs an.

Diese packen alle interessanten Dateien in eine zip-Datei, und speichern sie:

  • alle Stunde auf dem Rechner (täglich überschreiben)
  • jeden Tag auf Rechner und Server (monatlich überschreiben)
  • am Monatsende auf Rechner und Server (nie überschreiben)

Folgende Dateien sichern wir:

  • den Ordner daten und
  • den Ordner cfg
  • alle *.log von EFA und von uns selbst.

Zusätzlich werden die log-Dateien am Monatsende einmal gesichert und dann neue (leere) Dateien angelegt. Damit verhindert man, dass immer der selbe Müll hochgeladen wird.

Für die FTP-Funktion benötigt man das Paket ncftp

apt-get install ncftp

Alle Erfolgs- und Fehlermeldungen des Backups werden in der Datei $EFA_BACKUP/backup.log dokumentiert.

Crontab bearbeiten

Mittels

crontab -e

und nach Auswählen eines Editors (am einfachsten ist nano) kommt man in die Crontab von root.

Diese sollte nachher so aussehen:

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m            h        dom mon dow  command
#
# Backup auf die Festplatte zur vollen Stunde zwischen 7 und 22 Uhr
1              7-23     *   *   *   efabackup_h       2>> $EFA_BACKUP/backup.log  
# Backup auf Festplatte und  Server jeden Abend
2              23       *   *   *   efabackup_d       2>> $EFA_BACKUP/backup.log  
# Backup auf Festplatte und  Server am Montatsende (~anfang)
0               0       1   *   *   efabackup_m       2>> $EFA_BACKUP/backup.log  
# Ende

Wer kein FTP nutzen will, kann die Datei efabackup_upload einfach leer lassen

Shellscript erstellen

Es müssen 5 Dateien erstellt / Heruntergeladen werden:

cd /bin
wget http://ruderwiki.de/Download/efa/efabackup
wget http://ruderwiki.de/Download/efa/efabackup_h
wget http://ruderwiki.de/Download/efa/efabackup_d
wget http://ruderwiki.de/Download/efa/efabackup_m
wget http://ruderwiki.de/Download/efa/efabackup_upload
chmod +x /bin/efabackup*                                # Shellscript ausführbar machen

Nutzer zu crontab hinzufügen

Der Nutzer root muss nun der Gruppe crontab hinzugefügt werden

 sudo addgroup root crontab

Weitere Möglichkeit der Crontab: Automatisches herunterfahren

Wenn der Rechner sich jeden Abend automatisch abschalten soll, hilft die folgende Zeile in der Crontab

XX YY * * * halt  2>> /root/systemerror.log

Damit fährt der Rechner automatisch um XX:YY Uhr herunter. Der erste Nutzer am folgenden Tag muss ihn dann einfach wieder anschalten.

Probleme und ihre Lösungen

Problemlösung: Einstellen der Bildschirmgröße

Bei bestimmten Bildschirmauflösungen bleibt, da efa im „Maximierten Modus“ nicht wirklich maximiert ist, sondern nur die Fenstergröße fest, ein 1px großer Rand der Openbox-Oberfläche sichtbar.

Dieser kommt scheinbar daher, das die Kommunikation zwischen efa und Openbox, was die Größe des Bildschirmes angeht, nicht ganz stimmt. Man kann aber einfach in der Datei /efa/cfg/efa.cfg die Zeilen

SCREEN_WIDTH=<Bildschirmbreite in Pixeln>
SCREEN_HEIGHT=<Bildschirmhöhe in Pixeln>

einbauen. efa meckert dann beim nächsten Start, dass jemand in seinen Dateien gepfuscht hat, das schaltet man einmalig wieder frei, und das Programm läuft wieder. Der Rand sollte dann verschwunden sein.

Problemlösung: Auflösung bei alten Röhrenschirmen

Bei alten Röhrenschirmen kann es sein, dass die Auflösung nicht stimmt oder der Bildschirmausschnitt gescrollt wird etc. Dazu kann man die Datei /etc/X11/xorg.conf editieren.

Modeline erstellen

mit dem Tool gtf kann man sich eine Modeline erstellen lassen

gtf <Bildscirmbreite in px> <Bildschirmhöhe in px> <Wiederholrate in Hz>

Heraus kommt z.B. so etwas:

Achtung: nicht diese Beispiel-Modeline übernehmen, man kann mit falschen Angaben den Monitor schrotten!
  # 1024x768 @ 100.00 Hz (GTF) hsync: 81.40 kHz; pclk: 113.31 MHz
  Modeline "1024x768_100.00"  113.31  1024 1096 1208 1392  768 769 772 814  -HSync +Vsync

Modeline einfügen

Achtung: Unbedingt eine Sicherungskopie der /etc/X11/xorg.conf machen!!!

Diese Modeline kopiert man dann in die Section Monitor der xorg.conf:

Section "Monitor"
        ...
        ModeLine        "1280x960@96" 165.88 1280 1336 1616 1728 960 962 974 1000
        ...
EndSection

"1280x960@96" ist dabei der Identifier der Modeline

Man fügt folgendes in die Section "Screen" ein:

Section "Screen"
        ...
        SubSection "Display"
                Depth           24
                Modes           "1280x960@96"
        EndSubSection
        ...
EndSection

Der Parameter Depth stellt die Farbtiefe dar (ausprobieren)


Optional

Für Fortgeschrittene: reverse-ssh (und reverse-vnc)

Das Problem

Oft sitzt der Fahrtenbucherechner FB hinter einem Router, der kein Port-Forwarding zulässt. Oder man will keinen Port offen stehen lassen. Das bedeutet, man kann nicht von zu Hause - seinem Heimrechner HOME - aus auf FB zugreifen und muss für jede Wartungsanfrage zum Verein.

Man kann das Problem umgehen, indem man reverse-ssh und/oder reverse-vnc verwendet. Das bedeutet, FB wird selber verbindungstechnisch aktiv. Daheim muss man also nur die eingehende Verbindung annehmen.

Einloggen ohne SSH-Passwort

SSH ist so sicher (gut so, siehe oben), dass man beim Kommandozeilenaufruf kein Passwort mitgeben kann. Das ist doof, wenn keiner am Rechner sitzt, um es einzugeben. Ein in diesem Fall nicht ganz riskoloser Umweg geht über sogenannte public-keys. Hierbei wird ein Schlüsselpaar erzeugt, mit dem die beiden Rechner ihre Identität/Berechtigung prüfen können, und daraufhin einen Zugriff ohne Übertragung eines Passwortes erlauben.

Eigentlich zur Erhöhung der Sicherheit gedacht, weil kein Passwort im Klartext übertragen wird, sondern das Passwort nur zum aktivieren des Schlüssels dient, kann man mit leerem Schlüsselpasswort die Verbindung ohne Passwortabfrage herstellen. Bitte zum Verständnis den Artikel über public keys lesen.

Dafür gibt man am FB folgendes ein:

ssh-keygen -t rsa

Man bestätigt alles mit Enter, und lässt die Passphrase leer (Sonst müsste man das Passwort für die Passwortphrase eingeben). Dann gibt man den öffentlichen Schlüssel an HOME weiter:

ssh-copy-id -i ~/.ssh/id_rsa.pub benutzer@rechner

benutzername ist dabei der Benutzername auf dem Heimrechner und rechner die Adresse (IP oder feste Adresse via dyndns o.ä.). Nach Eingabe des Passwortes loggt sich das Programm auf HOME ein und kopiert den public-Key in das .ssh-Verzeichnis.

'Beim übertragen des Passwortes muss der andere Rechner auf Port 22 erreichbar sein. Leider...'

Nun sollte man sich von FB aus mittels

ssh benutzer@rechner

an HOME anmelden können, ohne ein Passwort eingeben zu müssen!

Sinnvolle Optionen

Es ist sinnvoll, in die /etc/ssh/ssh_config folgendes am Ende einzufügen:

ServerAliveInterval 60
ServerAliveCountMax 3

Damit erreicht man, dass wenn die Verbindung zum Rechner daheim abreißt, der Rechner nach 3 Minuten wieder neu verbindet. Sonst wartet man 1-2 Stunden vergeblich.

Skript

Um zu erreichen, dass der Rechner sich mit einem verbindet, lassen wir ein Skript laufen, dass jede Minute versucht, mit einer bestimmten Adresse eine Verbindung aufzunehmen. Dies ist eine feste IP, oder wenn man keine solche hat, ein dynamische Adresse z.B. via Dyndns. Wenn man nun Zugriff haben will, leitet man den Dyndns-Account auf seinen Router um, und den angegebenen Port auf seinen Rechner. Um sicher zu gehen, dass unser Skript auch im Fehlerfall am laufen bleibt, machen wir noch einen Cronjob, der einmal am Tag das Skript neu startet, falls es beendet wurde.

cd /bin
wget http://ruderwiki.de/Download/efa/reversessh.rescue
wget http://ruderwiki.de/Download/efa/reversessh
chmod +x reversessh*

Die Datei reversessh muss noch angepasst werden! Siehe Erläuterungen darin. In die /etc/rc.local fügen wir die Zeile

su root -c "reversessh&"

vor dem exit 0 ein. In die Crontab kommt ein

0 0 *** reversessh.rescue

Fertig. Wenn der Fahrtenbuchrechner sich bei einem angemeldet hat, kann man über den Tunnel zurück auf den FaBu-Rechner zugreifen:

ssh root@localhost -p 'angegebener Port'

Dann ist man mit dem FB verbunden.

Reverse-VNC

Um dem Rechner auf den Bildschirm zu schauen, installiert man x11vnc.

apt-get install x11vnc

Dann loggt man sich per ssh am FaBu ein. Daheim installiert man

apt-get install xvnc4viewer

Diesen startet man mit

xvnc4viewer -listen 5500

Dafür muss man an seinem Router Port 5500 auf seinen Rechner umleiten.

Am FaBu gibt man dann ein

su efa                                                   # Das Programm läuft unter efa
x11vnc --connect IPoderDnyamischeDomainDesHomerechners
exit

ein. Der Bildschirminhalt taucht bei einem daheim auf. Im Bootshaus kann man dann einem beim Arbeiten zuschauen.

Sicherheitshinweis

Aus sich vom Fahrtenbuch ist die Methode sicher. Absolut. Man müsste die Ports kennen, den DNYDNS-Account knacken, und das Passwort von root haben. Unwahrscheinlich.

Aus Sicht des Heimrechners ist sie riskant, weil jemand, der sich am Fahrtenbuch eingeloggt hat, ohne Passwort auf den Rechner daheim einloggen kann. Darum:

  • immer in der ~/.ssh/authorized_keys den Schlüssel vom Fahrtenbuch auskommentieren, wenn man nicht grade aktuell den Zugriff auf FB haben will. Dann ist ein einloggen ohne Passwort nicht mehr möglich. Wenn das Passwort daheim gut ist, oder man das einloggen per Passwort ganz verbietet (siehe Verwendung von public keys), ist man auf der sicheren Seite.

Sonst hilfreich kann sein:

  • einen rechtelosen Benutzer daheim anlegen, auf den das FB zugreift.
  • die Dyndns-Adresse nur dann auf den Router daheim umleiten, wenn für den Zugriff nötig
  • den Port nur dann auf seinen Rechner umleiten, wenn für den Zugriff nötig

Bildschirmschoner verwenden

Wer eine lustige Diashow vom Vorstand beim Biertrinken installieren mag, geht folgendermaßen vor:

 sudo apt-get install xsreeensaver xscreensaver-gl

Dann verschiebt man die x.initrc und den openbox-Ordner von efa

mv /home/efa/.xinitrc /home/efa/.xinitrc.bak
mv /home/efa/.config/openbox /home/efa/.config/openbox.bak

Nun meldet man sich als efa an

su efa

und startet X

startx

und siehe da, man kann mit openbox arbeiten und per rechter Maustaste -> Terminal eine Konsole starten.

Mittels

xscreensaver

Kann man nun einen Bildschirmschoner einrichten.

Die Auswahl GLSlideshow zeigt alle Bilder in /usr/share/backgrounds als Slideshow an. Die Konfigurationsmöglichkeiten reichen an die eines gewohnten Bildschirmschoners a la Windows oder Gnome/KDE locker heran ;-)

Ach ja, und nach dem ausloggen als root einloggen und

mv /home/efa/.xinitrc.bak /home/efa/.xinitrc
mv /home/efa/.config/openbox.bak /home/efa/.config/openbox

eingeben. Sonst startet kein efa!

Bibliothek aktualisieren

Wer eine wechselnde Zufallsbildbibiliothek haben will, kann dies mit folgendem Skript machen:

http://ruderwiki.de/Download/efa/update_img_db

Voraussetzung ist ein php-Script auf dem Server des Vereins, wo die Bildersammlung liegt, das bei Aufruf einfach einen Link auf eines der Bilder zurück gibt. Wie man das macht, ist Sache des Homepagepflegers...

Die Geschwindigkeit des Downloades ist hier auf 10kb/s begrenzt, stört also den sonstigen Verkehr nicht wirklich. Das jeden Tag mit einem Cron-Job aufrufen, und jeden Tag gibt es etwas neues zu schauen. Der Aufruf sollte folgendermaßen lauten (muss als efa gestartet werden)

su efa -c update_img_db


Die Bilder müssen unbedingt größer sein als die Bildschirmauflösung (sonst gibts kein Bild) und müssen für efa lesbar sein!

Viel Spass!

Persönliche Werkzeuge