Produnis

uninteressant – aber wahr

Impressum

Archiv für die Kategorie 'Professor Hastig'

Fataler Fehler nach Update auf WordPress 3.0

Geschrieben am: 18.06.2010 von produnis

Ich hab soeben mal mein WordPress auf 3.0 geupdatet. Anschließend meldete mein Blog:

Fatal error: Cannot redeclare is_rtl()

Den Fehler verursachte bei mir das Plugin “Event Calendar”, den ich eh nicht mehr verwende. Also bin ich per FTP ins Verzeichnis wp-content/plugins gewechselt und hab den Ordner events-calendar einfach gelöscht. Nun geht wieder alles.

(via)

Gepostet in Professor Hastig, Ubuntu | Keine Kommentare »

Treiber für ASRock-Board (Win XP)

Geschrieben am: 5.06.2010 von produnis

Ich habe gestern auf meinem alten Video-Abspiel-PC Windows XP installiert.

Nach der Installation fehlten jede Menge Treiber. Unter anderem war der Onboard-Ethernet-Chip nicht unterstützt. Jetzt müsste man eigentlich die Kiste aufschrauben, und nachsehen, welches Mainboard denn nun verbaut ist. Ich habe nach etwas googlelei jedoch das Programm “Everest” entdeckt, welches einen Systemcheck durchführt und u.a. auch das verbaute Mainboard identifiziert. Meins ist ein ASRock K8NF6G-VSTA. Die Treiberseite bei ASRock bietet denn auch alle verfügbaren XP-Treiber zum Download an (was übrigens doof ist, wenn die Netzwerkkarte nicht erkannt ist!).
Jedenfalls musste ich lange rumfrickeln bis ich bemerkt hab, dass das NVIDIA all in 1 driver package auch die LAN-Treiber enthält!
Wenn man’s weiss…
Jetzt funktioniert alles.

Eigentlich nutze ich hier ausschließlich Ubuntu, aber seit einiger Zeit spiele ich über Steam wieder CounterStrike. Das läuft mittels Wine sogar richtig gut. Doof ist nur: wenn ich im Spiel ein anderes offenes Fenster anwähle, ist Steam heillos im Hintergrund verschollen, und ich habe es bis jetzt nicht geschafft, das Spielefenster wieder zurückzuholen.

Dennoch, alle schimpfen ja immer, dass Linux-Treiber so schwer zu bekommen seien. LucidLynx hat hier aber die Hardware von jedem Rechner out-of-the-box erkannt! Treiber musste ich lediglich für unseren Drucker im Büro nachinstallieren.

Gepostet in Professor Hastig | Keine Kommentare »

Eigenes Theme bringt Problem mit WordPress.com Stats

Geschrieben am: 15.05.2010 von produnis

Für meinen Blog hab ich mir autodidaktisch ein eigenes WordPress-Theme geschrieben. Alles sieht schick aus, jedoch ist mir aufgefallen, dass seit ich mein Theme aktiviert habe, keine Zugriffe mehr über das Plugin WordPress.com Stats angezeigt werden.

Des Rätsels Lösung hab ich hier gefunden:
Damit die Stats laufen, muss in der footer.php vor den </body></html>-Tags noch ein <?php wp_footer(); ?> eingetragen werden:

(...)

<?php wp_footer(); ?>
</body>
</html>

Jetzt funktioniert es wieder…

Gepostet in Professor Hastig | Keine Kommentare »

Python-Schnipsel

Geschrieben am: 12.05.2010 von produnis

Seit ein paar Tagen mache ich meine ersten Gehversuche mit Python. Ich möchte an dieser Stelle ein paar Codeschnipsel posten, für deren Syntax ich ziemlich lange frickeln und googlen musste.

 

dbus

Ich verwende in einem Skript dbus, um den PC in den Ruhezustand zu schicken

#!/usr/bin/env python
#
import dbus

