Apr 12 2011

Lenovo S205 mit Ubuntu 11.04

Da ich mir das schöne Teil nun auch zugelegt habe, schreibe ich nun in diesem Post, wie man die ein oder andere Schwierigkeit meistert. Zunächst einmal: Ich habe die Beta Version von 11.04 installiert, da man bei 10.10 default Grub2 verwendet. Problem hierbei ist, dass die Hardware des S205 einfach zu neu fürGrub2 ist…

Bei der 64-bit Version von 11.04 kann man nun bei der Installation eine 1GB große EFI Partition anlegen. Damit bekommt man schonmal das Notebook zum Laufen, YAY! Doch das nächste Problem wartet bereits. Das WLAN funktioniert nicht (bei der 10.10 mit einem USB Stick Boot ist es kein Problem). Ich bin mir nicht sicher, ob hier die Beta dran schuld ist, oder einfach wieder die Hardware. Wie ich in Foren verstanden habe, wird ein falsches WLAN Modul geladen.

Um dem entegegnzuwirken und dennoch WLAN zu erhalten, habe ich zunächst ein komplettes Systemupgrade versucht.

sudo apt-get update
sudo apt-get upgrade

Nach derm Neustart (ich hatte das Netzwerkkabel noch angeschlossen) war die gesamte Installation kaputt (dachte ich). Dem war aber nicht so. Ich musste einfach nur das Netzwerkkabel entfernen. Voi la, da lief Ubuntu wieder. Allerdings recht seltsam. Also habe ich den propritären Treiber für AMD installiert. Seit dem sind zumindest die Bootprobleme weg.

So, nun zum spannenden Teil, das WLAN. Um dieses zu aktivieren, gibt es ein ganz einfachen Trick (vielen Dank an das 3DNow Forum).

modprobe acer_wmi

Danach aktiviert/deaktiviert man mit Fn + F5 das WLAN. Der Switch funktioniert hier wohl Softwareseitig, man sieht nur nichts davon. Auf jeden Fall sollte dann mit…

rfkill list

… beim Eintrag für WLAN zwei mal “no” stehen. Probiert Fn+F5 ruhig öfters mal aus, dann seht ihr auch, was sich ändert, wenn man den obigen befehl eingibt. Zum Schluss führt man noch

sudo modprobe -r acer_wmi

ausgeführt werden. Danach sollte das WLAN ohne Probleme funktionieren. Bei mir tut es das… Ich wünsche viel Erfolg und Spaß beim ausprobieren, rumspielen. ;)


Apr 7 2011

Repositories mit Git und SSH auf Ubuntu

Um meinem Versprechen aus vergangenen Posts nachzukommen, möchte ich ein ganz kurzes Tutorial vorstellen, das die Grundkniffe von Git auf der Konsole vorstellt. In diesem Post zeige ich, wie man ein “zentrales” Repository mit Git erstellt und dieses dann bei sich lokal auscheckt. Zudem werde ich versuchen euch das Arbeiten mit Branches etwas nächer zu bringen.

Zunächst brauchen wir ein frisches, neues Repository, mit dem wir arbeiten möchten/wollen/sollen. Ich nehme an, dass der versierte Leser den umgang mit einem Konsolentool beherrscht (hier ist speziell die Rede von Ubuntu und dem Teminal). Zudem setze ich voraus, dass ein vServer (oder ein ähnlicher Server, z.B. root-Server oder ein Heimserver) vorhanden ist, auf den ihr root Zugriff habt.

Da Git das Tool der Wahl ist, brauchen wir es sowohl auf dem Host-System (auch Remote genannt) als auch auf dem Client (z.B. euer lokaler Rechner). Ich führe das Beispiel vor, wenn euer Host System ein Heimserver ist mit der IP 192.168.1.102 und dem Benutzernamen “hostuser”

Um Git lokal (Ubuntu 10.04 oder 10.10, oder was ihr mögt…) nutzen zu können, müssten wir es installieren. Das geschieht mit folgendem Befehl:

sudo apt-get install git-core

