Sonntag, 13. Mai 2007

Ubuntu mit SquidGuard als Proxy-Server

Vorgeschichte:

Da unsere Versuche mit einem zweiten Arktur-Schulserver als Proxy auf die Dauer nicht erfolgreich waren (Arktur besteht darauf, die Internetverbindung über eine zweite Netzwerkkarte herzustellen, und das hat offenbar unser gesamtes Netz nach einigen Tagen an den Rande eines Zusammenbruchs gebracht - warum ist mir nicht so ganz klar, aber nach Stilllegen des Arktur-Proxys und Einschalten eines Jana-Proxys unter WinXP lief alles wieder), musste eine andere Lösung her.

Aufgabe:
Mit Ubuntu haben wir bisher gute Erfahrungen gemacht, also warum nicht statt Arktur Ubuntu 6.06 LTS installieren, mit aptitude den SquidGuard nachinstallieren (Squid selbst kommt automatisch mit...) und mit diesem unsere Schüler vor Nazi-, Porno- oder sonstigen pädagogisch und auch sonst nicht wertvollen Seiten bewahren?

Vorgehen:
Ubuntu in der Server-Ausgabe (mit Long-Time-Support für Updates) ist schnell und auch für Linux-Laien schnell installiert, etwas mehr Mühe kostet es, mit vi die erweiterten Archive einzutragen, damit man dann - wiederum ganz einfach - mit aptitude den Midnight Commander und SquidGuard nachinstallieren kann. (ausführlichere Beschreibung dieser Schritte folgt später...)

Dann gilt es noch, eine gut gepflegte Blacklist zu laden, damit SquidGuard auch weiß, welche Seiten er sperren soll. (Beschreibung folgt)

Und nun das Interessanteste: Wie muss ich die squid.conf und die squidguard.conf anpassen, damit die Anfragen der Clients jetzt auch wirklich gefiltert werden.

squid.conf:
Hier ist nur wenig zu tun: man muss im Prinzip nur alle Anfragen an Squidguard weiterleiten.

squidguard.conf:
Im Prinzip ist hier auch nicht viel zu erledigen, man muss nur das Prinzip verstehen, was uns einiges an Zeit gekostet hat! Dabei ist es doch so einfach:

...to be continued

Montag, 7. Mai 2007

Netzwerk-route mit Ubuntu

(oder: was das ubuntuusers-Wiki verschweigt)

Problem:

Der Rechner soll in verschiedene Netze (z.B. unterschiedliche VLans nach dem Schema 192.168.0.0, 192.168.1.0, 192.168.2.0 usw.) Kontakt haben. in anderen Linux-Ditributionen ist dafür die Datei /etc/route.conf zuständig - die gibt es unter Ubuntu aber nicht! Wie geht es dann?

Betriebssystem:
Ubuntu-Server 6.06 LTS

Lösung:
Ubuntu speichert die grundlegenden Informationen zum Netzwerk in der Datei /etc/network/interfaces, deshalb gibt es auch keine route.conf mehr.
Diese Datei hat zu jeder im Rechner eingebauten Netzwerkkarte eine eigene "Abteilung". Hier fügt man nun einfach hinter den bestehenden Informationen als neue Zeile die benötigten routing-Informationen nach folgendem Muster hinzu:

route add 192.168.1.0 gw 192.168.0.254

Vorne steht das zweite Netz, dass der Rechner (eigene IP: 192.168.0.1) erreichen soll.
"gw" steht für die Adresse des Gateways (z.B. der Switch), sofern dieses benötigt wird.

Gibt es noch weitere Netze, die erreicht werden sollen, so fügt man einfach beliebig viele weitere Zeilen für jedes Netz hinzu.

Dienstag, 20. Februar 2007

Eigener Webserver mit moodle

Wie installiere ich einen eigenen Webserver und die Lernumgebung "moodle"?

Da die moodle-Seiten auf dem Landesbildungsserver Baden-Württemberg und dem Lehrerfortbildungsserver wenig komfortabel in der Benutzung sind und auch nicht alle Funktionen zur Verfügung stellen (veraltete moodle-Versionen), haben wir uns entschlossen, einen eigenen Server ins Internet zu stellen und einen eigenen moodle-Server darauf zu installieren.

Grundlage
Das Grundsystem für unseren Server stellte der Ubuntu-Server in der Version 6.06.1 (Long-Run-Support) dar. Das System ist kostenlos, der ebenfalls kostenlose Support mit Sicherheitsupdates usw. wird für 3 Jahre gewährleistet, die Installation ist easy:
  • CD einlegen und starten
  • LAMP-System installieren (LAMP = Linux, Apache, MySQL-Datenbank, PHP-Skripsprache), ein paar einfache Nachfragen beantworten
  • fertig
Der Nachteil: nach dem Neustart und dem Login steht einem lediglich ein Prompt zur Verfügung - für Linux-Anfänger doch eher ein Hindernis!

Erweiterung
Dieses Problem lässt sich einfach beheben: man installiert die grafische Umgebung (bei Ubuntu standardmäßig Gnome, auch wenn man KDE gewohnt ist, ist Gnome keine große Umstellung) nach:
  • sudo aptitude aufrufen (= die Paketverwaltung aptitude mit Administratorrechten starten)
  • das Paket "ubuntu-desktop" suchen (mit Strg-C kommt man an das Menü, der erste von der Suchfunktion gefundene Eintrag ist der falsche, die Suche kann man mit Strg-N fortsetzen) und auswählen ("g" drücken)
  • Nochmals mit "g" bestätigen und schon legt die Installation los - einige wenige Teile werden von der Server-CD geladenn, das meiste (einige 100 MB!) lädt sich aptitude aus dem Internet nach!
Fortan steht einem nach dem booten automatisch ein grafischer Login und Gnome zur Verfügung, jetzt kommen auch Linux-Anfänger mit dem System recht problemlos zu Rande und können z.B. weitere Benutzer am Server einrichten oder die automatiuschen Updates konfigurieren.