#----------- Fahre in SUSPEND ---------------------------
def GeheSchlafen():
		bus = dbus.SystemBus()
		proxy_object = bus.get_object('org.freedesktop.UPower','/org/freedesktop/UPower')
		pm = dbus.Interface(proxy_object,'org.freedesktop.UPower')
		pm.Suspend()
#-----------------------------------------------------------

print "Fahre nun in Suspend"
GeheSchlafen()

Alternativ kann in der letzten Zeile der GehSchlafen()-Funktion auch pm.Hibernate() o.ä. verwendet werden.

 

Logdatei

Der folgende Codeschnipsel gibt Log-Meldungen sowohl in eine Datei als auch am Promt aus:

#!/usr/bin/env python
#
import logging
log_path = "/home/produnis/MeineLogdatei.log" # hierhin wird geloggt.
#------- Log-File vorbereiten ---------------
logging.basicConfig(filename=log_path,
		    level=logging.INFO,
		    format="%(asctime)s - %(levelname)s: %(message)s")
#--- Promt-Meldungen vorbereiten --------
logger =logging.getLogger("")
logger.setLevel(logging.DEBUG)
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)
formatter = logging.Formatter("%(asctime)s - %(levelname)s: %(message)s")
ch.setFormatter(formatter)
logger.addHandler(ch)
#-----------------------------------------------------

# Jetzt wird geloggt:
logger.info("Skript gestartet")
logger.debug("Debugmeldung")
logger.warning("Warnmeldung")

Mehr Infos unter http://docs.python.org/library/logging.html

 

Bash-Befehl-Ausgabe an Variable übergeben

Ich rufe innerhalb meines Python-Scripts einen Bash-Befehl auf. Die Ausgabe des Befehls soll nun an eine Variable innerhalb von Python übergeben werden.
Nehmen wir als Beispiel den Befehl

ps axf | grep gedit

Die passende Python-Funktion würde dann so aussehen:

#!/usr/bin/env python
#
from subprocess import Popen, PIPE
#
	p1 = Popen(["ps", "axf"], stdout=PIPE)
	p2 = Popen(["grep","gedit"], stdin=p1.stdout, stdout=PIPE)
	output= p2.communicate()[0]
	print output

Nehmen wir nun als Beispiel den folgenden Befehl:

netstat -ute | grep -i [s]sh | wc -l

Die passende Python-Funktion würde in etwa so aussehen:

#!/usr/bin/env python
#
from subprocess import Popen, PIPE
#
	p1 = Popen(["netstat", "-ute"], stdout=PIPE)
	p2 = Popen(["grep","[s]sh"], stdin=p1.stdout, stdout=PIPE)
	p3 = Popen(["wc","-l"], stdin=p2.stdout, stdout=PIPE)
	output= p3.communicate()[0]
	output=int(output) # wc -l liefert nen Integer zurueck

 

Timestamp

Folgende Funktion erzeugt einen schicken Timestamp:

#!/usr/bin/env python
import time
#----------- Zeitstempel erzeugen ---------------------------
def TimeStamp():
	stamp=time.strftime("%Y-%b-%d-%H:%M:%S", time.localtime())
	return(stamp)
#-----------------------------------------------------------

stamp=TimeStamp()
print "Datum/Uhrzeit: [%s]" %  (stamp)

 


 

Links

Gepostet in Professor Hastig | Keine Kommentare »

Jabber 4 all

Geschrieben am: 20.01.2010 von produnis

Nachdem auf Campino2k.de bemängelt wurde, dass die freie Instant-Messaging-Software Jabber (heute XMPP) leider noch viel zu unbekannt und wenig sichtbar ist, hat sich /home/zero der Sache angenommen und ein Tutorial-Mockup sowie ein Brainstorm-Wiki unter http://wiki.firefly-it.de/doku.php/jabber-projekt eingerichtet.

Super Idee!!!

UPDATE

Das Projekt ist nun unter einfachjabber.de erreichbar! WEITERSAGEN!