Im zweiten Schritt loggen wir uns per SSH auf dem Host-System unter dem Benutzernamen hostuser ein und installieren auch hier Git:

ssh hostuser@192.168.1.102
sudo apt-get install git-core

Repositories lege ich (persönlich) gerne strukturiert im repos Ordner im Home-Folder des Benutzers ein. Aber das ist jedem selbst überlassen, hier gibt es keine speziellen Vorgaben:

mkdir -p /home/hostuser/repos

Nun wechseln wir in das Verzeichnis, um hier ein Repository zu erstellen (ja, es ist die Langvariante, für alle Besserwisser *g* ):

cd /home/hostuser/repos

Ein Repository ist bei Git im Grunde nur ein Verzeichnis, welches Git informationen enthält. Ich nehme hier an, dass wir ein PHP Projekt starten möchten, also erstellen wir zunächst ein Verzeichnis und wechseln zu direkt zu diesem:

mkdir php.myproject.git
cd php.myproject.git

Die Namensgebung ist auch hier nur eine Vorliebe von mir. Es ist jedem selbst überlassen, wie man das Verzeichnis benennt. In dem Verzeichnis selbst initiieren wir ein leeres Git repo.

git init --bare --share

Damit haben wir schon einene großen teil geschafft. Nun loggen wir uns mit dem “exit” oder “logout” befehl wieder aus, sodass wir nun auf dem lokalen System dieses erzeugte Repository clonen können. Dies geschieht wie folgt (wohlgemerkt auf dem lokalen Rechner, nicht auf dem Server):

git clone ssh://hostuser@192.168.1.102/home/hostuser/repos/php.myproject.git php.myproject.git

Falls alles wie geplant funktioniert hat, solltet ihr eine Passwortabfrage erhalten (wenn der Zugang zum server vernünftig gesichert ist). Im hinteren Teil des Befehls seht ihr das Zielverzeichnis in das geclont wird (euer lokales Repository). Nun wechseln wir in dieses Verzeichnis und führen…

git status

…aus. Hier solltet ihr einige erste Informationen zum lokalen repo bekommen. Damit sind wir eigentlich schon fertig und können mit dem Repository arbeiten. Nun kann man noch einige interessante Dinge ausprobieren. Mit…

git branch -r

… erfahrt ihr, welche branches euer Remote-Repository zur Verfügung hat. Um einen neuen Branch (lokal) zu eröffnen, führt man git branch aus, in etwa so:

git branch v1.0.0

Hier habe ich meinen neuen Branch v1.0.0 benannt. Wie ihr den Branch benennt ist auch hier eurer Phantasie überlassen. Mit git checkout wechselt man zu diesem neuen Branch:

git checkout v1.0.0

Um diesen Branch nun auch auf das Remote System zu bringen, kann man ganz einfach folgenden gut Befehl verwenden:

git push origin v1.0.0

Damit wird der Branch in euer “zentrales” Repo geschoben (damit auch andere diesen zur Verfügung haben).


Mrz 4 2010

Eclipse mit FileSync ausstatten

Das FileSync-Plugin für Eclipse kann einem das Entwickler-Leben erleichtern. Es synchronisiert Dateien eines Eclipse-Projektes mit externen Ressourcen (z.B. einem Entwicklungsserver). FileSync löscht, erstellt und aktualisiert Dateien aus einem Eclipse Projektordner in einen Zielordner. In diesem Beitrag werde ich kurz erläutern wie man es installiert und was man mit dem Werkzeug anfangen kann.