moodle installieren
Zunächst lädt man sich von moodle.org die aktuelle Version herunter. In der englischen ubuntu-Wiki wird der Installationsvorgang sehr schön und einfach beschrieben: es sind nur wenige Änderungen an Konfigurationsdateien und Rechten auf der Linux-Konsole vorzunehmen, das meiste läuft dann ganz einfach über den Browser ab - bei uns dauerte es knapp 15 Minuten, bis wir einen lauffähigen moodle-server hatten!

Probleme
  1. moodle mailt nicht!
Wenn man bei der ubuntu-Installation den Domain-Namen korrekt angegeben hat und keine Firewall o.ä. (bei Belwue muss man z.B. einen Belwue-eigenen Mailserver als SMTP-Ziel angeben) den Mailversand behindert, sollten die Grundlegenden Mails z.B. an den moodle-Admin oder die Bestätigungsmails für neu eingetragene moodle-Mitglieder direkt versendet werden.
Wenn allerdings in einem moodle-Kurs im Forum ein Eintrag verfasst wird, so wird dieser nicht wie versprochen an alle Mitglieder des Kurses verschickt!
Die Lösung findet sich im Admin-Menü unter dem unscheinbaren Punkt "Mitteilungen": Hier steht die Meldung "Das Cron-Script wurde in den letzten 24 Stunden nicht ausgeführt.", wobei die Worte "Cron-Script" ein Link sind, ein Klick hierauf startet das Script, es erscheinen Textmeldungen auf einer neuen Browser-Seite, jetzt werden alle auf Halde gesammelten Mails verschickt. Dieses Cron-Script will als Cron-Job unter Linux eingetragen sein, die moodle-Hilfefunktion gibt hierfür wieder genaue Anweisungen. Anschließend wird das Script automatisch alle 5 Minuten gestartet.

Weitere Punkte folgen später an dieser Stelle!

Samstag, 4. November 2006

Proxy-Einstellungen in Firefox schützen

Problem:
Beim IE ist mittels GPedit recht einfach die "Verbindungen"-Seite zu sperren, sodass die Schüler die Proxy-Einstellungen nicht verändern können.
Firefox hält sich allerdings nicht an die Einstellungen dieser Seite, sondern verwaltet den Proxy selber. Bis Version 1.5 im Karteireiter Allgemein unter Extras-Einstellungen, seit Version 2.0 im Karteireiter Erweitert-Netzwerk-Einstellungen.
Diese Seite lässt sich zwar global für alle User je Client vorgeben, allerdings können die User die Einstellungen verändern oder stilllegen. Wie lässt sich dies verhindern?

Lösung:
Mit den geeigneten Suchbegriffen lassen sich bereits Beschreibungen für die Problemlösung finden, ich stütze mich hier u.a. auf den Lösungsansatz von Mac-o-Net und Chris Ilias, baue aber unsere spezielle Fragestellung ein.

1. Schritt: Wir basteln uns eine Vorlage.
In einem Texteditor erstellen wir folgende Zeilen:
//
lockPref("network.proxy.backup.ftp","192.168.0.200");
lockPref("network.proxy.backup.ftp_port",8080);
lockPref("network.proxy.backup.gopher","192.168.0.200");
lockPref("network.proxy.backup.gopher_port", 8080);
lockPref("network.proxy.backup.socks","192.168.0.200");
lockPref("network.proxy.backup.socks_port", 8080);
lockPref("network.proxy.backup.ssl","192.168.0.200");
lockPref("network.proxy.backup.ssl_port", 8080);
lockPref("network.proxy.ftp","192.168.0.200");
lockPref("network.proxy.ftp_port", 8080);
lockPref("network.proxy.gopher","192.168.0.200");
lockPref("network.proxy.gopher_port", 8080);
lockPref("network.proxy.socks","192.168.0.200");
lockPref("network.proxy.socks_port", 8080);
lockPref("network.proxy.ssl","192.168.0.200");
lockPref("network.proxy.ssl_port", 8080);
lockPref("network.proxy.http","192.168.0.200");
lockPref("network.proxy.http_port", 8080);
lockPref("network.proxy.share_proxy_settings",true);
lockPref("network.proxy.type",1);
lockPref("browser.startup.homepage","http://arktur.schul-netz.de");
Erklärung:Der Proxy hat die IP 192.168.0.200 und den Port 8080 (wenn nicht, dann einfach abändern). Durch die Vorgabe "lockPref" wird Firefox angewiesen, die Einstellung zu sperren, im entsprechenden Menüfenster sind dann Änderungen des Users (auch mit Admin-Rechten!) nicht mehr möglich - das gleiche gilt übrigens auch für die entsprechenden Einträge in about:config!

Die Datei speichern wir unter "mozilla.txt".

2. Schritt: Wir wandeln die Vorlage um.
(Achtung: Original-Post gilt für alte Firefox-Versionen. Siehe Edit unten!)

Firefox akzeptiert Configurationsdateien nur kodiert (byte-shifting mit einem Versatz von 13), am bequemsten geht das mit dem Automatic Mozilla Configurator, Datei hochladen, umwandeln lassen und als mozilla.cfg abspeichern - und zwar im gleichen Verzeichnis wie die firefox.exe - also im Normalfall unter C:\Programme\Mozilla Firefox.

3. Schritt: Ergänzen der all.js.
(Achtung: Original-Post gilt für alte Firefox-Versionen. Siehe Edit unten!) 
Nun müssen wir Firefox mit der neuen Datei noch bekanntmachen. Wir öffnen in einem normalen Texteditor die Datei all.js aus dem Verzeichnis C:\Programme\Mozilla Firefox\greprefs. Ganz ans Ende der Datei hängen wir die Zeile:pref("general.config.filename","mozilla.cfg");
(bitte danach vorsichtshalber eine Leerzeile freilassen!)

Das war's auch schon! Beim nächsten Start von Firefox sind die Proxy-Einstellungen gesperrt. Und zwar bei allen Usern auf diesem Rechner.

