XBMC über die Kommandozeile steuern

Eine XBMC-Instanz lässt sich auch per Kommandozeile bedienen. Das funktioniert sogar übers Netzwerk. Benötigt wird das Paket xbmc-eventclients-xbmc-send:

sudo apt-get install xbmc-eventclients-xbmc-send

Nun erfolgen die Steuerungsbefehle per

xbmc-send --host=IP-VON-XBMC --port=9777 --action="AKTION"

Die gewünschten Aktionen sind im XBMC-Wiki aufgelistet.

Beispiele

In den nachfolgenden Beispielen ist XBMC unter der IP 192.168.0.150 am Port 9777 erreichbar. Gegebenenfalls müsst ihr diese Angaben auf eure XBMC-Installation anpassen.

Den Benutzer wechseln, hier am Beispiel des Master user:

xbmc-send --host=192.168.0.150 --port=9777 --action="LoadProfile(Master user)"

XBMC neu booten:

xbmc-send --host=192.168.0.150 --port=9777 --action="Reboot"

Audio-Datenbank updaten:

xbmc-send --host=192.168.0.150 --port=9777 --action="UpdateLibrary(music)"

Video-Datenbank updaten:

xbmc-send --host=192.168.0.150 --port=9777 --action="UpdateLibrary(video)"

Audio-Datenbank bereinigen (clean):

xbmc-send --host=192.168.0.150 --port=9777 --action="CleanLibrary(music)"

Video-Datenbank bereinigen (clean):

xbmc-send --host=192.168.0.150 --port=9777 --action="CleanLibrary(video)"

Weblinks

Posted in Ubuntu | Tagged , | Leave a comment

GIMP

Meine kleine GIMP-Fidel…

Pfeile zeichnen

  • Installiere das Script „arrow.scm
  • Werkzeug “PFADE ERSTELLEN UND BEARBEITEN” auswählen
  • Jetzt zweimal in das Bild klicken, um die Pfeilspitze (erster Klick) und das Pfeilende (zweiter Klick) zu definieren. Kann über die Einstellungen aber auch vertauscht werden.
  • Im Menü “WERKZEUGE” und dann “PFEIL...” auswählen.
  • Die Pfeileigenschaften festlegen und mit “OK” bestätigen.

Rechtecke zeichnen

  • Werkzeug „Rechteckige Auswahl“ wählen und Rechteck zeichnen.
  • Im Menü „Bearbeiten“ => „Auswahl nachziehen...“ wählen und Parameter festlegen
Posted in Ubuntu | Tagged | Leave a comment

Video in Flash umwandeln

Um eine Videodatei ins Flash-Format umzuwandeln (moodle benötigt Flash-Filme), wird folgender Befehl verwendet:

ffmpeg -i INPUT.avi -y -b 800 -r 25 -f flv -vcodec flv -acodec libmp3lame -ab 128 -ar 44100 OUTPUT.flv
Posted in Ubuntu | Tagged | Leave a comment

Zwei Verzeichnisse mittels rsync zusammenführen (merge)

Ich habe die zwei Ordner ORIGINAL-A und ORIGINAL-B. Diese sollen nun im Ordner ZIEL zusammengeführt werden.

  • ORIGINAL-A und ORIGINAL-B haben teilweise die selben Unterordner, wobei die Dateien innerhalb dieser Unterordner unterschiedlich (Dateiname, Inhalt, Version) seien können. Jede „unique“ Datei soll in ihrer aktuellsten Form in den entsprechenden Unterordner des Ordners ZIEL kopiert werden.
  • Manche Unterordner existieren nur in ORIGINAL-A, manche Unterordner nur in ORIGINAL-B. Alle „uniquen“ Ordner sollen an die entsprechende Stelle des Ordners ZIEL kopiert werden.

In der Kommandozeile funktioniert dies z.B. mittels rsync:

rsync -aP /Pfad/zu/ORIGINAL-A/* /Pfad/zu/ZIEL/
rsync -aP /Pfad/zu/ORIGINAL-B/* /Pfad/zu/ZIEL/

Weblinks

via AskUbuntu

Posted in Professor Hastig, Ubuntu, ubuntuusers | Tagged , , | Leave a comment

mkv-Dateien splitten

Um einen Ausschnitt aus einem MKV-Video herauszuschneiden benötigt man unter Ubuntu das Programm mkvmerge, welches im Paket mkvtoolnix enthalten ist.

sudo apt-get install mkvtoolnix

Der Aufruf erfolgt dann so:

mkvmerge --split timecodes:ANFANGZEIT,ENDZEIT INPUT.mkv -o OUTPUT.mkv

AFANGZEIT und ENDZEIT müssen dabei im Format HH:MM:SS angegeben werden.
Möchten man also aus der Datei Film.mkv das Stück zwischen Minute 5:07 und 08:02 herausschneiden, lautet der Befehl:

mkvmerge --split timecodes:00:05:07,00:08:02 Film.mkv -o Ausschnitt.mkv

Für einzelne Kapitel nimmt man:

mkvmerge --split chapters:1,3,5 testfile.mkv -o output.mkv
Posted in Jean Pütz | Tagged , , | Leave a comment

[xbmc] Userdaten auf mSD-Karte verschieben

Ich benutze hier eine Pivos-XIOS-Box, welche mit einem „puren“ Linux/XBMC geflasht wurde. Die Box hat insgesamt 2GB internen Speicher. Dieser ist allerdings in 4 Parts a 500MB aufgeteilt.

Hat man nun ein paar Filme/Serien/Musikalben der Datenbank hinzugefügt, ist der Speicher für die „Userdaten“ ziemlich schnell am Limit. Das Doofe ist nun, dass dadurch die Performance der Box deutlich eingeschränkt wird. Als Faustregel kann man sagen: „Ist einer der 4 Speicherparts mit über 75% Daten belegt, fängt die Box an zu ruckeln, und die CPU schnellt gerne mal auf dauerhafte 100%-Usage hoch.

Da die Box einen Slot für MicroSD-Karten besitzt wäre es sinnvoll, die Userdaten auf eine solche Speicherkarte auszulagern.
Und das geht tatsächlich denkbar einfach:

  • Auf der mSD-Karte erstellt man einen Ordner namens xbmc-data
  • Jetzt steckt man die Karte ein und startet die xbmc-Box neu. Die Box erkennt die Karte beim Booten automatisch, und auf dem Startbildschirm wird angezeigt, dass die Userdaten auf die mSD-Karte kopiert werden. Das Ganze verläuft wie gesagt voll automatisch.
  • Ist die Box wieder oben, kann man unter „Systeminfo“ sehen, dass die Karte eingehängt ist und als Speicherort für Userdaten dient.
  • Dennoch ist der interne Speicher der Box noch rappelvoll mit den „alten“ Userdaten, die nun nicht mehr benötigt werden. Um diese Altlast loszuwerden rebootet man die Box in den Recovery-Mode und wählt dort wipe cache partition
  • Ab dem nächsten Reboot sollte xbmc wieder genügend internen Speicher zur Verfügung haben, und für die Userdaten nur noch die mSD-Karte nutzen.
Posted in Jean Pütz | Tagged , | Leave a comment

Dateien mit rar packen

Hier ein kleiner Beispielcode zum Erzeugen von gesplitteten und passwortgeschützten rar-Archiven:

rar a -v102400 -hpProdunis -m5 Archiv.rar MeineDateien

Hierbei gilt:

  • a = append = in ein Archiv einbinden
  • -v102400 = splitte das Archiv in 100MB-Teile
  • -hp = Passwortschutz (direkt hinter die Option schreiben, in diesem Fall –hpProdunis für das Passwort “Produnis”). Durch das h in der Option -hp wird der Inhalt des Paketes versteckt. Somit kann man ohne Passwort nicht sehen, welche Dateien im Paket enthalten sind.
  • -m = Kompressionsrate (0=schwach, 5=beste)
  • Archiv.rar = Name des Archivs, das erstellt wird
  • MeineDatei = Datei, die zu einem Archiv geschnürt werden soll
Posted in Jean Pütz, Ubuntu | Tagged , , | Leave a comment

Häufigkeiten von factor-levels für Gruppen plotten

Gegeben ist folgende Tabelle:

JAHR LAND
1999 UK
1999 UK
1999 UK
1999 UK
2000 UK
2000 UK
2001 UK
2001 UK
2001 UK
2001 UK
2003 UK
2003 UK
2003 UK
2003 UK
2004 UK
2005 UK
2005 UK
2005 UK
2005 UK
2006 UK
2006 UK
2008 UK
2008 UK
2008 UK
2008 UK
2008 UK
2009 UK
2001 GER
2002 GER
2003 GER
2003 GER
2004 GER
2004 GER
2005 GER
2005 GER
2006 GER
2006 GER
2006 GER
2007 GER
2008 GER
2009 GER
2010 GER
2011 GER
2011 GER
2011 GER
2006 UK
2011 GER
2012 GER
2012 GER
2012 GER
2005 USA
2007 USA
2007 USA
2009 USA
2010 USA
2010 USA
2011 USA
2012 USA
2012 USA

Jetzt möchte ich mit ggplot eine Übersichtsgraphik erstellen. Hierbei soll die X-Achse die Jahreszahlen wiederspiegeln. Auf der Y-Achse sollen die Häufigkeiten der einzelnen Länder pro Jahr angezeigt werden.

Da die Länder-Variable ein factor ist, benötige ich einen ggplot-Code, welcher die Häufigkeiten der einzelnen factor-levels (Länder) gruppiert nach Jahren ausrechnet…

Das funktioniert hier „manuell“ per

# Datensatz einlesen
dat < - read.table("http://www.produnis.de/R/Faktorfrequenz.txt", sep="\t", colClasses = "character", header=T)

# Berechnung
with(dat,table(JAHR,LAND))

Aber wie "übersetze" ich das in einen ggplot-Code? Da ggplot selbst statistische Berechnungen durchführen kann, läge der Vorteil eines "reinen" ggplot-Codes darin, dass neue factor-levels (in diesem Fall also ein neues LAND) direkt in der Grafik eingebunden wäre, ohne dass man den Code ändern müsste.

ggplot-Code

Und so funktioniert es:

# Datensatz einlesen
dat < - read.table("http://www.produnis.de/R/Faktorfrequenz.txt", sep="\t", colClasses = "character", header=T)

# plotten
#------------
# Variante 1
ggplot(df, aes(x=factor(JAHR), fill=LAND)) + 
  geom_bar(position="dodge")

FreqPlot1

# Variante 2
ggplot(df, aes(JAHR)) + 
  geom_freqpoly(aes(y= ..count.., fill=LAND, group=LAND, colour=LAND),stat="bin",binwidth=1)

FreqPlot2

# Variante 3
ggplot(df, aes(JAHR)) + 
  geom_area(aes(y= ..count.., fill=LAND, group=LAND),stat="bin",binwidth=1)

FreqPlot3

Weblinks

Siehe auch

Dieser Artikel ist Teil des Handbuchs

Posted in dev/null | Tagged , , | Leave a comment

WakeOnLAN

Damit „Wake on LAN“ (WOL) funktioniert, muss zunächst im BIOS des Boards diese Funktion aktiviert werden. Da dies von BIOS zu BIOS unterschiedlich sein kann, findet man hier eine kleine Überischt: https://code.google.com/p/gwakeonlan/wiki/Enable_WOL_Bios.

WOLBIOS1

WOLBIOS2

Grundsätzlich sollte man in den ACPI-Einstellungen direkt nach WakeOnLan-Einträgen suchen, oder beispielsweise PCI/PCIE-Support enablen.

Ist das System wieder hochgefahren, muss das Paket ethtool installiert werden, z.B. per

sudo apt-get install ethtool

Mein Server besitzt nur die On-Board-Netzwerkkarte (eth0). Über diese Karte soll der Server per “Magic Package” geweckt werden. Um diese Funktion zu aktivieren gibt man ein:

sudo ethtool -s eth0 wol g

Damit diese Funktion auch beim Systemstart automatisch zur Verfügung steht, öffnet man die Datei /etc/rc.local mit root-Rechten und trägt den Befehl dort über dem „exit 0“-Eintrag ein. Das sieht bei mir so aus:

#!/bin/sh -e
#
# (...)
#
# By default this script does nothing.
sleep 5
ethtool -s eth0 wol g
exit 0

Standardmäßig wird die Netzwerkkarte beim Herunterfahren deaktiviert, so dass sie keine Packages im Ruhezustand annehmen kann. Um dies zu verhindern, muss in der Datei /etc/init.d/halt der Eintrag NETDOWN=yes geändert werden in NETDOWN=no.

Auf meinem Server funktioniert nun WOL ohne Probleme.

Siehe auch

Dieser Artikel ist Teil des Handbuchs

Posted in Jean Pütz | Tagged , , | Leave a comment

[ssh] Publik-Keys vergeben

Wem die Authentifizierung uber Passwörter trotz der Verschlüsselung zu unsicher ist, – immerhin könnte das Passwort ja erraten werden – der benutzt am besten das Public-Key-Verfahren.
Hierbei erzeugt man sich einen geheimen Schlüssel sowie ein öffentlichen Schloss. Das Schloss kann man nun auf all jenen PCs im Netzwerk hinterlegen, zu welchen man Verbindungen aufbauen möchte. Der geheime Schlüssel, der (als einziger) das öffentliche Schloss aufschließen kann, verbleibt auf dem eigenen System und darf niemals rausgegeben werden.

Erstellt wird ein solches Schlüssel-Schloss-Paar per:

ssh-keygen -t rsa

Der voreingestellte Dateiname (id_rsa) kann einfach mit der RETURN-Taste bestätigt werden, außer man möchte sich ein weiteres Schlüsselpaar erzeugen.
Von der Benutzung einer leeren Passphrase ist jedoch abzuraten, weil sonst jeder, der evtl. in
den Besitz dieser Datei kommt, sofortigen Zugriff auf alle zugehörigen Systeme erhält.

Das erzeugt Paar liegt nun im Ordner ~/.ssh/:

  • id_rsa = der geheime Schlüssel
  • id_rsa.pub = das öffentliche Schloss

Nun muss noch das öffentliche Schloss (zu erkennen an der Endung .pub (also id_rsa.pub oder MEINPAAR.pub), auf dem Zielsystem deponiert werden. Dazu dient das Programm ssh-copy-id:

ssh-copy-id -i ~/.ssh/id_rsa.pub user@server

Siehe auch

Dieser Artikel ist Teil des Handbuch

Posted in dev/null | Tagged , | Leave a comment
« Older
Newer »