Schlagwort-Archive: Software

HTTPS-Umleitung per .htaccess

HTTPS, also verschlüsselte Webzugriffe, sind eigentlich für alle Seiten sinnvoll. Leider sind offizielle Zertifikate je nach Umfang nicht gerade billig und selbstsignierte erzeugen bei den Besuchern Warnmeldungen. Zwar ist es generell möglich HTTP und HTTPS parallel laufen zu lassen, allerdings haben einige Systeme, wie z.B. das hier verwendete WordPress, damit so ihre Probleme. Zwar ist es seit WordPress 2.6 generell möglich den Adminbereich über HTTPS zu betreiben (vorher haben einige AJAX-Elemente nicht korrekt funktioniert), ist jedoch eine nicht-HTTPS-Adresse in der Konfiguration eingetragen verweisen alle Admininstations- und Editierlinks auf die ungesicherte Seite. Hier lässt sich mit einer .htaccess-Datei, welche ich auf Joseph Scott’s Blog gefunden habe, im Verzeichnis wp-admin Abhilfe schaffen:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

dieser Code leitet alle Aufrufe auf die Admin-Bereiche auf die gesicherte HTTPS-Verbindung um, normale Seitenaufrufe sind nicht betroffen. Die htaccess-Methode lässt sich natürlich auch für andere Scripte und Bereiche verwenden.

Ergänzung zum Barcode-Spielen – die nächste Dimension

Mit Zebra hatte ich ja bereits ein OSS-Programm genannt, mit dem sich inzwischen die meisten 1D-Barcodes entschlüsseln lassen. Wem das nicht genug ist, der kann sich mal an SWIPE versuchen – diese Java-Applikation ist in der Lage den 2D-Barcode PDF417 aus Bildern zu kratzen. Eine OSS Library kann zudem mit QR-Code umgehen, welche mit bis zu 3kb Binärdaten so einiges zu Papier bringen (wobei >100Byte schon recht hohe Anforderungen an die Bildqualität gestellt werden).

Wer ein Handy hat kann auch mit Tools wie Neoreader, Qruzer oder BeeTagg auf die Barcodejagt gehen – mit Qruzer konnte ich schon mit QR-Codes eine schöne Anbindung an mein kleines Inventarsystem basteln.

Distributed Multihead X (Xdmx) Howto

Hinweis: Der Artikel ist schon etwas älter, ich habe das Vorhaben bisher nicht fertig gestell, aber eventuell helfen die Angaben ja dem Ein oder Anderem

Bild: http://adlersa.yotaweb.de/gallery2/gallery2/d/6477-3/Bigdesktop.jpg?g2_GALLERYSID=33658476444b24a4cf10b9eac3d4ead9Ja, ich geb ja zu, ich bin Monitorsüchtig. Normal arbeiten hier zwei 19″er an einer NVidia-Karte per TwinView, für noch mehr Übersicht muss von Zeit zu Zeit mein Laptop herhalten. Hierbei wird auf dem Hauptrechner ein virtueller Monitor emuliert und dessen Inhalt per Ethernet auf den zweiten Rechner verfrachtet. Ein ähnliches Setup hatte ich bereits zu meinen Windows-Zeiten mit MaxiVista. Unter Linux muss ich mich natürlich etwas Neues suchen – das Zauberwort heißt Xdmx. Dieser X-Server kann mehrer andere X-Server zusammenfassen. Oder wie es die Wiki schimpft: „It acts as a proxy X Window server for multiple back-end X servers.

Gentoo-User haben es hier einfach – Xorg (x11-base/xorg-server) hat dmx als USE-Flag – einmal setzen und schon werden alle Tools und Libs emerged. Unter Debian müsste das passende Paket xdmx-tools heißen. Zusätzlich ist Xnest zum Testen ein praktischer helfer – Gentoo-XOrg hats dabei, Debian-User sollten ein gleichnamiges Paket finden. Hiermit lassen sich virtuelle X-Server in einer laufenden Sitzung starten – ähnlich wie VNC.

Für den ersten Test werden auf dem Master zwei Xnester gestartet:

XSESSION="xterm" startx -- /usr/bin/Xnest :1 -geometry 640x480+0+0 -name Test1
XSESSION="xterm" startx -- /usr/bin/Xnest :2 -geometry 640x480+0+0 -name Test2

Ich nutze hier startx, da ich so in den Testservern ein Terminal erhalte und die Zugriffsrechte korrekt gesetzt werden. Danach kann der Xdmx gestartet werden:

Xdmx :9 -display :1 -display :2 -query localhost

Die beiden display-Angaben verweisen auf die virtuellen X-Server. Das Query stellt eine Anfrage an den Loginmanager – ist dieser auf Remoteverbindungen eingerichtet zeigt sich auf den ersten Testfenster die Loginmaske. Ich hatte in dem virtuellen X einige Tastaturprobleme, da aber auf #2 das Terminal verschwand und im Xdmx beide Screens aufgeführt waren lasse ich den Test mal als erfolgreich durchgehen.

Weiter zu den echten Screens: Zuerst benötigt der Hauptrechner Zugriff auf meinen Laptop – dazu wird auf dem Zweitgerät per "xhost +192.168.x.y die entsprechende IP freigeschaltet. Zum test kann man mit DISPLAY="laptop:0" xterm (laptop=IP oder DNS) ein Fenster auf dem Slave starten. Funktioniert das kann Xdmx den Dienst antreten:

Xdmx :9 -display :0 -display laptop:0 +xinerama -query localhost

Das ganze lässt sich dann noch in entsprechende Startscripte verpacken. Beendet werden kann Xdmx mit Strg+Alt+Backspace

Info am Rande: Es soll auch eine zweite Software geben, welche als OpenGL-Proxy dient, damit könnte eine einfache 3D-Beschleunigung möglich sein.

Noch ein paar Infos:

TwinView (NVidia) wird als ein großer Bildschirm erkannt

Statt TwinView 2 separate X-Screens einstellen. Geht z.B. über das NVidia-GUI

Gnome startet nicht/Macht Probleme/etc

Gnome kann pro Rechner und User nur 1x gestartet werden. Am besten mit einem anderen User oder einem anderen Windowmanager Xdmx starten

Tastaturlayout

-param XkbModel pc104 -param XkbLayout de -param XkbVariant nodeadkeys

Im Falle von Gnome unter System->Einstellungen->Tastatur entsprechend anpassen.

Probleme mit Schriftarten

Mittels -fontpath kann man die entsprechenden Pfade angeben. Fuer mein Gentoo z.B.

-fontpath /usr/share/fonts/local -fontpath /usr/share/fonts/misc -fontpath /usr/share/fonts/Type1 -fontpath /usr/share/fonts/TTF -fontpath /usr/share/fonts/75dpi -fontpath /usr/share/fonts/100dpi

Darstellungsprobleme

Folgende Optionen schalten einige Optimierungen ab – am besten selbst probieren was hilft. In meinem Fall reichte der noglxproxy um die meisten Programmfehler zu beheben und Videoplayer ans laufen zu bekommen:

-ignorebadfontpaths -noglxproxy -norender -nosubdivprims -nowindowopt -nooffscreenopt

Weitere Infos:

Amazon zwischen Teil- und Komplettlieferung

Amazon bietet ja so einige Optionen, wenn es um die Verwaltung von Bestellungen geht. Zu viel rumspielen kann aber seltsame Effekte hervorrufen, wie eine meiner letzten Bestellungen zeigte. Erste Angabe auf der Seite: Komplettversand irgendwann nächsten Monat – es war einiges nicht auf Lager. Einzelversand erübrigte sich als Alternative, da das ganze in 4 Paketen endete – 3 davon mit Portokosten. Nach einigem Hin- und Her im Bestellsystem dann Ende. Meine letzte Einstellung: Komplettversand für nächsten Monat – ich hab ja Zeit. Etwas erstaunt war ich dann einige Tage später: Eine Versandbestätigung lag in meinem Postfach – eine einzelne DVD machte sich soeben auf den Weg. Ein Blick in die Bestellübersicht zeigt noch mehr Abweichungen: Die restlichen Artikel waren auf 3 Lieferungen aufgeteilt worden – alle auf den Anfang des nächsten Monats datiert. Einen Tag später kam ich wieder nicht um Amazon herum: Zum einen lag im Briefkasten ein Umschlag mit der erwähnten DVD, zum anderen fanden sich 3 weitere Versandbestätigungen im Postfach, obwohl alles erst Wochen später lieferbar wäre. Entsprechend dann Heute das Ergebnis – die 3 Pakete lagen vor meiner Tür, vollständig. Alle Lieferungen waren im übrigen ohne Porto.

