Mehr Linux für den Mac

Als ich vor 3 Jahren angefangen habe Macs zu benutzen habe ich recht fix die lieb gewonnene Paketverwaltung von Ubuntu (apt) vermisst. Einige Zeit habe ich mich ganz gut auch ohne durchgeschlagen, mittlerweile nutze ich aber die “nachgerüstete” Paketverwaltung homebrew für den Mac.

Die Installation ist denkbar einfach. Zunächst wird auf dem Mac Xcode installiert (über den Mac Store), danach geht es wie auf dieser Seite beschrieben weiter. Was man für die restliche Installation tun muss ist im Grunde genommen nur ein Script auszuführen. Fertig.

homebrew funktioniert nun wie folgt:

  • Installierbare Programme auflisten:Ich habe leider keine Liste aller durch brew installierbarer Applikationen gefunden. Abhilfe schafft folgendes:
    brew search --> gibt alle installierbaren Applikationen aus 
    brew search x --> gibt alles mit "x" im Namen aus
    brew info y --> gibt Informationen über Applikation y aus
    brew home y --> öffnet die zu Applikation y gehörige Homepage
  • Programme installieren:Eine Applikation (und alle benötigten Abhängigkeiten) installiert man durch
    brew install y

    Von der Installation bleiben die Quellcode-Archive zurück. Wer Platz sparen will, löscht die im Cache-Verzeichnis liegenden Archive. Der Cache liegt normalerweise unter ~/Library/Caches/Homebrew/ – Alternativ lässt sich das Verzeichnis durch folgenden Befehl bestimmen:

    brew --cache
  • Programme deinstallieren: Applikationen lassen sich natürlich auch löschen. Die Abhängigkeiten (auch wenn sie ansonsten nicht mehr benötigt werden) bleiben (leider) erhalten:
    brew list --> listet installierte Applikationen
    brew remove y --> entfernt Applikation y
  • Updates: Die installierten Applikationen lassen sich durch die folgenden beiden Befehle auf den neuesten Stand bringen:
    brew update
    brew upgrade

 

Eine Root-Konsole farblich kennzeichnen

Einer meiner Lieblingsfehler ist es versehenltich irgendwelche Dinge auf der Linux-Kommandozeile mit root-Rechten zu tun, die man besser nicht als root getan hätte. So z.B. das Auschecken eines SVN-Repositories. Später hat man das Problem, dass die ausgecheckten Dateien nicht lesbar sind, wenn man wieder als “normaler” User unterwegs ist…

Eine Lösung wie man eine root-Konsole deutlich als solche auszeichnen kann musste her. In den Weiten des WWW fand ich eine einfache Lösung. Man muss nur in das .bashrc-Script in seinem home-Verzeichnis  das folgende Snipplet einfügen:

if [ $UID != 0 ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u\[\033[0m\]@\[\033[01;33m\]\h\[\033[0m\]:\[\033[01;32m\]\w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;41m\]\u\[\033[0m\]@\[\033[01;33m\]\h\[\033[0m\]:\[\033[01;32m\]\w\[\033[00m\]\$ '
fi

Um der Wahrheit die Ehre zu geben verstehe ich den näheren Sinn der seltsamen Zeichenfolgen nicht aber deren Wirkung ist exakt das, was ich haben wollte: Ist man als root eingeloggt, wird der Nutzername nett rot umrandet.

How to: X10 OR22V and XBMC

I bought a cheap media center remote control that I want to use at my home theater pc to control xbmc and vdr. Unfortunately the remote doesn’t work out of the box. Googling for a howto took me to this thread which helped a lot but took quite a lot of time to read and find the useful hints in tons of posts. Now here’s the solution in brief:

First you need to blacklist (disable) some modules. Add the following lines to /etc/modprobe.d/blacklist.conf:

blacklist ati_remote
blacklist lirc_atiusb

Now add the following to /etc/lirc/hardware.conf:

#Chosen Remote Control
REMOTE=”mceusb”
REMOTE_MODULES=”"
REMOTE_DRIVER=”atilibusb”
REMOTE_DEVICE=”/dev/lirc0″
REMOTE_LIRCD_CONF=”/etc/lirc/lircd.conf”
REMOTE_LIRCD_ARGS=”"

#Chosen IR Transmitter
TRANSMITTER=”None”
TRANSMITTER_MODULES=”"
TRANSMITTER_DRIVER=”"
TRANSMITTER_DEVICE=”"
TRANSMITTER_LIRCD_CONF=”"
TRANSMITTER_LIRCD_ARGS=”"

#Enable lircd
START_LIRCD=”true”

#Don’t start lircmd even if there seems to be a good config file
#START_LIRCMD=”false”

#Try to load appropriate kernel modules
LOAD_MODULES=”true”

# Default configuration files for your hardware if any
LIRCMD_CONF=”"

#Forcing noninteractive reconfiguration
#If lirc is to be reconfigured by an external application
#that doesn’t have a debconf frontend available, the noninteractive
#frontend can be invoked and set to parse REMOTE and TRANSMITTER
#It will then populate all other variables without any user input
#If you would like to configure lirc via standard methods, be sure
#to leave this set to “false”
FORCE_NONINTERACTIVE_RECONFIGURATION=”false”
START_LIRCMD=”"

Now add the following to /etc/lirc/lircd.conf. This will translate the codes sent by the remote control to some (well known, standard) keyname:

# Please make this file available to others
# by sending it to <lirc@bartelmus.de>
#
# this config file was automatically generated
# using lirc-0.8.4a(atilibusb) on Tue Sep  8 23:54:34 2009
#
# contributed by funnybox2006, modified by nebu
#
# brand:  X10
# model no. of remote control: OR22V with RF USB Dongle
# devices being controlled by this remote:
# note: use atilibusb driver for this remote and set device in hardware.conf to /dev$

begin remote

name        mceusb
bits           16
eps            30
aeps          100

one             0     0
zero            0     0
pre_data_bits   8
pre_data       0×14
post_data_bits  16
post_data      0×0
gap          139982
min_repeat      2
toggle_bit_mask 0×80800000

begin codes
Power                    0xD702
Red                      0x87B2
Yellow                0×0934
Green                0x88B3
Teletext             0x6B96
Blue                    0x0A35
Back                 0xF520
More              0x84AF
Up                   0xEF1A
Left                     0x729D
OK                   0xF31E
Right                0xF41F
Down                 0x77A2
KEY_TIMESHIFTING     0x6D98
Guide                0×0631
DVD                  0xD904
LiveTV               0x719C
VolUp                0xDE09
Home                 0x709B
ChanUp               0xE00B
VolDown              0x5D88
ChanUp               0x618C
Mute                 0xD500
Replay               0x76A1
Skip                 0xF823
Rewind               0x79A4
Play                 0xFA25
Forward              0x7BA6
Record               0xFC27
Stop                 0x7DA8
Pause                0xFE29
One                  0x628D
Two                  0xE30E
Three                0x648F
Four                 0xE510
Five                 0×6691
Six                  0xE712
Seven                    0×6893
Eight                0xE914
Nine                 0x6A95
Star                 0x8CB7
Zero                 0xEC17
Hash                 0x0D38
Clear                0x85B0
Enter                0x0B36
end codes

end remote

Now restart Lirc: /etc/lirc/lircd restart and type irw. You should get some output when you press buttons on the remote and see that the mapping created above will work. The remote will now work with xbmc without changing anything at xbmc’s keymaps or other files. The lircd.conf uses standard keynames which are already mapped by the standard xbmc configuration files to xbmc actions.

Now start xbmc and have fun!

Update: Here is a explanation how to get the remote to work with vdr.

Homeserver: Der eeePC 4G als Video-Recorder

Vor einiger Zeit habe ich mir eine DVB-T Karte bei Saturn für gewaltige 20 Euro geholt, um Fernsehen auf meinem eeePC ansehen zu können. Idee: so hat man einen 2. Fernseher im Haus. Interessanterweise hielt sich aber die Häufigkeit des Gebrauchs dieses “Fernsehers” stark in Grenzen… ;-) Daher wollte ich den eeePC für eine neue Aufgabe rüsten: das Dasein als Video-Server.

Basis-Software

Ich habe zunächst mit ein paar Softwares herumgetestet (mytube, mythTV, …) und fand das alles aber schrecklich kompliziert (MythTV), nur wenig nützlich (mytube), völlig überladen (MythTV) oder, oder oder… Von den Kollegen habe ich schließlich den Tipp bekommen VDR anzusehen und siehe da: diese Software ist tatsächlich klasse.

Mein Video-Recorder basiert jetzt also auf der Software VDR (Video Disk Recorder) und einigen VDR-Plugins. VDR ist ein Open Source Projekt von einem Menschen namens Klaus Schmidinger und wird von einer großeren Community gepflegt bzw. mit neuen Plugins ausgerüstet.

Welche Distribution?

Ich verwende Ubuntu 9.04 Server. Ubuntu deswegen, weil es die gesamten benötigten Pakete verfügbar hat und Server, weil ich keine graphische Oberfläche haben wollte.

Installation und Konfiguration

(als Root)

apt-get install vdr vdr-plugin-streamdev-server

Nun hat man die grundlegende Software für den VDR. Man benötigt jetzt die Konfigurationsdatei für die Sender. Google hilft hier, wenn man z.B. nach channels.conf München (Ersetze München durch Stuttgart, Bitterfeld, …) sucht. Die so festgestellten Sender werden in die /etc/vdr/channels.conf eingetragen (die bereits in der Datei eingetragenen Sender kann man auch getrost rauswerfen). In /etc/default/vdr setzt man nun noch Enabled = 1 und fügt den Pfad in das gewünschte Aufnahmeverzeichnis hinzu: VIDEO_DIR=/media/disk/vdr. In meinem Fall liegt dieser Pfad auf einer externen Festplatte. Jetzt könnte man den VDR starten, bedienen kann man ihn so aber noch nicht. Schön wäre es doch z.B. eine Webseite zu haben, mit der man den VDR programmieren könnte, eh voila:

apt-get install vdr-plugin-live

Nach ein paar Sekunden wäre auch diese Installation abgeschlossen und man kann sich nun mit dem Webbrowser seiner Wahl zum VDR bzw. seiner Administrationsoberfläche verbinden: http://ip-des-vdr:8008

vdr

Wie man so ein wenig auf dem Bild erkennen kann, beinhaltet dies diverse Übersichten, z.B. was läuft jetzt, was läuft nachher bzw. was läuft den Tag über auf einem bestimmten Sender. Durch einen Klick auf den roten Knopf vor einer Sendung, wird diese programmiert und auch aufgenommen. Eine wirklich feine Sache.

Ein ziemlich tolles Plugin für VDR Live, die Weboberfläche des VDR, ist epgsearch. Mit

apt-get install vdr-plugin-epgsearch

bekommt man die Möglichkeit geliefert die über DVB ausgestrahleten elektronischen Programminfos nach Sendungsnamen, etc zu durchsuchen. So dürfte also niemand mehr seine Lieblingssendung verpassen

Über VDR Live kann man aber nicht nur Aufnahmen programmieren, sondern auch einen Video Stream des aktuellen Programms zu seinem Rechner pumpen lassen. Hierzu muss man aber erst in /etc/vdr/plugins/streamdevhosts.conf den Rechner an bzw. das Netz in das gestreamed werden darf eintragen: z.B.: 192.168.178.1/8

Aufgenommene Videos ansehen:

VDR Live sollte theoretisch auch Streams der aufgenommenen Sendungen auslösen können. Das klappt bei mir aber komischerweies überhaupt nicht. Ich war daher so frei und habe auf dem eeePC einen Apache Webserver installiert und in /var/www einen Link auf das Video-Verzeichnis der externen Festplatte gesetzt. So kann ich nun per Browser durch den Folder Tree navigieren, die URL der Videos kopieren und in VLC (Video Lan Client) öffnen. Das klappt übrigens hervorragend und sogar die 54MBit WLAN Leitung ist ausreichend schnell, um die Daten zu schaufeln.

VDR hat allerdings eine etwas seltsame Eigenheit: es splittet einen aufgenommenen Film in maximal 2GB große Blöcke. D.h. ein Film von gut zwei Std. Länge erstreckt sich immer über zwei Dateien. Ich vermutete zunächst, dass man irgendwelche komplizierte Software braucht, um die Filmfragmente zusammenzufügen und suchte mehrere Stunden nach der betreffenden Info. Irgendwann kam ich auf die Idee kam mal ein cat teil1.vdr teil2.vdr >> video.mpeg zu versuchen. Eh voila: es hat funktioniert -man muss also nur die Dateien konkatenieren (zusammenhängen). Für einen überlangen Film (mit mehr als 2 Fragmenten) kann man auch einfach

cat ???.vdr >> video.mpeg

eingeben und erhält das komplette Video. Dieses kann dann natürlich wieder wie oben beschrieben durch den Apache gestreamed werden…

Ubuntu 9.04 – Wenig Grafikperformance – Die Lösung

Neulich habe ich über die schlechte Grafik-Performance von Ubuntu 9.04 geschrieben. Hier steht beschrieben, wie man das Problem in den Griff bekommen kann. Nach den 2 Minuten “Aufwand” rennt Ubuntu 9.04 wieder mit der gewohnten Geschwindigkeit.

Update: Einen Nachteil hat das Downgrade auf den alten Treiber offenbar: Die Suspend/Resume Funktion funktioniert nicht mehr so zuverlässig wie mit dem neuen Treiber. Nun kann man also wählen, was einem wichtiger ist…

Ein virtuelle Festplatte für Virtualbox vergrößern…

… ist etwas, was man glaube ich nicht unbedingt machen will. Man müsste mit z.B. einer Acronis True Image Boot-CD (oder einem ähnlichen Tool) die virtuelle Maschine booten, dann ein Image der virtuellen Festplatte machen, danach eine neue virtuelle Festplatte (eine größere!) erstellen, darin das eben erstellte Image wiederherstellen und schließlich die Diskimages in Virtualbox umbiegen. Super, völlig streight forward… Hier hätte sich Virtualbox etwas ausdenken können…*

Eine andere Möglichkeit um mehr Platz zu bekommen ist eine zweite virtuelle Festplatte als virtueller Slave zur ersten dazu zu hängen. Das geht schnell und einfach über das Virtualbox Menü in der Rubrik “Festplatte”. Wird das auf der virtuellen Maschine installierte Windows gestartet, muss man allerdings erst über Systemsteuerung –> Computerverwaltung die neue Platte initialisieren, partitionieren und formattieren. Erst dann ist sie z.B. als Laufwerk D verfügbar.

__________
* Merke für’s nächste Mal: keine Größenlimitierung von 8Gig für virtuelle Festplattenimages mehr anlegen!

Spotlight-Alternative für Ubuntu

Bei Mac gibt es ja die wunderbar integrierte und bestens funktionierende Desktop-Suche + Programmstarter Spotlight. Gerade bin ich zufällig darauf gestoßen, dass Ubuntu (9.04) ebenfalls mit einer vorinstallierten Desktop-Suche daherkommt: Tracker. Das einzige was nicht schön gelöst ist, ist der Zugriff auf die Suchfunktion.

Man muss nur im Panel das Applet “Deskbar” installieren und noch ein wenig die Tastenkombinationen umbiegen: zunächst in System -> Einstellung -> Tastenkombinationen die unnötige Einstellung für Alt + Leertaste löschen und dann diese Kombination in den Einstellungen von Deskbar hinterlegen. Eh voila: Mac-artige Suche für Ubuntu.

Wie mir scheint funktioniert funktioniert Deskbar in kombination mit Tracker ähnlich gut wie Spotlight.

Ubuntu 9.04 auf eeePC 4G

Ich hätte ja nicht gedacht jemals wieder ein Posting zum eeePC zu verfassen… Aber heute muss es sein! Das heute veröffentlichte Ubuntu 9.04 rennt nämlich ganz phantastisch auf dem kleinen Rechner. Installation per USB-Stick ist in guten 5 Minuten geschehen, alles funktioniert, Suspend/Resume ist super flott, der Rechner bootet wirklich fix, … Toll!! Bisher war ein auf 2GB :D abgespecktes Windows XP die erste Wahl auf dem eeePC, aber ich glaube ich habe einen Gegenkandidaten gefunden.

Was man unbedingt einstellen sollte ist folgendes: gconf-editor aufmachen und zu

--> apps --> compiz --> plugins --> move --> allscreens --> options

navigieren und dort den Haken bei “constrain_y”  rausnehmen. Nun ist es möglich mit ALT+MAUS ein Fenster über den Rand der oberen Fensterkante hinaus zu schieben – das geht sonst nicht. Diese Möglichkeit ist v.a. dann wichtig, wenn ein Fenster höher als 600px ist und unterhalb der unteren Bildschirmkante z.B. ein Button angebracht ist…