Wenn man das auf mehreren Rechnern im Netzwerk erledigen muss, hilft eine kleine Batch-Datei auf einem Netzlaufwerk (hier als Laufwerk P: gemountet) mit folgendem Inhalt:

copy p:\mozilla.cfg "C:\Programme\Mozilla Firefox" /y
copy p:\all.js "
C:\Programme\Mozilla Firefox\greprefs" /y
pause


Erklärung:
Man beachte die Anführungszeichen! Der Pfad enthält ein Leerzeichen. Damit das Firefox als Teil des Pfades und nicht als fehlerhafte Optionsangabe des Befehls copy angesehen wird, bedarf es der Anführungszeichen!
Die Option /y verhindert eine Nachfrage beim Überschreiben bereits existierender Dateien.
Achtung! Die all.js unterscheidet sich zwischen Firefox 1.5 und 2.0! Man sollte sie also nicht miteinander vermischen!



Edit (04.01.2013):

Das oben Aufgeführte gilt in aktuellen Firefox-Versionen (derzeit: 17.0.1) so nicht mehr! Es geht jetzt einfacher: 
  • Schritt 1 bleibt wie oben beschrieben, allerdings wird die Datei nicht als mozilla.txt, sondern gleich als mozilla.cfg gespeichert, der Byteshift aus dem 2. Schritt ist jetzt überflüssig! Die Datei wird im Verzeichnis C:\Programme\Mozilla Firefox gespeichert.
  • Eine Anpassung der all.js ist nicht mehr notwendig (und auch nur noch schwer möglich, weil sie in der Datei omni.jar verpackt ist), stattdessen speichert man einfach eine Datei mit dem Namen local-settings.js und folgendem Inhalt:

    //
    pref("general.config.obscure_value", 0);
    pref("general.config.filename", "mozilla.cfg");

    in das Verzeichnis
    C:\Programme\Mozilla Firefox\defaults\pref\
  • Die batch-Datei lautet jetzt: 
copy p:\mozilla.cfg "C:\Programme\Mozilla Firefox" /y
copy p:\local-settings.js "
C:\Programme\Mozilla Firefox\defaults\pref" /y
pause

Montag, 1. Mai 2006

Wegbeschreibung mit Google-Maps auf der eigenen Homepage

Problem:

Auf der Homepage unseres Chores möchte ich gerne Hinweise in Kartenform geben, wie man mit dem Auto oder Öffis (=öffentliche Verkehrsmittel) zur Pauluskirche Stuttgart kommt.
Es gibt jede Menge Kartendienste im Internet - nur möchte ich eigentlich nicht von der Homepage eines Kirchenchores auf eine mit mehr oder weniger viel Werbung vollgestopfte Seite verweisen - ich möchte möglichst weitgehend den Inhalt der Seite kontrollieren können. Und das möglichst innerhalb des Kontextes meiner eigenen Seite, nicht unter einer fremden URL!

Lösung:

Ja, ich weiß: Google, die Krake. Überall mischt Google mit und sammelt fröhlich Daten. Andererseits gebe ich meine Daten ja nicht für irgendein Gewinnspiel heraus, bei dem ich tolle Klingeltöne gewinnen kann, sondern ich erhalte echten Mehrwert. Z.B. den Speicherplatz und die Verwaltungssoftware für dieses Blog.
Oder auch Straßenkarten, nach Wunsch verknüpft mit ansehnlichen Luftbildern. Und da wären wir beim springenden Punkt:

Google-Maps (http://maps.google.de/)

Google bietet für seinen Maps-Dienst eine API an, die man kostenlos in seine Homepage einbauen kann. Man muss sich dazu einmalig anmelden und erhält für seine Homepage (gebunden an eine URL) einen Code. Die Anmeldung setzt einen Google-Account voraus und erfolgt hier:
http://www.google.de/apis/maps/

Man erhält einen persönlichen Code, der nur in Verbindung mit der zuvor selbst angegebenen eigenen URL funktioniert (auch nicht mit Unterverzeichnissen dieser URL, also von Anfang an das richtige Unterverzeichnis - falls nötig - angeben!).

Einsatz:

Nun muss die Karte ja in eine Seite der eigenen Homepage eingebunden werden. Das funktioniert im Prinzip recht einfach, die offizielle Dokumentation gibt es hier:
http://www.google.de/apis/maps/documentation/

Für diejenigen, die mit Javascript nicht allzuviel anfangen können, aber schnell ein ansehnliches Ergebnis haben möchten, hier eine kleine Anleitung, das fertige Beispiel kann man unter dieser Adresse bewundern:
http://home.arcor.de/pauluschor/weg.html


Anleitung:


Wir basteln uns eine neue html-Datei oder überarbeiten eine bestehende, entweder in einem Editor mit Quelltextansicht oder einfach im normalen Editor im Windows-Zubehör.

Zunächst muss das Google-Script im html-head eingebettet werden, dort werden auch alle Einstellungen vorgenommen:

<html>
<head>

<title>Wegbeschreibung Pauluschor-Stuttgart</title>

<script src="http://maps.google.com/maps?file=IhrGoogleCode"
type="text/javascript"></script>
<script type="text/javascript">

//<![CDATA[

function load() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map"));


Bis hierher muss fast nichts geändert werden, nur der Titel und die Worte IhrGoogleCode, an deren Stelle, vor das schließende Anführungszeichen, kommt der Code, den man von Google erhalten hat.

map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());


Das sind die Kontrollfelder links oben. Mit ihrer Hilfe kann der Anwender die Zoomstufe und wählen und den Ausschnitt verschieben - wenn er dazu nicht einfach Drag&Drop verwenden will. Veränderungen bedarf es bei diesen Zeilen ebenfalls keiner. Man kann sie auch weglassen, dann kann der Anwender eben nicht die Zoomstufe verändern.

map.setCenter(new GLatLng(48.772624055119635,9.153199195861816), 16);