Auf Nachfrage sendete Amazon nur die üblichen Autotexte – auch bei Komplettlieferung könne die Bestellung aus logistischen Gründen aufgeteilt werden. Ob die viel zu frühe Einzellieferung jetzt wirklich ein Zufall war oder meine gehäuften Änderungen hier den Effekt hervorgerufen haben istschwer zu sagen, aber ich finds schon irgendwie seltsam.

Multiseat X

Ein Rechner, ein User – so oder so ähnlich dürften die meisten PC-Setups aussehen. Während in Firmennetzen mit Terminalservern wieder eine Rückbesinnung auf die Mainframe/Terminal-Architektur Einzug gefunden hat sind solche Ansätze bei einzelnen PCs eher weniger verbreitet. Keine Verbreitung heißt aber nicht, dass so etwas unmöglich ist. Vor einigen Jahren berichtete bereits die c’t über diese Möglichkeiten, aus Mangel an Interesse überflog ich die Seiten aber nur grob.

Zwischenzeitlich hat sich dann doch eine Idee ergeben, mein Server sollte dran glauben – mit Onboard Cirrus-Karte und einer Radeon PCI ging es in den Test. TFT+Touchscreen starten eine X-Sitzung mit meinem Frontend, die Cirrus-Karte darf unterdessen mit Tastatur und Maus die zweite Bedieneinheit bilden und sich mit xterm & co rumschlagen.

Erster Blick auf die Dokus: Kernel über 2.4.irgendwas sollte passen, mehrere Grafikkarten ebenfalls und ein X.org über 6.9 sollte ebenfalls keine Hürde darstellen. Durch meine Basteleien mit (X)DMX (ops, ich seh grade die Doku hab ich nie veröffentlicht) ist mir noch so einiges aus der xorg.conf im Kopf, daher kein wirkliches Problem eine passende Grundconfig zu schreiben, die Anpassungen für Multiseat liefert die Gentoo-Wiki.

Der erste Teststart mit beiden Monitoren brauch ein paar Minuten – die I2C-Verbindung für DDC ist über 20m Monitorkabel wohl nicht gerade zuverlässig. Trotzdem starteten beide Monitore zufriedenstellend. Als nächstes der Start mit einzelnen Monitoren, leider nicht ganz so erfolgreich – jeder für sich startet problemlos, simultan jedoch kommt die Radeon aus dem Tritt und verabschiedet sich bis zum nächsten Reboot (genauer: Es werden falsche Monitorfrequenzen berechnet – laut Log soll die Radeon plötzlich irgendwas zwischen -32000000MHz und 32000000MHz unterstützen). Auch der versuch die PCI-Isolierung über die X-Argumente zu regeln brachte leider keinen Erfolg. Scheint, als ob ich bei Multihead bleiben muss, auch wenn dadurch beide Monitore nicht komplett unabhängig betrieben werden können.

Mediacenter-Zwischenstand

Inzwischen wächst mein Touchscreen-Mediacenter langsam weiter – das neue Menüesign habe ich vom „Telekom-Haus“ abgekupfert (Bild), die Startseite enthält nun nurnoch das aktuelle Wetter sowie die Vorhersage für die nächsten Stunden, die Steuerung der einzenen Relais ist auf eine eigene, momentan noch etwas spartanische, Seite des Menüs gewandert. Videos werden noch immer als eine „Coverparade“ angezeigt, auf Klick/Touch lassen sich IMDB-Infos einblenden und das Video abspielen – dank neuer Radeon-Karte im PCI-Slot auch etwas flüssiger als bisher. Audio wird ebenfalls einen neuen Anstrich erhalten: Zwar greife ich immernoch auf Amarok (und somit auch dessen Metadaten und die gesammelten Statistiken und Bewertungen aller PCs) zurück, allerdings wird dieser nun direkt über meine PHP/HTML-GUI gesteuert – DCop machts möglich. Neu dabei kommt am Ende noch die Möglichkeit über LAN auf einige Ressourcen eines anderen PCs zuzugreifen – ich denke dabei an einen Embedded-Rechner mit DVD-Laufwerk am Monitor oder auch einen Rechner mit TV-Karten.

