Hallo,
heute folgt (nach langer Pause) Teil sechs meiner “Tutorialreihe”, in diesem Teil werde ich euch zeigen, wie man unter Linux “spielen” und “programmieren” kann. Dieser Teil wird nicht besonders lange ausfallen, weil ich bereits am Anfang schon erwaehnte, dass Zocker auf Linux nicht viel zu suchen haben.
Spiele unter Linux
Die meisten aktuellen Spiele unterstuetzen oft (neben Konsolen) ausschließlich Windows, ein Beispiel von vielen dafuer ist GTA IV, welches an “Windows Live” gebunden ist. Doch woran liegt das?
In erster Linie liegt das an den Herstellern, weil die Zielgruppe der Zocker nunmal hauptsaechlich auf Windows setzt und es sich (aus ihrer Sicht) nicht “rentiert” – ich nenns mal “plattformunabhaengige” – Spiele zu entwickeln. Das ist einerseits nachvollziehbar und andererseits aber auch nicht gut fuer Linux Nutzer. Es gibt einfach zu wenig “Linux Zocker”. Steam zum Beispiel moechte keine Linux Edition rausbringen, obwohl es dafuer Geruechte gab – sie arbeiten lieber an einem Mac Client. Fuer Linux gibt es dann oftmals nur alte Spiele – aber was ist wenn man trotzdem unter Linux “zocken” moechte?
Man moege es ueber Wine probieren, mithilfe von Wine lassen sich Windows Anwendungen (sprich .exe Dateien) ueber Linux ausfuehren. Ich bin kein sonderlich großer Fan davon und hab es auch nicht installiert, weil jemand der auf Linux umsteigt und “Wine” als erstes installiert, sollte sich ueberlegen, ob Linux das richtige Betriebssystem ist.. aber ich schweif vom Thema ab.
Je nach Linux Distribution laesst es sich ziemlich einfach und oftmals aus den Repos installieren
auf Ubuntu / Debianarten:
(sudo) apt-get install wine
Danach die .exe Datei einfach mithilfe von Wine ausfuehren und testen, Steam laesst sich darueber zum Beispiel auch installieren und auch Counter-Strike Source sollte laufen, je nach Grafikkartentreiber macht das dann mehr oder weniger probleme – einige beobachten eine hoehrere FPS Anzahl bei Counter-Strike Source im Vergleich zu CSS auf Windows Systemen.. hab ich selber aber nicht getestet.
Aktuelle Spielen koennen funktionieren, aber das muss man dann erst testen (wie so einiges auf Linux 🙂 )
Das heißt jedoch nicht, dass es keine Games fuer Linux gibt. Es gibt auch viele Games die in einer plattformunabhaengigen Programmiersprache geschrieben wurden (und nicht Windows voraussetzen), ein ziemlich gutes Beispiel dafuer ist Minecraft (ein gaaaaanz tolles Spiel uebrigens 😀 ), das in Java geschrieben wurde und sowohl unter Windows & Mac, als auch Linux funktioniert.
Wenn wir nun schon beim Thema Programmieren sind, dann richtig..
Programmieren unter Linux
Wer unter Linux programmieren moechte, sollte sich plattformunabhaengige Sprachen anschauen – das heißt am besten Programmiersprachen wie C, C++, Java, ASM (…) und Scriptsprachen wie (HTML/CSS,) PHP, Perl, Python, Javascript, … – auf bekannten Sprachen wie Visual Basic (.NET), C# und Delphi sollte man verzichten.
Es gibt auch fuer Linux ganze Entwicklungsumgebungen (IDEs) zum Beispiel von Code::Blocks und anderen Herstellern, aber ich bleib oftmals bei einfachen Mitteln und anhand von diesen werd ich euch in C zeigen, wie man unter Linux “programmiert”. Ich werde euch nicht programmieren beibringen, sondern veranschaulichen, wie “einfach” es unter Linux gehen kann.
Was benoetigt man?
– Einen Editor wie vim / nano / gedit / emacs / was auch immer – am besten mit Syntax Highlighting
– Einen Compiler (gcc fuer C / g++ fuer C++)
– Linux Console/Terminal
Los gehts!
Ich werde vim verwenden, damit wir alles mit einem “Terminal” fenster machen.
Oeffnet euer Terminal, gibt ein “vim hello.c” – wer noch nie mit vim gearbeitet hat, drueckt einfach mal “i” damit unten links “INSERT” steht, nun gebt ihr folgendes ein:
#include
int main()
{
printf("Hello World!\n");
}
Die Leute die C koennen sehen was passiert, aber an die, die es nicht koennen, in Zeile 1 fuegen wir den Standard Input Output Header ein, d.h. in dieser Datei steht quasi drin, was Befehle wie “printf” machen sollen. Mit int main() { starten wir unser Hauptprogramm, printf gibt den text aus, welcher in den Anfuehrungszeichen steht, \n faengt eine neue Zeile an und das semikolon beendet den befehl, die } schließt unser “Hauptprogramm”. Danach drueckt man einfach escape und gibt “:wq” ein, was fuer “write” und “quit” steht, d.h. so viel wie “speichern und beenden”. Das kleine Programm sollte fuer unseren Test reichen, nun geben wir ein:
gcc hello.c -o hello
gcc – unser c-compiler
hello.c – unser dateiname
-o hello – name der “fertig” compilierten Datei (-o steht fuer output, mehr befehle kann man sich mit “man gcc” anschauen)
Wenn nun keine Fehlermeldung erscheint, dann ist alles fein, ansonsten steht in der Fehlermeldung, in welcher Zeile man sich vertippt bzw. einen Fehler gemacht hat.
Ausfuehren kann man Dateien unter Linux mit ./dateiname:
./hello
Wenn die Ausgabe so aussieht, ist alles fein:
[j0hnx3r@osiris ~]$ gcc hello.c -o hello
[j0hnx3r@osiris ~]$ ./hello
Hello World!
[j0hnx3r@osiris ~]$
Und das wars! Wir haben ein Programm in C geschrieben, compiliert und ausgefuehrt – so einfach und schnell geht das unter Linux 😀 Und das ohne Entwicklungsumgebungen und anderen Muell in einem einzigen Terminalfenster. Ich mein klar, wenn man groessere Projekte vor hat, koennen IDEs von großer Hilfe sein, aber das sollte erstmal zur “Demonstrierung” reichen, wie man unter Linux programmieren kann.
In anderen Sprachen wie PHP, Perl, etc geht das uebrigens genauso einfach, sie lassen ich mit “php dateiname.php” / “perl dateiname.pl” / “python dateiname.py” ausfuehren.
So viel erstmal zum Thema Spiele und Programmieren unter Linux, wer nun vielleicht Spaß an C gefunden hat ( wer weiß ^-^ ), kann sich die Sprache auch weiter anschauen, gibt einige OpenBooks und Tutorials im Internet, auch wenn C schon “uralt” (im Vergleich zu anderen Sprachen) ist, ist die Sprache nach wie vor maechtig und fast ueberall im Einsatz.
Die naechsten Teile werden jeweils Dualboot von Windows und Linux, Festplattenverschluesselung unter Linux, Installation von Ubuntu & Fedora und “die wichtigsten” Linux Commands beinhalten.
Bis zum naechsten Teil!