Jetzt wirds wichtig: Hier gibt man an, welcher Kartenausschnitt gezeigt werden soll, genauer: auf welche Geokoordinaten zentriert werden soll (die beiden langen Zahlen, Breite und Länge) und welche Zoomstufe gewählt werden soll (in diesem Fall 16 - ein ziemlich naher Zoom).
Und wie bekommt man die gewünschten Geokoordinaten heraus? Ganz einfach:
http://www.infosports.com/m/map.htm
Der Free Geocoder basiert ebenfalls auf Google-Maps, man zieht die Karte auf die richtige Position, zoomt ein wenig, klickt dann auf den Punkt, auf den später die eigene Karte zentriert werden soll, dort wird ein Marker angelegt, wenn man diesen jetzt anklickt, erscheint ein Fenster mit den Geokoordinaten, die man freundlicherweise einfach herauskopieren kann.
Aber Vorsicht: Der Geocoder gibt Länge, Breite aus, man muss für unsere Zwecke die beiden Zahlen also umdrehen (Breite, Länge)!

var icon = new GIcon();
icon.image = "symkirche.png";
icon.shadow = "schakirch.png";
icon.iconSize = new GSize(40, 59);
icon.shadowSize = new GSize(1, 1);
icon.iconAnchor = new GPoint(20, 30);
icon.infoWindowAnchor = new GPoint(40, 1);


Jetzt gehts schon etwas in die Tiefe: diese Zeilen werden nicht unbedingt benötigt, man kann sie problemlos weglassen!
Wir legen ein Icon an (die Pauluskirche Stuttgart, Dateiname symkirche.png), geben ihm einen Schatten (wollte ich nicht haben, ist in diesem Fall nur ein schwarzer Pixel, Dateiname schakirch.png), definieren die Größe der beiden Grafiken, geben an, an welcher Stelle des Icons sein Ankerpunkt sein soll, an dem es später auf der Karte "befestigt" wird (hier: genau in der Mitte) und an welchem Punkt des Icons das dazugehörige Info-Fenster angedockt sein soll (hier: oben rechts).

var Punkt0 = new GLatLng(48.772624055119635,9.153199195861816);
var Punkt1 = new GLatLng(48.77385436402763,9.155881404876709);
var Punkt2 = new GLatLng(48.769993638392656,9.15459394454956);
var Punkt3 = new GLatLng(48.77490080994553,9.150989055633545);


OK, jetzt definieren wir vier (Anzahl beliebig) verschiedene Punkte auf unserer Karte, der erste ist das Zentrum (die Pauluskirche), die anderen drei eine Bushaltestelle, die S-Bahn-Haltestelle und die Haltestelle der Stadtbahn.

var marker0 = new GMarker(Punkt0, icon);
var marker1 = new GMarker(Punkt1);
var marker2 = new GMarker(Punkt2);
var marker3 = new GMarker(Punkt3);


Aus den vier Punkten werden jetzt Marker (wie beim Geocoder, wenn man auf die Karte klickt), der erste Marker erhält nicht nur die Geokoordinaten des ersten Punktes, sondern auch noch unser Icon von oben - wenn keines definiert wurde, dann , icon einfach weglassen.