Zunächst müsst ihr natürlich das Plugin installieren. Dazu geht ihr auf die Plugin-Seite (http://andrei.gmxhome.de/filesync/index.html) und holt euch die Quellenangabe für das Plugin. Zu der Zeit: http://andrei.gmxhome.de/eclipse/ . Diese Adresse tragt ihr nun in Eclipse zum Installieren neuer Software ein:

Eclipse > Help > Install New Software…

Installation neuer Software bei Eclipse

In diesem Dialog klickt ihr nun den “Add” Button und tragt in der zweiten Zeile die Adresse ein (s. Screenshot). Ich habe zusätzlich noch einen Namen für die Site vergeben (FileSnyc), dies ist jedoch optional.

Neue Site als Software-Quelle hinzufügen

Ihr solltet nun den Dialog zum Installieren sehen. Wählt nun einfach das FileSync aus und folgt den nächsten Schritten. Kleiner Hinweis: Es handelt sich nicht um offizielle Eclipse Software, daher kommt die Warnung, dass man evtl. schädliche Software installiert. Diese Warnung kann man bei diesem Plugin eigentlich recht beruhigt ignorieren bzw. einfach so hinnehmen.

Auswahl des FileSync Plugins

Nach der Installation kann ich euch nun noch eine Verwendung aufzeigen, die ich auch selbst verwende. Ich habe mir nämlich eine lokale LAMP (Linux Apache MySQL und PHP) Entwicklungsumgebung eingerichtet (Ubuntu für das Zend Framework konfigurieren). Da ich nun keine VHosts einrichten wollte (zugegeben, es geht auch recht einfach), synchronisiere ich die Projektdateien aus Eclipse direkt in das Web-Verzeichnis meines lokalen Apache-Servers (/var/www). Denkbar ist natürlich auch, dass man einen separaten Entwicklungsserver betreibt und die Dateien dorthin synchronisiert.

Um die Dateien aus eurem Projektverzeichnis auf den lokalen Server zu bekommen (vorausgesetzt ihr möchtet meine Idee weiterverfolgen), klickt man in Eclipse mit der rechten Maustaste auf ein Projekt und geht auf die Properties und sollte nun den Auswahlpunkt FileSynchronisation sehen.

Screenshot FileSynchronisation Plugin in Eclipse

Um das Plugin zu verwendet, aktiviert man es oben in diesem Dialog und wählt den Zielordner aus. Bei Ubuntu bzw. Linux müsstet ihr noch die Rechte für die Zielverzeichnisse einrichten, denn sonst kann das Plugin keine Dateien schreiben oder entfernen.


Mrz 3 2010

Ubuntu für das Zend Framework konfigurieren

Aus aktuellem Anlass – einer Neuinstallation meines Systems – möchte ich euch die Schritte erklären, die zu einer lokalen LAMP (Linux Apache MySQL und PHP) Entwicklungsumgebung für Zend-Framework Projekte unter Ubuntu 9.10 Karmic Koala führen.

Ein fertiges Linux-System solltet ihr mit Ubuntu ja bereits besitzen. D.h. den nächsten Schritt, den man gehen muss, ist den Apache-Server zu installieren. Unter Ubuntu bewerkstelligt man dies in der Console mit dem einfachen Aufruf

sudo apt-get install apache2

Eine Internetverbindung vorausgesetzt, solltet ihr nun die Download-, Installations- und Konfigurationsroutine sehen. Um zu überprüfen, ob der Apache nach der Installation läuft, öffnet einen Browser eurer Wahl und versucht die Adresse http://127.0.1.1 aus. Ihr solltet etwas in der Art “It Works” zu lesen erhalten.

Das Zend-Framework basiert ja bekanntlich auf PHP und so benötigen wie jetzt entsprechend PHP. Um PHP5 zu installieren, bemüht man widerum die Console und holt die aktuelle Version aus den Quellen:

sudo apt-get install php5

Nach erfolgreicher Installation sollte der Apache neu starten und wir können überprüfen, ob die Installation korrekt ausgeführt wurde. Dazu wechselt man in das Web-Verzeichnis des Servers:

cd /var/www

Hier sollte bereits eine index.html existieren, die wir schon im Web-Browser bewundern durften. Mit dem Aufruf…

sudo gedit phpinfo.php

… erstellt man die Datei phpinfo.php und öffnet diese gleichzeitig mit dem (in Ubuntu mitgelieferten) Editor, welcher übrigens um einges mächtiger ist, als z.B. Notepad unter Windows, da er für sehr viele Dateitypen Syntax-Highlighting unterstützt. In diese Datei fügt ihr nun folgende Zeile ein und speichert die Datei ab:

<?php phpinfo(); ?>

Damit haben wir eine Test-PHP-Datei erstellt, welche die Methode phpinfo aufruft und uns somit ausführliche Informationen über die installierte PHP-Version liefert. Diese Datei könnt ihr über den Web-Browser unter http://127.0.1.1/phpinfo.php aufrufen. Bei erfolgreicher PHP-Installation solltet ihr nun PHP-Informationen (z.B. die Version) sehen.

Einen großen Teil habt ihr damit schon geschafft und könntet schon fast mit einem Zend-Projekt anfangen. Was noch fehlt ist die Datenbank und das Apache ModRewrite Modul. Wofür die Datenbank (MySQL) gebraucht wird, sollte klar sein. Das Modul benötigen wir, um euer Projekt zu “privatisieren”. Das bedeutet, dass wir – gemäß ZF-Vorgabe – einzig und allein einen öffentlichen Zugriff auf die index.php anbieten.

Starten wir doch mit dem Einfacheren, dem Modul. Dieses ist nämlich schon installiert und muss nur noch aktiviert werden. Dazu wieder die Konsole:

sudo a2enmod rewrite

Kurze Erklärung dazu: a2 (Apache2, unser Server) en (enable, aktivieren) mod (Modul) rewrite. Eventuell – falls nicht automatisch durchgeführt – müsst ihr den Apache neu starten.

Nun möchten wir uns noch um die letzte Komponente, einen MySQL-Server kümmern. Dazu bemühen wir wieder die geliebte Konsole und holen uns den mysql-server mit Hilfe von apt:

sudo apt-get install mysql-server

Bei der Installation solltet ihr die entsprechenden Zugriffspasswörter wählen, der Rest passiert automatisch. Für diejenigen, die phpMyAdmin kennen und nutzen möchten, bietet sich an das Paket phpmyadmin zu installieren, welches dann unter http://127.0.1.1/phpmyadmin zu finden ist.

sudo apt-get install phpmyadmin

Mit dieser Konfiguration könnt ihr euch nun in aller Ruhe in ein neues Zend-Projekt stürzen. Falls ihr möchtet, könnt ihr auch entsprechende Tipps und Tutorials dazu in meinem kleinen ScienceBlog zur Hilfe nehmen.


Mrz 2 2010

Der Eclipse Ubuntu Karmic Koala Fix

Nach einem Update auf Ubuntu 9.10 (Karmic Koala) habe ich festgestellt, dass einige Buttons nicht mehr mit der Maus bedienbar waren. Die einzige Lösung, die mir direkt eingefallen ist, war das Verwenden der Tastatur (entweder über Kürzel oder erst mit der Maus markieren und dann Enter). Eine Zeit lang war das ausreichend. Leider ging es (wie bei Informatikern üblich) mit ein wenig auf die Nerven.

Bei der Suche nach einer Lösung, bin ich auf folgende Bugmeldung bei Eclipse gestossen:

Starting from 2.18 on, GTK+ changed some of its internal behaviour (google for “client side windows”). This change is intentional, and needed for other development. It doesn’t make any difference to programs using GTK+ correctly, but it makes problems with programs that use GTK+ in weird ways, making wrong assumptions that only accidentally worked in the past. So, to ease the transition until those programs get fixed, an environment variable has been introduced to simulate the old behaviour.

Nun, die Lösung (bzw. Workaround) ist recht einfach zu bewerkstelligen. Dazu legt man eine Datei – z.B. fix.sh – im Eclipse Order an. Es kann natürlich auch ein x-beliebiger Ordner sein, ich habe es jedoch wegen der Zusammengehörigkeit direkt in den Eclipse-Ordner gepackt.

Diese Datei füllt man mit folgendem Inhalt:

export GDK_NATIVE_WINDOWS=true
/home/meinuserverzeichnis/programs/eclipse

Den Pfad müsst ihr natürlich auf euren Eclipse-Pfad anpassen. Danach nur noch speichern und evtl. entsprechend im Panel den Eclipse-Aufruf anpassen. Fertig, viel Spaß, ich hoffe, dass es geholfen hat!