Einwohnermeldeämter sorgen für unfreiwillige Transparenz

Nachdenken, dass kann man nur einigen Admins empfehlen, wenn die Angaben des ARD-Magazins Report München stimmen: Die browserbasierte Software der Einwohnermeldeämter wird nach deren Angaben mit einem Standardpasswort ausgeliefert – jeder normale Mensch würde dies wohl ändern, aber knapp 200 Gemeinden war das anscheinend zu Aufwändig. Die Eindringlinge freuten sich, denn dieses Standardkennwort wurde auch auf der Onlinedemo des Herstellers verwendet. Hersteller und Gemeinden suchen nun nach den Sündenbock und spielen mit unterschiedlichen Zahlen der betroffenen Anwender… (via Heise, Golem, Gulli, etc)

Anbieter baut Mist, Kunde zahlt Strafe

Computerfehler sind nichts neues, wohl aber die Taktik, dass der User nun für die Fehler der Programmierer Schadenersatz zahlen soll. Wie Gulli berichtet hatte eine Tankstelle mit Selbstbedienung einen kleinen Systemfehler: Tankte man zwischen 70 und 80 Euro berechnete das System keine Treibstoffentnahme. Eine Kundin soll nun zahlen – 33 Tankfüllungen erhielt sie vom System zum Nulltarif. Die Anklage lautet auf „Beeinflussung durch unbefugte Einwirkung auf den Ablauf eines Datenverarbeitungsvorgangs.“ – nur wo wurde hier etwas beeinflusst? Soweit ich den Artikel verstehe hatte die Frau ihre EC-Karte o.Ä. bereitgestellt und eine Quittung über den Tankbetrag erhalten – lediglich die Abbuchung wurde durch das System nicht durchgeführt. Dafür soll die Kundin nun strafrechtlich belangt werden?

Mehr Wetter

Ach ja… Feiertag… Endlich etwas Zeit zum Basteln. Heutiges Ziel war ein SHT11, ein Sensor, welcher mir in Zukunkt neben der bereits vorhendenen Temperatur auch die relative Luftfeuchte liefern soll. Hardwareseitig war das SMD-Gehäuse für mich als Groblöter ein Alptraum, aber mit etwas Geduld und einem guten Klecks Heißkleber sollte das ganze fürs erst halten. Softwareseitig bin ich, wie bei den meisten Problemen, bei Mikrocontroller.net schnell fündig geworden. Zwar musste der Code für meinen Mega8 noch etwas angepasst werden (dieser nutzt andere Registernamen und -größen für RS232), aber der Grundcode lief, nach ein paar Tritten gegen den MAX232, einwandfrei. Auf dem PC läuft wie immer ein PHP-Script, welches die Daten entgegen nimmt und in eine RRD verfrachtet. Das ebenfalls in PHP realisierte Frontent bedient sich zudem den Formeln von Wettermail.de und berechnet so aus Temperatur und Luftfeuchte einige Nährungswerte für Taupunkt sowie die Menge des Wassers in Gramm pro m³ Luft – und weils gerade so lustig war darf das Frontend auch noch Datum, Zeit, Sonnenaufgang, Sonnenuntergang und Sonnenhöchststand berechnen.

Jetzt muss ich nurnoch einen passenden Standort für das Gebilde finden – Werte von meinem Schreibtisch nutzen mir nicht all zu viel. Zwar habe ich bereits einen Temperatursensor außen, aber der Befindet sich auf der Südseite des Hauses, was man deutlich an den Temperatur-Peaks gegen 11-12h sehen kann. Naja, bei einer nötigen Datenrate von 8 Byte pro Sekunde sollte die Buslänge schonmal kein Problem darstellen.

90479052