GEvent.addListener(marker0, "click", function() {
marker0.openInfoWindowHtml("<div>
<strong>Pauluskirche
</strong></div><div>Paulusstr. 1</div><div>
70197 Stuttgart</div>");

});
map.addOverlay(marker0);

marker0.openInfoWindowHtml("<div><strong>Pauluskirche
</strong></div>
<div>Paulusstr. 1</div><div>
70197 Stuttgart</div>");


Jetzt wird der erste Marker (marker0) tatsächlich auf die Karte gesetzt und ihm auch gleich ein Info-Fenster mitgegeben. Innerhalb der Anführungszeichen steht hier weiterer html-Code: alles, was zwischen <div>...</div> steht, bekommt eine eigene Zeile in diesem Info-Fenster, <strong>...</strong> bedeutet, dass der Text dazwischen fett und etwas größer (je nach Browser) dargestellt wird.
Die Zeile marker0.openInfoWindowHtml steht absichtlich zweimal da: Beim ersten Mal wird definiert, was erscheinen soll, wenn jemand den Marker anklickt. Beim zweiten Mal wird gesagt, dass beim ersten Laden der Seite dieses Info-Fenster bereits geöffnet sein soll. Es kann immer nur ein Info-Fenster zur gleichen Zeit offen sein!

GEvent.addListener(marker1, "click", function() {
marker1.openInfoWindowHtml("<div><b>Bushaltestelle Bismarckplatz</b></div>
<div>Linie 42</div>");
});
map.addOverlay(marker1);

GEvent.addListener(marker2, "click", function() {
marker2.openInfoWindowHtml("<div><b>S-Bahn-Haltestelle Schwabstraße
</b></div><div>Ausgang Seyfferstraße</div><div>alle Linien</div>");
});
map.addOverlay(marker2);

GEvent.addListener(marker3, "click", function() {
marker3.openInfoWindowHtml("<div><b>Stadtbahnhaltestelle
Arndt/Spittastraße</b></div><div>Linie 4</div><div>Linie 9</div>");
});
map.addOverlay(marker3);

}
}

//]]>

Jetzt folgen die restlichen 3 Marker (jeweils nur mit einem marker0.openInfoWindowHtml, schließlich sollen diese Info-Fenster noch geschlossen sein!), schließlich kommen die nötigen Klammern, die ganz oben geöffnet wurden, das Ende des Scriptes und das Ende des html-heads.

So, und jetzt muss das Script nur noch in der eigentlichen "Webseite" geöffnet werden, das geschieht im html-body:

<body onload="load()" onunload="GUnload()" bgcolor="#FFFF99">

<center>

<div>Wie kommt man zur Pauluskirche?</div>

<font face="arial, verdana" size="2">
<div id="map" style="width: 800px; height: 600px;"></div>
</font>

</center>
</body>


Was passiert hier: die beiden Tags onload und onunload stammen von Google, die müssen so da stehen. Dahinter (bgcolor) wird die Hintergrundfarbe der Seite angegeben.
Alles nun folgende wird bei mir zentriert (<center>). Das wirkt sich auch auf die Texte in den Info-Fenstern der Google-Karte aus!!!
Nun folgt die Überschrift meiner Seite (nicht zu verwechseln mit dem Titel!) in einem eigenen Absatz (<div>...</div>).
Dann definiere ich die Schriftart für die Info-Fenster, hier: Arial oder Verdana in der Browserschriftgröße 2.
Die nächste Zeile legt jetzt endlich die Karte an!!! Veränderungen kann man hier an der Größe des Kartenbereichs vornehmen, also an der Breite (width) und der Höhe (heigth), Angaben in Pixel. Ich habe hier Werte genommen, die auf den meisten Monitoren problemlos angezeigt werden müssten.
So, und das wars auch schon. Noch brav alle geöffneten Tags wieder schließen (bis </body>), und schon kann man seine neue Homepage speichern, hochladen und bewundern!

Samstag, 29. April 2006

Epson-Toner im Dell-Drucker

Man kanns ja mal probieren:

Kann man in einen Dell 3000cn die Tonerkartuschen eines Epson 1100 einsetzen?


Zunächst:
Ja, man kann - aber leider nur mechanisch! Drucken kann man damit nicht!

Genauer:
Das Druckwerk der beiden Drucker ist exakt das selbe, die Tonerkartuschen der Drucker sind mechanisch (bis auf eine kleine Kerbe oben rechts, die aber mit ein wenig Geschick nicht weiter stört) identisch. Da wir im Sekretariat einen Epson, im Lehrerzimmer aber einen Dell stehen haben, wollten wir die Bestellung vereinheitlichen und die Kartuschen des Epsons auch für den Dell verwenden.
Zunächst kämpften wir mal wieder mit der sagenhaft fummligen Mechanik des Dell beim Einsetzen der neuen Schwarz-Kartusche. Das Ding wollte wieder einmal nicht einrasten, das passiert allerdings auch bei den Original-Dell-Kartuschen. Schließlich ließ sich der Hebel der Kartusche endlich bewegen und schien einzurasten.

Beim Einschalten des Druckers erwies sich dies aber als falsch, die Kartusche verklemmte beim Diagnosedurchlauf in der Trommel, es kostete uns einige Zeit herauszubekommen, wie die Trommel sich manuell drehen lässt (links ist eine Vertiefung in der äußeren Wand des Druckers, dort lässt sich mit einem Kuli ein Hebel eindrücken, der die Arettierung der Tromel löst), sodass wir die Kartusche wieder entfernen und diesmal korrekt einsetzen konnten.

Der Dell führte korrekt seine Diagnose durch, meldete dann aber: Falscher Typ!
Super: das heißt also, die Epson-Kartuschen funktionieren im Dell nicht, wir müssen immer doppelt für beide Drucker bestellen. Auch eine Verstellung des Menü-Eintrags "Kein Dell-Toner" hilft hier nicht weiter!

Nicht gerade Werbung für Dell, diese Sache. Der Drucker druckt zwar in Farbe sehr langsam, legt auch häufig Zwangspausen zum Kalibrieren ein (habe noch keine Möglichkeit gefunden, den Intervall zu verlängern), die Qualität des Drucks ist aber wirklich ansprechend. Nur ist der Wechsel der Medien (kurz mal eine Klarsichtfolien bedrucken) unzumutbar, trotz ausführlicher bebilderter Anleitung scheitern die Kollegen an diesem Vorgang häufig. Ist ja auch idiotisch, die Medien sowohl am Drucker wie auch im Druckertreiber auswählen zu müssen - eines von beidem vergessen die Kollegen grundsätzlich! Und wenn sie fertig sind, stellen sie am Drucker wieder nicht auf Normalpapier zurück...

Nächstes Mal ein anderer Drucker - zumindest fürs Lehrerzimmer.

Mittwoch, 12. April 2006

Aldi-Schnäppchen

Nein, auch hier geht es nicht um Computer oder Chorgesang, es geht um die heutige Aldi-Anzeige in der Zeitung:

Zu kaufen gibt es nämlich Angelausrüstung:
  • Angeln
  • Köder
  • Angelschnur
  • Bleigewichte
  • usw.
Und für den Fall, dass das mit dem Angeln nicht so hinhaut:
  • Fischstäbchen
  • Schlemmerfilet
  • usw.
Aldi hat das ganz offensichtlich drauf, unterschiedliche Artikel des Sortiments sinnvoll miteinander zu verknüpfen...

Jetzt stellt sich nur die Frage: Bei der nächsten Anzeige mit Reitutensilien (Reiterstiefel, Reiterhose, Reitergerte usw.), was gibt es da für Angebote, wenn das mit dem Reiten nicht so ganz hinhaut? Ungarische Salami...?

Sonntag, 9. April 2006

Uhrzeit stellen unter WinXP für eingeschränkte Benutzer

Problem:
Rechneruhren laufen bekanntermaßen nicht besonders genau, zudem geben die Batterien der Rechner nach einigen Jahren ganz den Geist auf, und wenn dann die Entwickler der Motherboards noch so geistvoll waren, die Batterien auf der Platine festzulöten, dann kursieren im Netz plötzlich Dateien mit Erstellungsdatum vom 1.1.1980. Bei Klassenarbeiten o.ä. etwas blöd, weil das Sortieren nach Uhrzeit/Datum nicht korrekt funktioniert.
Unsere Benutzeraccounts holen sich beim Anmelden vom Server dessen aktuelle Systemzeit und stellen danach die Client-Zeit neu. Das funktioniert unter WinXP-Pro aber nur, wenn der Benutzer Administrator- oder Hauptbenutzerrechte auf dem Client besitzt, die Benutzeraccounts unserer Schüler und Lehrer besitzen aber natürlich nur Benutzerrechte, sie können die Systemzeit also nicht verändern (ein Doppelklick auf die Uhr in der Taskleiste führt zu einer Fehlermeldung).

Lösung:
Ich beschreibe hier die Lösung speziell für eine Schulserverumgebung unter dem Schulserver Arktur, die Lösung ist aber problemlos auch auf andere Client-Server- oder auch Stand-alone-Umgebungen mit WinXP-Pro übertragbar (WinXP-Home besitzt den Gruppenrichtlinieneditor gpedit.msc nicht!).

Arktur legt "Lehrer" und "Schueler" als Benutzergruppen an, man kann bei den Benutzerrechten also auch nach diesen Gruppen differenzieren (also vorgegeben vom Domänenserver). Genauso kann man natürlich auch alle "Benutzer" (also eine lokale Differenzierung unter WinXP) eintragen, das Vorgehen ist nur unterschiedlich.

Vorarbeiten:
  • Starte den Gruppenrichtlinieneditor (Start - Ausführen - gpedit.msc).
  • Klicke dich in den Zweig: Computerkonfiguration - Windows-Einstellungen - Sicherheitseinstellungen - Lokale Richtlinien - Zuweisen von Benutzerrechten.
  • suche den Eintrag "Ändern der Systemzeit", doppelklicke darauf.
Weiteres Vorgehen
  1. nach Domänenvorgaben:
  • Klicke auf "Benutzer oder Gruppe hinzufügen..."
  • Klicke auf "Objekttypen..." und aktiviere in diesem Fenster das Häckchen bei "Gruppen". Schließe dieses Fenster.
  • Schau nach, ob unter "Suchpfad:" der Name der Domäne (unter Arktur standardmäßig "Schule") steht.
  • Gebe den Objektnamen ein (also den Namen der am Server angelegten Benutzergruppe, unter Arktur z.B. "Lehrer" (ohne Anführungszeichen) ).
  • Klicke auf OK
  • Gebe als Benutzernamen den Admin des Servers ein (unter Arktur am besten "adm") sowie sein Kennwort.
Jetzt sollte im Hauptfenster die Gruppe "schule\Lehrer" auftauchen.

2. nach lokalen Vorgaben von WinXP:
  • Klicke auf "Benutzer oder Gruppe hinzufügen..."
  • Klicke auf "Objekttypen..." und aktiviere in diesem Fenster das Häckchen bei "Gruppen". Schließe dieses Fenster.
  • Klicke auf "Pfade..." und wähle im neuen Fenster den lokalen Rechnernamen aus. Schließe das Fenster.
  • Gebe den Objektnamen "Benutzer" (ohne Anführungszeichen) ein.
  • Klicke auf OK
Jetzt sollte im Hauptfenster die Gruppe "Benutzer" auftauchen.

Spam-Blog?

Hmm, komisch, Blogger.com behauptet, dies sei ein Spam-Blog! Wie kommen die denn darauf? Funktioniert deshalb vielleicht auch das dynamische Lesezeichen nicht mehr? Oder hängt das mit dem Benutzerzähler ganz unten auf der Seite zusammen? Den würde ich ja notfalls auch wieder entfernen, zeigt im Moment ja eh nur an, dass ich der einzige Nutzer dieser Seite bin :-(

Naja, im Notfall kann ich auch mit der Wortbestätigung leben, ausnahmsweise ist die sogar lesbar!

Freitag, 7. April 2006

DSL-Desaster Teil II

Die Telekom


Nachdem der Versuch, bei Arcor einen DSL-Anschluss zu bekommen, fehlgeschlagen war, ging ich also wieder auf die Suche. Ein Anruf bei der Telekom ließ wieder hoffen: Jaja, Arcor habe nur DSL 1000 im Angebot, nichts darunter, und 1000er-DSL würde bei unseren Leitungen halt nicht funktionieren. Deswegen hätte die Telekom ja eben das 384-DSL im Angebot, das auch auf schlechten Leitungen wie der unsrigen laufe! OK, dann also wieder Telekom.
Ich gehe, da ich mit dem Reutlinger wie dem Tübinger T-Punkt bisher nur schlechte Erfahrungen gemacht habe, zum T-Punkt-business im Gewerbegebiet, in der Hoffnung, dort kompetente Mitarbeiter zu finden. Im Juli läuft auch gerade ein Angebot mit vergünstigter DSL-Flat von T-Online, kommt mir nur recht, die übernehmen nämlich die Freischaltgebühr für DSL.
Problem: Die Daten für die Übernahme des ISDN-Anschlusses können sofort aufgenommen werden, der DSL-Auftrag kann aber erst gemacht werden, wenn die Telefonleitung wieder im Besitz der T-Com ist. Der Termin dafür ist aber noch unbekannt. Die Dame im T-business verspricht uns einen Rückruf, sobald Arcor bekannt zu geben geruht, wannn der Anschluss an die T-Com übergeht.
Ende Juli werde ich nervös: Arcor hat den 12.8.05 als Umschalttermin genannt, das verbilligte T-Online-Flat-Angebot gilt aber nur für den Juli. Ein sehr kompetent wirkender Mitarbeiter im T-Business-Laden verspricht, auch zu diesem Zeitpunkt noch die billigere Variante anbieten zu können. Einen Auftrag kann aber auch er noch nicht aufnehmen, da die T-Com noch keine Nachricht von Arcor über den Umschalttermin bekommen hat.
Am 5.8. wollen wir in Urlaub fahren, am 4.8. besuchen wir noch einmal den T-business, eine weniger kompetent wirkende Mitarbeiterin fragt mehrfach bei der Zentrale nach, wie man das verbilligte Angebot vom Juli mit dem jetzt endlich möglichen Auftrag für DSL verbinden könne, da sie von der Zentrale noch keine kompetente Antwort erhalten kann, will sie das Problem erledigen, während wir in Urlaub sind, nach unserem Urlaub sollten wir DSL haben.
Nach unserem Urlaub telefonieren wir zwar wieder über die T-Com, von DSL aber keine Spur, auch nichts schriftliches. Ein Besuch beim T-business am 22.8. bestätigt unsere Befürchtungen, von einem DSL-Auftrag sei im System nichts zu finden, die Mitarbeiterin von Anfang August ist nicht da. Und: nein, die verbilligte Flatrate von Juli sei jetzt definitiv nicht mehr zu haben. Prima - Danke. Aber was hilfts, wir wollen DSL haben, der Mitarbeiter nimmt den Auftrag entgegen, ich bestehe auf einer schriftlichen Bestellbestätigung, die er mir unwillig aushändigt (dabei braucht er nur wenige Mausklicks, um das fertige Formular auszudrucken).
Am 25.8. bekomme ich die Hardware sowie ein Schreiben, dass mir DSL im Laufe des 29.8.05 verspricht.
Am 29.8. regt sich nichts, das DSL-Lämpchen des Modems bleibt aus.
Ein Anruf bei der Telekom: Ja komisch, sowas habe sie ja noch nie gesehen: Man habe mir gleichzeitig mit der Freischaltung gekündigt. Deshalb sei der letzte Schritt der Freischaltung nicht erfolgt. Offenbar habe ich die letzte Rechnung über 3 Eurocent (!) nicht bezahlt. Auf meine Frage hin, was das für eine Rechnung sein solle, ich habe doch einen ganz neuen Auftrag gegeben, da könne es doch noch gar keine Rechnung geben, meinte die Mitarbeiterin, dass ich mal einen T-Online by call-Anschluss besessen habe, dieser sei nun umgewandelt worden in T-Online flat, und da eine alte Rechnung nicht bezahlt worden sei, habe man den Anschluss gekündigt.

Damit war die Sache etwas klarer: Von der Umwandlung des alten Vertrages hatte mir niemand etwas gesagt, tatsächlich hatte ich den T-Online by call für mein Online-Banking (Classic-Gate) verwendet, beim Wechsel zu Arcor ging T-Online das Barechnungskonto bei der T-Com verlustig, die erste Mahnung trudelte jedoch erst ein, als ich gerade wieder bei der T-Com Kunde war, ich nahm an, dass T-Online damit wieder ein Abrechnungskonto habe, da auch nie eine 2. Mahnung bei mir ankam.

Das erklärte ich der Mitarbeiterin, die mir glaubte und meinte, man werde den Auftrag erneut ins System einstellen, es würde aber 3-4 Tage dauern, bis der Anschluss dann geschaltet würde.

Hotline
Nun begann für mich eine Zeit, in der ich den Umgang mit der T-Online-Hotline erlernte. Ich lernte, dass nur in der Fachabteilung halbwegs kompetent erscheinende Menschen am Apparat sitzen, die übrigen dienen nur als (kostenpflichtige) Warteschleife, man erzählt ihnen das Problem, sie hacken eine Weile auf ihrer Tastatur herum und fluchen bisweilen ("Oh Scheiße!") um dann zu sagen: "Tut mir leid, da muss ich Sie mit der Fachabteilung weiterverbinden, die können Ihnen helfen!" Dem war aber leider nicht so.
Am 16.9. erhielt ich einen zweiten DSL-Splitter und eine neue T-Online-Nummer, aber kein Datum für eine Freischaltung.
Am 19.9. telefonierte ich mit insgesamt 7 T-Online- und T-Com-Mitarbeitern (immer kostenpflichtig!):
  1. "Ich kann Ihnen nicht helfen und die Fachabteilung ist gerade nicht besetzt. Bitte rufen Sie doch später noch einmal an."
  2. "Ich kann Ihnen nicht helfen, unser Computersystem ist gerade down."
  3. "Ich kann Ihnen nicht helfen, ich verbinde Sie mit der Fachabteilung."
  4. "Ich kann Ihnen nicht helfen, für DSL-Light ist nicht T-Online, sondern die T-Com direkt zuständig!"
  5. "Nein, wie kommen die bei T-Online denn darauf? Die T-Com ist dafür nicht zuständig, das muss T-Online selbst erledigen! Ich kann Ihnen nicht helfen."
  6. "Ich kann Ihnen nicht helfen, ich verbinde Sie mit der Fachabteilung.
  7. "In 48 Stunden sollte DSL bei Ihnen geschaltet werden, ich rufe sie dann zurück!"
Aha, warum nicht gleich so?
Am 27.9. waren die 48 Stunden längst abgelaufen, ich hatte aber weder DSL noch einen Anruf auf meinem AB. Ein Gespräch mit der Fachabteilung war fällig, der Kollege versprach, sich mit der Kollegin einen Stock höher in Verbindung zu setzen und zurückzurufen.
Am 29.9. rief ich mal wieder an, weil kein Rückruf erfolgt war, der Kollege ließ sich zum Wort "Scheiße" hinreißen, er werde den Auftrag in das System eintragen (Nanu, warum erst jetzt???), es dauere nur noch 3-5 Tage, dann habe ich DSL. Und logisch, einen Rückruf bekäme ich dann auch.
Vom selben Tag datierte auch
ein Entschuldigungsschreiben von T-Online mit dem Versprechen, mich von der Grundgebühr für 3 Monate zu befreien - ich war zufrieden!
Am 6.10. hatte ich kein DSL und keinen Rückruf, die Hotline fand einen Auftrag vom 29.9., ab diesem Tag dauere es eben 14 Tage, bis die Freischaltung erfolgen könne.
Am 13.10. waren auch diese 14 Tage abgelaufen, bei der Hotline waren aber mal wieder die Computer down, und zwar den ganzen Tag!
Am 14.10. bekam ich einen Fachabteilungsmitarbeiter an den Apparat, er brauchte mehrere (kostenpflichtige) Minuten, um sich in den Schreibverkehr einzuarbeiten, und meinte dann tatsächlich: "So ein Vorgang kann schon so 4-6 Wochen dauern. So lange müssen Sie eben warten!". Aha. Auf wieviele Monate vertröstet mich der nächste Mitarbeiter?
Am 17.10. bekam ich einen Brief von T-Online, man bedauere, dass ich mit dem Kundenservice nicht zufrieden sei und werde mich "zukünftig durch unsere Servicequalität [...] überzeugen".
Anfang November führte ich wieder einige Gespäche mit T-Online, ich wurde mal wieder an die T-Com verwiesen. Spaßeshalber versuchte ich es auch dort - die dortige Hotline ist kostenlos! - und siehe da: eine sehr freundliche Mitarbeiterin versprach mir, man werde sich darum kümmern und zurückrufen. Noch größer mein Erstaunen, als der Rückruf tatsächlich kam: "Ich kümmere mich persönlich darum, das wird jetzt endlich erledigt.". Am nächsten Tag dann eine Nachricht auf meinem AB von der T-Com: "Ich hätte Ihnen gerne geholfen, aber ich darf nicht! Ich habe mit T-Online gesprochen, T-Com ist dafür nicht zuständig, T-Online will das selbst machen. Tut mir leid." Schade.
Ein Schreiben vom 12.11.05 heißt mich "Herzlich willkommen in der DSL Welt von T-Online" (zum dritten Mal), man bedankt sich für meinen Auftrag vom November (aha!?) und will DSL am 17.11.05 freischalten.
Gleichzeitig erhalte ich Starterset+DSL-Splitter Nr. 3.
Am 14. 11. erhalte ich ein weiteres Entschuldigungsschreiben mit dem Versprechen, den Service zu verbessern.

Technische Probleme
Am 17.11. blinkt das DSL-Lämpchen, es gibt aber keinen Connect. Mehrere Telefonate mit T-Online und T-Com, endlich bekomme ich einen Termin für einen Techniker.
Wenige Tage später steht der Techniker bei mir in der Wohnung und telefoniert mit der Zentrale, die Leitung zu uns ist viele Kilometer lang, die Dämpfung hoch (das weiß ich doch schon seit langem!), auch sein Modem bekommt keinen Connect, er müsse an den Hausverteiler und macht einen Termin mit dem Hausmeister aus.
Am nächsten Tag habe ich einen Anruf des Technikers auf dem AB, er habe jetzt den Hausanschluss gecheckt, dort komme in jämmerlich schlechtes Signal an, das dann offenbar auf der Reststrecke in unsere Wohnung vollends verloren ginge, da sei nichts zu machen: kein DSL möglich. Ich solle den Vertrag bei T-Online kündigen.
Ich kündige und schicke das Modem + Splitter zurück an T-Online (und bewahre den Retouren-Einlieferungsschein gut auf!).

Rechnungschaos
Die Dezember-Rechnung der Telekom flattert mir ins Haus, Sie ist ungewöhnlich hoch: Man berechnet mir den DSL-Anschluss, die DSL-Flat und eine "Rechnungsberichtigung" i.H.v. 8,59 Euro.
Ich erhebe am 16.12.2005 telefonisch Einspruch, man verspricht mir, sich darum zu kümmern, ich würde Antwort erhalten.
Ich erhalte keine Antwort und rufe am 3.1.2006 erneut an. Es heißt, die Stornierung des Auftrags sei nicht erfolgt, weil die Hardware von mir nicht zurückgeschickt worden sei. Also faxe ich den Retourenschein an T-Online.
Am 5.1.2006 erhalte ich ein Schreiben, in dem man sich für das Versehen entschuldigt und die Stornierung bestätigt. Außerdem bedaure man meinen Entschluss sehr. Ich auch.
Am 18.1.06 kommt die Januar-Rechnung, ich erhalte eine Erstattung, die jedoch geringer ist, als die zuvor berechneten Kosten. Außerdem werden mir neu die DSL-Anschlussgebühr vom 9.1.-8.2. sowie die DSL-Flatrate vom 4.1.-8.2. berechnet sowie die DSL-Anschlussgebühr vom 4.1. bis 8.1. zurückerstattet.
Ich erhebe Einspruch. Es braucht einige Telefonate und Gesprächspartner, bis ich bei einer kompetent erscheinenden Kollegin lande, diese verspricht, alles manuell zu beheben und gutzuschreiben. Es könne sein, dass sich die Gutschriften auf mehrere Monate verteilten.
Am 20.1. kommt ein Brief von T-Online. Man würde gerne wissen, warum ich T-Online nicht mehr nutzen will und werde sich deswegen mit mir telefonisch in Verbindung setzen. Der Anruf erfolgt leider nie.
Am 18.2. kommt die Februar-Rechnung, ich erhalte die Erstattung Grundgebühr 4.1.-8.2., die Erstattung Flatrate vom 4.1.-8.2. und keine neuen Kosten! Allerdings sind das immer noch über 26 Euro weniger als ich bisher gezahlt habe!
Ich faxe also mal wieder eine Aufstellung aller Kosten und aller Erstattungen an T-Online mit der Aufforderung, mir im März 26,11 Euro gutzuschreiben.
Mit Schreiben vom 18.2.06 teilt mir T-Online mit, dass man das beauftragte T-Online DSL Komplettpaket wunschgemäß storniert habe, was man sehr bedauere. Zu viel bezahlte Gebühren werde man mit der nächsten Rechnung zurückerstatten.
Am 22.2.06 teilt man mir schriftlich mit: "schade, dass Sie es sich anders überlegt haben und die Leistungen des DSL-Starterpakets doch nicht nutzen möchten. Wir bestätigen Ihnen hiermit die Stornierung Ihres Auftrags." Zuviel berechnete Beträge werde man gutschreiben.
Am 16.3.06 kommt die März-Rechnung, es gibt keinerlei Gutschrift.

Ich werde die April-Rechnung abwarten, wenn auch hier keine Gutschrift erfolgt, wird sich die Telekom-Story wohl noch weiter hinziehen.

Fazit
Wir surfen nach stundenlangen Telefonaten, vielen Faxen, Briefen und Paketen also weiterhin nur mit ISDN (leider über die Telekom, einen weiteren Providerwechsel mach ich nicht mit). Internet per Kabel BW kommt aufgrund unverschämter Vertragsbedingungen für uns nicht in Frage, wir wollen kein drittes Desaster!

Die deutsche Telekommunikationsbranche stellt sich in Bezug auf die beiden größten nationalen Player in diesem Markt als weitgehend inkompetent dar.