seeseekey.net - Invictus Deus Ex Machina

Wer das Ver­si­on­kon­troll­sys­tem Git nicht auf der Kon­sole nut­zen möchte, kann sich einer gra­fi­schen Anwen­dung bedie­nen. Für Mac OS X gibt es dabei eine Reihe von kom­mer­zi­el­len Appli­ka­tio­nen, aller­dings gibt es auch freie Vari­an­ten wie GitX.

Eine GitX Variante

Das ursprüng­li­che GitX wurde unter der GPL2 lizen­ziert. Nach­dem die Ent­wick­lung Ende 2009 ein­ge­stellt wurde, über­nah­men andere den Staf­fel­stab und ent­wi­ckel­ten GitX wei­ter. Eine Über­sicht über die ver­schie­de­nen Forks bie­tet dabei die Seite gitx.org. Die Ver­sion wel­che aktu­ell ent­wi­ckelt wird hört dabei auf den Namen Rowanj-Fork des­sen Ent­wick­lung auf Git­Hub ver­folgt wer­den kann.

Mit­tels OSX­Fuse und dem mit­ge­lie­fer­ten Paket für SSHFS ist es unter Mac OS X mög­lich sich mit­tels SSH zu einem Ser­ver zu ver­bin­den und sein Datei­sys­tem ein­zu­bin­den. In mei­nem Fall sah das auf dem Ter­mi­nal so aus:

sshfs root@example.com:/ /Volumes/example

So weit funk­tio­nierte auch alles, nur bei machen Dateien wurde ich von einem „Per­mis­sion denied“ begrüßt. Lösen lässt sich die­ser Feh­ler durch die Angabe des Para­me­ters „-o defer_permissions“:

sshfs -o defer_permissions root@example.com:/ /Volumes/example

Damit kön­nen alle Dateien und Ord­ner auf dem ent­spre­chend ein­ge­bun­de­nen ent­fern­ten Rech­ner genutzt werden.

Text­Mate ist einer der bes­ten Edi­to­ren für Mac OS X. Seit­dem er unter einer freien Lizenz ver­öf­fent­licht wird, gibt es kei­nen Grund mehr ihn nicht zu nut­zen. Nur ein Fea­ture raubt mir mit abso­lu­ter Regel­mä­ßig­keit den Nerv — das soge­nannte „Smart Typ­ing“. Dabei wer­den beim Tip­pen bestimm­ter Zei­chen wie Klam­mern oder Anfüh­rungs­zei­chen auto­ma­tisch die schlie­ßen­den Zei­chen hinzugefügt.

Die Bundle-Konfiguration

Um die­ses Fea­ture abzu­schal­ten, begibt sich man sich in die Bundle-Konfiguration. Diese erreicht man über das Menü unter „Bund­les -> Edit Bund­les…“. Dort such man die Sek­tion „Text -> Set­tings -> Mis­cel­la­neous“ auf. Kom­plett deak­ti­viert sieht der Block dann so aus:

smartTypingPairs = ();