Gepostet in Professor Hastig, Ubuntu | Keine Kommentare »

tolkienfonts für LaTeX installieren

Geschrieben am: 14.12.2009 von produnis

Unter Ubuntu nutze ich die TeX Live-Umgebung der Distribution. Letztens stand ich vor dem Problem, dass ich innerhalb eines LaTeX-Dokuments einige Sätze auf “elbisch” schreiben bzw. einige Runen setzen wollte.

Es existiert das Paket “tolkienfonts“, welches ich gerne verwenden wollte. Da ich zum ersten Mal neue Fonts in LaTeX hinzugefügt habe, möchte ich kurz erklären, wie man dieses Paket installiert.

  1. Lade das Paket “tolkienfonts” herunter
  2. Das Paket enthält leider keine Fonts. Diese müssen gesondert heruntergeladen werden. Das Paket benötigt die Fonts:
  3. Zuerst entpackt man tolkienfonts.zip. Das Paket enthält unter anderem die Unterordner “fonts” und “tex“.
  4. Wechsle in den Unterordner “fonts”. Hier erstellt man einen Ordner namens “truetype” und darin wieder einen Ordner namens “tolkienfonts“.
  5. In diesen Ordner “truetype/tolkienfonts/” entpackt man nun die vier heruntergeladenen Fontpakete, so dass alle .ttf-Dateien in eben diesem Ordner liegen.
  6. Der Ordner truetype/tolkienfonts/ wird nun wiefolgt nach /usr/share/texmf-texlive/fonts/truetype/public/ kopiert (erforter root-Rechte):
    sudo cp -r /PFAD/ZU/tolkienfonts/fonts/truetype/tolkienfonts /usr/share/texmf-texlive/fonts/truetype/public/
  7. im Unterordner fonts/map/ liegt die Datei tolkien.map. Diese muss nun in den Ordner /usr/share/texmf-texlive/fonts/map/pdftex/tolkienfonts/ kopiert werden:
    sudo mkdir /usr/share/texmf-texlive/fonts/map/pdftex/tolkienfonts
    sudo cp  /PFAD/ZU/tolkienfonts/fonts/map/tolkien.map  /usr/share/texmf-texlive/fonts/map/pdftex/tolkienfonts/
  8. Das selbe Spielchen wiederholt man nun für die Unterordner “tfm“, “vf” sowie für den Inhalt des Ordners “tex/latex“:
    sudo mkdir /usr/share/texmf-texlive/fonts/tfm/tolkienfonts
    sudo cp -r /PFAD/ZU/tolkienfonts/fonts/tfm/* /usr/share/texmf-texlive/fonts/tfm/tolkienfonts/
    
    sudo mkdir /usr/share/texmf-texlive/fonts/vf/tolkienfonts
    sudo cp -r /PFAD/ZU/tolkienfonts/fonts/vf/* /usr/share/texmf-texlive/fonts/vf/tolkienfonts/
    
    sudo mkdir /usr/share/texmf-texlive/tex/latex/tolkienfonts
    sudo cp -r /PFAD/ZU/tolkienfonts/tex/latex/* /usr/share/texmf-texlive/tex/latex/tolkienfonts/
    
  9. Jetzt muss texhash aufgerufen werden, um den Dateiindex zu aktualisieren:
    sudo texhash
  10. Jetzt muss die tolkien.map dem System bekannt gemacht werden per:
    sudo updmap --enable Map=tolkien.map
  11. Jetzt kann das Paket innerhalb von LaTeX eingebunden werden per \usepackage{tolkienfonts}
Gepostet in Professor Hastig, Ubuntu, ubuntuusers | 1 Kommentar »

LaTeX-Fehler “TeX capacity exceeded

Geschrieben am: 2.12.2009 von produnis

Ich wollte gerade ein sehr umfangreiches Buch per LaTeX setzen, und stolperte über folgende Fehlermeldung:

"! TeX capacity exceeded, sorry [main memory size=50000]"

Die Lösung besteht darin, in der Datei /etc/texmf/texfm.cnf den Eintrag für main_memory deutlich zu erhöhen (ich habe mal 5500000 eingetragen).
Anschließend müssen die Änderungen mit dem Befehl

fmtutil --all

verarbeitet werden.
Jetzt funktioniert es wieder.

 
Links:

Gepostet in Professor Hastig, ubuntuusers | Tags: | Keine Kommentare »

moodle auf einem Strato-Server installieren

Geschrieben am: 25.10.2009 von produnis

Für ein Uni-Projekt musste ich moodle auf einem frischen virtuellen Strato-Server aufsetzen. Auf diesem läuft SuSE (was mir übrigens verdeutlicht hat, wie sehr ich an UBUNTU gewöhnt bin!).

Nunja, eigentlich ist die moodle-Installation keine große Sache, in diesem Fall jedoch gestaltete sich das Aufsetzen etwas schwieriger.

Bei der Installation von moodle muss der Pfad zu einem Datenverzeichnis (“moodledata“) gesetzt werden. Dieses Verzeichnis darf nicht über das Internet zugänglich sein, da sonst alle Userdaten (inkl. Admin-Account) über das Internet ausspähbar sind.

Bei mir soll es daher so aussehen:

Wenn ich nun das Install-Script angeschubst und die Pfade angegeben hab, meldete moodle folgenden Fehler:

The 'Data Directory' you specified could not be found or created. Either correct the path or create that directory manually.

Das Datenverzeichnis existierte aber und hatte auch die passenden Zugriffsrechte!

Im Netz habe ich dann gelesen, dass moodle nicht sauber durchinstalliert, wenn der php-safe_mode eingeschaltet ist. Dann nämlich kann moodle nicht in sein Datenverzeichnis “moodledata” schreiben. Des Weiteren muss der Eintrag für das open_basedir so erweitert werden, dass das Datenverzeichnis (“moodledata“) von Apache erreicht werden kann.

Ich habe daher in der php.ini den safe_mode auf Off gesetzt und als open_basedir das Verzeichnis “/srv/open” hinzugefügt.

Dennoch wollte moodle nicht installieren, die Fehlermeldung wurde immernoch angezeigt.

Ein Blick in die phpinfo(); zeigte, dass meine Einstellungen zwar als “Master Value” galten, nicht aber für die “Locale Values” übernommen wurde.

Das “Problem” ist, dass es zwar eine globale php.ini gib, aber auf den Strato-Servern dieses komische Admintool plesk läuft . Damit werden dann Virtuelle Hosts angelegt (die gehen davon aus, dass jemand mit einem Root Server Domains für andere Kunden hosted). Und in den einzelnen VHost-Konfigurationen werden dann die Einstellungen aus der globalen php.ini wieder überschrieben.

Des Rätsels Lösung war bei mir die Datei /etc/apache2/conf.d/zz010_psa_httpd.conf.
Diese ist die config Datei für den “Default” VHost.

Hier habe ich folgendes eingetragen:

 <ifmodule mod_php5.c>
     php_admin_flag engine on
     php_admin_flag safe_mode off
#    php_admin_value open_basedir "/srv/www/vhosts/default/htdocs:/tmp"
     php_admin_value open_basedir "/srv/www/vhosts/default/htdocs:/srv/open:/tmp"
 </ifmodule>

Und jetzt läuft es… :-)

Gepostet in Professor Hastig, ubuntuusers | 1 Kommentar »

WordPress: Artikelreihenfolge in Kategorien umkehren

Geschrieben am: 16.10.2009 von produnis

Für einen meiner WordPress-Blogs hätte ich es gerne so:

Gelöst hab ich das so:
In der Datei “archive.php” des aktuellen Themes wird die Variable $posts entsprechend umdefiniert:

<?php $posts = query_posts($query_string . '&order=ASC');?>

Gepostet in Professor Hastig, ubuntuusers | Keine Kommentare »

Per VLC auf die dbox2 streamen

Geschrieben am: 15.07.2009 von produnis

Neben diverser Ubuntu-Maschinen besitze ich auch noch zwei dbox2-Satelitenreciever. Bislang habe ich an den Rechnern das Fernsehbild der Boxen mittels VLC abgespielt. Heute hab ich dann durch Zufall entdeckt, dass es auch andersherum funktioniert. Die Idee ist, Videodateien, die auf der Festplatte meiner Ubuntu-Kiste gespeichert sind, per VLC über das Netzwerk auf die dbox2 zu streamen. Der auf der dbox integrierte Movieplayer soll den Stream dann über den Fernseher abgespielen. Und das geht so:

Ubuntu

Unter Ubuntu installiert man zunächst den aktuellen VLC mittels Terminal:

sudo apt-get install vlc

Anschließend legen wir uns auf dem Desktop (oder im Panel oben) einen so genannten “Starter” an. Dies funktioniert recht einfach per Klick der rechten Maustaste.
Starter anlegen

Innerhalb des Starters müssen nun bestimmte Parameter gesetzt werden, mit denen VLC gestartet wird. Dies erfolgt im Feld “Befehl“. Hier tragen wir ein:

vlc --extraintf=http --http-host :8080 --sout-transcode-fps 25.0000 --http-caching=32192

Parameter setzen

Wenn man nun den Starter per Doppelklick ausführt, startet VLC mit den angegebenen Parametern und ist somit “grundsätzlich” bereit. Testen kann man dies übrigens durch aufrufen der Seite http://localhost:8080 – hier sollte sich ein VLC-Interface melden.

Da wir unter Linux arbeiten, ist folgender Hinweis von alborland noch interessant:

bei den neueren Versionen vom VLC wurden einige Dateien vom VLC-Share in einen “old” Ordner verschoben, deshalb funktionieren diese Versionen nicht mir dem Movieplayer. Um dieses Problem zu beheben, muss man im /usr/share/vlc/http Links auf die Dateien in /usr/share/vlc/http/old anlegen, oder die Dateien von /usr/share/vlc/http/old nach /usr/share/vlc/http kopieren. Damit auch DVD’s/(S)VCD’s unter Linux abgespielt werden können, muss man einen Symlink vom Cdrom Device auf das selbige mit einem Doppelpunkt am Ende anlegen. (z.B.: “ln -s /dev/cdroms/cdrom1 /dev/cdroms/cdrom1:“) und in der dboxfiles.html den pfad zum filmordner per editor eintragen (z.b.: DIR=/home/user/filme)!

Ich habe im Terminal daher noch folgendes ausgeführt:

cd /usr/share/vlc/http/old
sudo mv * ../

Viele Leute hatten anscheinend damit ein Problem, dass – auch wenn man eine andere Datei auswählt – immer die zuerst gewählt Videodatei abgespielt wird. Abhilfe schafft die Bearbeitung von 2 Dateien (dank an moloch666). Diese liegen im Ordner /usr/share/vlc/http/requests/ und heissen browse.xml und status.xml.

Damit die dbox2 auf den VLC-Stream zugreifen kann, muss VLC über den oben angelegten Starter gestartet werden!

dbox

Wenn ich nun Videodateien vom Ubuntu-Pc aus abspielen möchte, drück ich die dbox-Taste, wähle Movieplayer aus und drücke mit der roten Taste auf “Datei via VLC“. Hier sehe ich nun mein Filme-Verzeichnis auf dem Ubuntu-Pc. Durch die OK-Taste wird eine bestimmte Filmdatei aus dem Ordner ausgewählt. Jetzt verbindet sich die Box zu VLC, es erscheint für 5 Sekunden “Puffern...” auf dem Fernseher, und voila, die Filmdatei wird abgespielt.

weiter Links

Gepostet in Professor Hastig, Ubuntu | Tags: , | Keine Kommentare »