Das Pro­blem an die­ser Vari­ante ist, das man diese Werte in jedem Bundle ändern muss, wel­che Smart Typ­ing Paare (z.B. das C und C# Bundle) ent­hält. Ein­fa­cher ist es, das ganze Fea­ture zu deak­ti­vie­ren. Dazu gibt man im Terminal:

defaults write com.macromates.TextMate.preview disableTypingPairs -bool YES

ein. Anschlie­ßend wird man in Zukunft von der Zei­chen­er­gän­zung verschont.

Möchte man Wine unter Mac OS X nut­zen, so kann man sich mit­tels Home­brew oder Mac­ports das ent­spre­chende Paket instal­lie­ren. Anschlie­ßend kann man die gewünschte Win­dows App mit­tels Wine auf der Kon­sole starten:

wine calc.exe

Manch­mal möchte man aber einen ande­ren Weg gehen und eine Windows-Applikation in eine Mac-App ver­pa­cken. Hier­für wurde die App Wine­Bott­ler von Mike Kroen­en­berg entwickelt.

Die Kon­fi­gu­ra­tion einer Appli­ka­tion im WineBottler

Mit dem Wine­Bott­ler ist es mög­lich die Windows-Applikation in eine Mac-App zu Kap­seln. Nach der Kon­fi­gu­ra­tion der ent­spre­chen­den Appli­ka­tion wird diese in eine sol­che „.app“-Struktur gepackt und kann anschlie­ßend ein­fach unter Mac OS X gestar­tet wer­den. Auf Wunsch ist es auch mög­lich Wine selbst in diese App zu packen, so das die App auf einem ande­ren Rech­ner ohne Abhän­gig­kei­ten gestar­tet wer­den kann.

Wenn man einen KVM Host auf­ge­setzt hat, steht man vor der Frage wie man die­sen effi­zi­ent ver­wal­tet. Für die gra­fi­sche Remo­te­ver­wal­tung gibt es unter Ubuntu den Vir­tual Machine Mana­ger wel­cher ein­fach über die Paket­ver­wal­tung instal­liert wer­den kann:

apt-get install virt-manager

Im Vir­tual Machine Mana­ger kön­nen dabei neue vir­tu­elle Maschi­nen ange­legt oder beste­hende Maschi­nen ver­än­dert wer­den. Der Vir­tual Machine Mana­ger stellt dabei eine Abs­trak­ti­ons­ebene bereit, so kann er nicht nur KVM, son­dern auch Xen und LXC Maschi­nen verwalten.

Vir­tual Machine Manager

Unter Mac OS X steht keine Vir­tual Machine Mana­ger Alter­na­tive zur Ver­fü­gung. Aller­dings kann man hier etwas schum­meln, indem man den KVM Host dafür zweck­ent­frem­det. Dazu muss das Paket „virt-manager“ auf dem KVM Host instal­liert wer­den. Auf dem Mac muss XQuartz instal­liert wer­den, damit eine X11 Imple­men­tie­rung zur Ver­fü­gung steht. Nach der Instal­la­tion öff­net man ein Ter­mi­nal und gibt dort fol­gen­des ein:

ssh -X root@server.example.org
virt-manager -c qemu:///system

Anschlie­ßend wird der Mana­ger gestar­tet und kann wie gewohnt genutzt werden.

Der Vir­tual Machine Mana­ger unter Mac OS X

Bei die­sem Ver­fah­ren wird die gra­fi­sche Aus­gabe des KVM Hosts auf den Mac umge­lei­tet. Somit wird der Vir­tual Machine Mana­ger auf der Ubuntu-Maschine aus­ge­führt, prä­sen­tiert seine Ober­flä­che aber unter Mac OS X.

Wenn man bestimmte Datei­sys­te­men auf einem Betriebs­sys­tem wie Linux oder Mac OS X ein­bin­den möchte, steht einem das „File­sys­tem in User­space“ oder kurz Fuse zur Ver­fü­gung. Wäh­rend es unter Linux ein fes­ter Bestand­teil des Ker­nels ist, muss es bei Mac OS X nach­in­stal­liert wer­den. Dabei ste­hen dem Anwen­der unter­schied­lichste Imple­men­tie­run­gen wie Fuse4X und ähn­li­che zur Ver­fü­gung. Viele die­ser Pro­dukte tei­len aller­dings das Schick­sal von Fuse4X — sie wer­den nicht mehr aktiv weiterentwickelt.

osxfuse.github.io

Das ein­zig aktive Fuse Pro­jekt für Mac OS X scheint im Moment OSX­Fuse zu sein wel­ches unter http://osxfuse.github.io/ zu fin­den ist. Auch die Fuse4X Ent­wick­lun­gen sind mitt­ler­weile zu einem gro­ßen Teil in die­ses Pro­jekt ein­ge­flos­sen. OSX Fuse ist dabei freie Soft­ware auch wenn die Lizenz etwas zu aus­führ­lich ist. Es scheint sich dabei um eine BSD-Lizenz zu handeln.

Wer ohne das bekannte Mac OS X Dock auch unter Win­dows nicht aus­kom­men mag, der sollte einen Blick auf Rocket­Dock wer­fen. Dabei han­delt es sich um eine Kopie des Mac OS X Docks für Win­dows. Ent­wi­ckelt wurde das ganze dabei von Punk Labs.

Rocket­Dock in Aktion

Zu fin­den ist Rocket­Dock unter rocketdock.com. Auf der Web­seite wer­den auch Erwei­te­run­gen, soge­nannte Dock­lets, Skins und andere Erwei­te­run­gen ange­bo­ten. Lizen­ziert ist die Anwen­dung unter einer Crea­tive Com­mons Lizenz (BY-NC-SA). Möchte man das Dock so kon­fi­gu­rie­ren, das die Fens­ter es nicht über­de­cken, sollte man zusätz­lich das Tool Max­Max instal­lie­ren. Mit die­sem kann man die Berei­che ein­stel­len, in wel­che die Fens­ter maxi­mie­ren. Damit wird das Dock anschlie­ßend nicht mehr überdeckt.

Unter Win­dows gehört der Taskma­na­ger zu den bekann­tes­ten Werk­zeu­gen, wenn man ein­mal nach dem Rech­ten sehen will. Auch unter Mac OS X gibt es ein sol­ches Tool. Auf­ge­ru­fen wer­den kann die­sen, indem man mit­tels Spot­light nach der „Akti­vi­täts­an­zeige“ sucht.

Die Akti­vi­täts­an­zeige unter Mac OS X

Im Gegen­satz zu sei­nen Win­dow­spen­dant zeigt er nicht nur den „CPU-Verbrauch“, son­dern auch andere Dinge wie den Ener­gie­be­darf ein­zel­ner Anwen­dun­gen an. So bie­tet die Akti­vi­täts­an­zeige Info­ma­tio­nen über die CPU, den Spei­cher, den Ener­gie­be­darf, die Fest­platte und über die Netzwerkkommunikation.

Bei Home­brew han­delt es sich ähn­lich wie Mac­Ports um einen Paket­ma­na­ger für Mac OS X. Lei­der gibt es auf der offi­zi­el­len Home­brew Seite keine Mög­lich­keit nach bestimm­ten Pake­ten zu suchen.

braumeister.org

Diese Lücke füllt die Seite braumeister.org. Die Seite bie­tet eine Such­ma­schine über die gesamte Paket­ba­sis an. Dabei ist die Seite und die Tech­nik dahin­ter freie Soft­ware, deren Quell­text in einem Repo­sitory auf Git­Hub zu fin­den ist. Lizen­ziert ist das ganze dabei unter einer BSD-Lizenz.

Über den Fin­der kann man unter Mac OS X ohne Pro­bleme auf SMB-Freigaben zugrei­fen. Manch­mal möchte man eine Frei­gabe aller­dings auto­ma­tisch ein­bin­den. Dazu gibt es unter Mac OS X den Befehl „mount_smbfs“ wel­cher unter ande­rem im Ter­mi­nal aus­ge­führt wer­den kann:

mount_smbfs //nutzer:passwort@server/freigabe /Users/seeseekey/SMBOrdner/

Nach der Aus­füh­rung des Kom­man­dos kann auf die gemon­te­ten Daten zuge­grif­fen wer­den. Schreib– und Lese­rechte wer­den dabei auto­ma­tisch von Mac OS X ver­ge­ben, so das diese beim moun­ten nicht extra defi­niert wer­den müssen.