<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>all-IT &#187; Linux</title>
	<atom:link href="http://www.k-oo.de/blog/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.k-oo.de/blog</link>
	<description>all-IT ist ein Blog aus dem IT Alltag</description>
	<lastBuildDate>Fri, 03 Feb 2012 09:42:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>bash snippet</title>
		<link>http://www.k-oo.de/blog/2011/11/23/bash-snippet/</link>
		<comments>http://www.k-oo.de/blog/2011/11/23/bash-snippet/#comments</comments>
		<pubDate>Wed, 23 Nov 2011 07:19:54 +0000</pubDate>
		<dc:creator>gklinkmann</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.k-oo.de/blog/?p=2505</guid>
		<description><![CDATA[Die Bash begleitet mich als DevOp (um mal eines der neuen Buzz Words zu bemühen) schon sehr lange. Doch man lernt nie aus. Dieses kleine Snippet entfernt vom Prozedurnamen, der in $0 enthalten ist, den Pfadbestandteil. #!/bin/bash ME=${0##*/} &#160; # Ausgabe mit Pfadangabe echo $0 # und ohne echo $ME # Aufruf /var/run/whatever.sh &#160; # [...]]]></description>
			<content:encoded><![CDATA[<p>Die <a href="http://de.wikipedia.org/wiki/Bourne-again_shell" title="Begriffserklärung Bash">Bash</a> begleitet mich als <a href="http://it-republik.de/jaxenter/news/DevOps-versucht-agile-Methoden-durchgaengig-erfolgreich-zu-machen-060746.html" title="Begriffserklärung DevOps">DevOp</a> (um mal eines der neuen Buzz Words zu bemühen) schon sehr lange. Doch man lernt nie aus. Dieses kleine Snippet entfernt vom Prozedurnamen, der in <code>$0</code> enthalten ist, den Pfadbestandteil.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span>
<span style="color: #007800;">ME</span>=<span style="color: #800000;">${0##*/}</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Ausgabe mit Pfadangabe</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$0</span>
<span style="color: #666666; font-style: italic;"># und ohne</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$ME</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># Aufruf</span>
<span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>run<span style="color: #000000; font-weight: bold;">/</span>whatever.sh 
&nbsp;
<span style="color: #666666; font-style: italic;"># Ausgabe</span>
<span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>run<span style="color: #000000; font-weight: bold;">/</span>whatever.sh
whatever.sh</pre></div></div>

<p>Danke <a href="http://www.xing.com/profile/Andreas_Finke15" title="Xing Profil von Andreas Finke">Andi</a></p>
 <p><a href="http://www.k-oo.de/blog/?flattrss_redirect&amp;id=2505&amp;md5=2b088bbdebd15233ec355b18383e29e6" title="Flattr" target="_blank"><img src="http://www.k-oo.de/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.k-oo.de/blog/2011/11/23/bash-snippet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="http://www.k-oo.de/blog/?flattrss_redirect&amp;id=2505&amp;md5=2b088bbdebd15233ec355b18383e29e6" type="text/html" />
	</item>
		<item>
		<title>Tutorial &#8211; Erste Schritte mit Git</title>
		<link>http://www.k-oo.de/blog/2011/04/26/tutorial-erste-schritte-mit-git/</link>
		<comments>http://www.k-oo.de/blog/2011/04/26/tutorial-erste-schritte-mit-git/#comments</comments>
		<pubDate>Tue, 26 Apr 2011 04:51:47 +0000</pubDate>
		<dc:creator>gklinkmann</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[kubuntu]]></category>
		<category><![CDATA[macos]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.k-oo.de/blog/?p=2239</guid>
		<description><![CDATA[Das Versionierungstool Git steht schon lange auf meiner Liste der Dinge, die ich mir mal anschauen will. Momentan nutze ich noch subversion. Doch während man mit subversion Änderungen nur in einem zentralen Repository speichern kann, bietet Git dezentrale Repositories, die auf Bedarf gegen ein zentrales Repository gemerged werden können. Doch vor der Nutzung kommt zuerst [...]]]></description>
			<content:encoded><![CDATA[<p>Das Versionierungstool <a href="http://git-scm.com/"><strong>Git</strong></a> steht schon lange auf meiner Liste der Dinge, die ich mir mal anschauen will. Momentan nutze ich noch <a href="http://subversion.apache.org/">subversion</a>. Doch während man mit subversion Änderungen nur in einem zentralen Repository speichern kann, bietet Git dezentrale Repositories, die auf Bedarf gegen ein zentrales Repository gemerged werden können.</p>
<p>Doch vor der Nutzung kommt zuerst die Installation. Sicherlich kann man Git auch aus den Quellen übersetzen, aber sowohl für Linux [1] als auch für den Mac <a href="http://code.google.com/p/git-osx-installer/">[2]</a> gibt es dafür Pakete. Die ersten Schritte sind in diesen beiden deutschen Tutorials <a href="http://www.interaktionsdesigner.de/2009/05/25/mein-git-tutorial/">[3]</a> <a href="http://www.online-tutorials.net/programmierung/git/tutorials-t-3-263.html">[4]</a> erläutert. Ein ausführliches deutsches Tutorial gibt es von der Stanford Uni <a href="http://www-cs-students.stanford.edu/~blynn/gitmagic/intl/de/index.html">[5]</a>.</p>
<h3>Scenario</h3>
<hr />
Mein Scenario ist folgendes:</p>
<ul>
<li>ein zentrales Repository auf meinem Mac mini (der mir als Server dient)</li>
<li>ein dezentrales Repository auf meinem Mac mini (wenn ich mal davor sitze)</li>
<li>ein dezentrales Repository auf meinem Kubuntu Laptop (für unterwegs)</li>
</ul>
<p>Am Anfang steht das Projekt, das man mit Git versionieren möchte. Das Terminal ist des Entwicklers liebster Freund und deswegen ist der volle Funktionsumfang von Git auch nur dort adressierbar (eine Eclipse Integration gibt es natürlich auch <a href="http://www.eclipse.org/egit/">[6]</a>). Aber ein Schritt nach dem anderen.</p>
<h3>Schritt 1: bestehendes Projekt mit Git versionieren</h3>
<hr />
Zuerst sollte man Git den eigenen Namen und eine Email Adresse bekanntgeben. Git benutzt diese Informationen später in den Versionskommentaren.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #c20cb9; font-weight: bold;">git</span> config <span style="color: #660033;">--global</span> user.name <span style="color: #ff0000;">&quot;Gero Klinkmann&quot;</span>
<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #c20cb9; font-weight: bold;">git</span> config <span style="color: #660033;">--global</span> user.email me<span style="color: #000000; font-weight: bold;">@</span>example.com</pre></div></div>

<p>Dann kann man sein erstes Git Repository mit <code>git init</code> ersellen. Bei mir liegt es auf dem Mac mini, auf dem im nächsten Schritt auch das zentrale Repository entstehen soll.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #7a0874; font-weight: bold;">cd</span> ~<span style="color: #000000; font-weight: bold;">/</span>workspace<span style="color: #000000; font-weight: bold;">/</span>testGroovy
<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #c20cb9; font-weight: bold;">git</span> init
<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #c20cb9; font-weight: bold;">git</span> add .
<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #c20cb9; font-weight: bold;">git</span> commit</pre></div></div>

<p>Die Befehle sprechen für sich. Beim <code>commit</code> öffnet sich der vi Editor, damit man einen Kommentar für den jeweiligen Stand hinzufügen kann. Die Befehlssyntax des vi ist nicht gerade intuitiv, von daher für alle, die sie nicht kennen, kurz die notwendigen Befehle um den Kommentar hinzuzufügen:</p>
<ul>
<li>[i] Wechsel in den Insert Modus.</li>
<li>Kommentar schreiben.</li>
<li>[esc] Wechsel in den Befehls Modus.</li>
<li>[:wq] Speichen und Beenden des vi.</li>
</ul>
<h3>Schritt 2: zentrales Git Repository anlegen</h3>
<hr />
Das eben erstellte Repository ist dann das dezentrale Repository auf dem Mac. Der Clone davon wird über das Argument <code>bare</code> zum zentralen Repository auf dem Mac.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #c20cb9; font-weight: bold;">mkdir</span>  ~<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">git</span>
<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #7a0874; font-weight: bold;">cd</span> ~<span style="color: #000000; font-weight: bold;">/</span>workspace<span style="color: #000000; font-weight: bold;">/</span>testGroovy
<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #c20cb9; font-weight: bold;">git</span> clone <span style="color: #660033;">--bare</span> .git ~<span style="color: #000000; font-weight: bold;">/</span>git<span style="color: #000000; font-weight: bold;">/</span>testGroovy.git</pre></div></div>

<h3>Schritt 3: zentrales Git Repository clonen</h3>
<hr />
<p>Auf dem Linux Laptop soll ja ein dezentrales Repository entstehen. Dafür ist es notwendig, das zentrale Repository auf dem Mac zu klonen. Beide Rechner sind über ssh verbunden. Weiterhin wird beim Clonen das <code><strong>git-upload-pack</strong></code> (und zwar das von dem Rechner, wo das zentrale Repository liegt &#8211; bei mir also vom Mac) benötigt.<br />
Um <strong>Problemen</strong>, wie <code><strong>bash: git-upload-pack: command not found</strong></code> vorzubeugen, sollte man den Ort (bei mir ist es /usr/local/git/bin/git-upload-pack) beim Clone Kommando mit angeben.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #7a0874; font-weight: bold;">cd</span>  ~<span style="color: #000000; font-weight: bold;">/</span>projekte
<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #c20cb9; font-weight: bold;">git</span> clone <span style="color: #660033;">--upload-pack</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>git<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">git-upload-pack</span> \
   <span style="color: #c20cb9; font-weight: bold;">ssh</span>:<span style="color: #000000; font-weight: bold;">//</span>username<span style="color: #000000; font-weight: bold;">@</span>server<span style="color: #000000; font-weight: bold;">/</span>full<span style="color: #000000; font-weight: bold;">/</span>remote<span style="color: #000000; font-weight: bold;">/</span>path<span style="color: #000000; font-weight: bold;">/</span>to<span style="color: #000000; font-weight: bold;">/</span>testGroovy.git testGroovy</pre></div></div>

<p>Damit man das nicht ständig beachten muss, kann man das auch in der Git Konfigurationsdatei hinterlegen.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #7a0874; font-weight: bold;">cd</span>  ~<span style="color: #000000; font-weight: bold;">/</span>projekte<span style="color: #000000; font-weight: bold;">/</span>testGroovy
<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #c20cb9; font-weight: bold;">vi</span> .git<span style="color: #000000; font-weight: bold;">/</span>config
   <span style="color: #7a0874; font-weight: bold;">&#91;</span>remote <span style="color: #ff0000;">&quot;origin&quot;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
        fetch = +refs<span style="color: #000000; font-weight: bold;">/</span>heads<span style="color: #000000; font-weight: bold;">/*</span>:refs<span style="color: #000000; font-weight: bold;">/</span>remotes<span style="color: #000000; font-weight: bold;">/</span>origin<span style="color: #000000; font-weight: bold;">/*</span>
        url = <span style="color: #c20cb9; font-weight: bold;">ssh</span>:<span style="color: #000000; font-weight: bold;">//</span>username<span style="color: #000000; font-weight: bold;">@</span>server<span style="color: #000000; font-weight: bold;">/</span>full<span style="color: #000000; font-weight: bold;">/</span>remote<span style="color: #000000; font-weight: bold;">/</span>path<span style="color: #000000; font-weight: bold;">/</span>to<span style="color: #000000; font-weight: bold;">/</span>testGroovy.git
        <span style="color: #007800;">uploadpack</span>=<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>git<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">git-upload-pack</span>
        <span style="color: #007800;">receivepack</span>=<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>git<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">git-receive-pack</span></pre></div></div>

<h3>Schritt 4: vom lokalen zum zentralen Repository</h3>
<hr />
<p>Änderungen an den Sourcen werden zuerst im lokalen Repository über <code>git commit -a</code> versioniert. Auch bei diesem commit öffnet sich der vi Editor für einen Versionskommentar. Mit <code>git push</code> werden die Änderungen des lokalen Repositories dem zentralen Repository mitgeteilt.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #7a0874; font-weight: bold;">cd</span> ~<span style="color: #000000; font-weight: bold;">/</span>projekte<span style="color: #000000; font-weight: bold;">/</span>testGroovy
<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #c20cb9; font-weight: bold;">git</span> commit <span style="color: #660033;">-a</span>
<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #c20cb9; font-weight: bold;">git</span> push</pre></div></div>

<h3>Schritt 5: lokales und zentrales Repository auf einem Server</h3>
<hr />
<p>Begonnen hatte ich mit einem lokalen Repository auf meinem Mac. Über git clone &#8211;bar wurde ein zusätzliches zentrales Repository erstellt. Doch noch gibt es keine Verbindung zwischen den beiden. Dies geschieht durch einen Eintrag in der Git Konfigurationsdatei des lokalen Repositories.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #7a0874; font-weight: bold;">cd</span> ~<span style="color: #000000; font-weight: bold;">/</span>workspace<span style="color: #000000; font-weight: bold;">/</span>testGroovy
<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #c20cb9; font-weight: bold;">vi</span> .git<span style="color: #000000; font-weight: bold;">/</span>config
   ...
   <span style="color: #666666; font-style: italic;"># Verbindung zum zentralen Repository</span>
   <span style="color: #7a0874; font-weight: bold;">&#91;</span>remote <span style="color: #ff0000;">&quot;origin&quot;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
        fetch = +refs<span style="color: #000000; font-weight: bold;">/</span>heads<span style="color: #000000; font-weight: bold;">/*</span>:refs<span style="color: #000000; font-weight: bold;">/</span>remotes<span style="color: #000000; font-weight: bold;">/</span>origin<span style="color: #000000; font-weight: bold;">/*</span>
        url = <span style="color: #000000; font-weight: bold;">/</span>full<span style="color: #000000; font-weight: bold;">/</span>path<span style="color: #000000; font-weight: bold;">/</span>to<span style="color: #000000; font-weight: bold;">/</span>git<span style="color: #000000; font-weight: bold;">/</span>testGroovy.git
   <span style="color: #7a0874; font-weight: bold;">&#91;</span>branch <span style="color: #ff0000;">&quot;master&quot;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
        remote = origin
        merge = refs<span style="color: #000000; font-weight: bold;">/</span>heads<span style="color: #000000; font-weight: bold;">/</span>master</pre></div></div>

<p><strong>Fazit:</strong><br />
Ein bisschen Konfiguration ist schon notwendig, wenn man mit Git zentrale und dezentrale Repositories gleichsam nutzen möchte. Für diesen Aufwand bekommt man aber ein sehr leistungsfähiges, stabiles und performantes Versionierungssystem, das nicht auf eine Verbindung zu einem zentralen Repository angewiesen ist.</p>
<p><strong>Links:</strong><br />
[1] git-core &#8211; Core Pakete für Ubuntu<br />
[2] <a href="http://code.google.com/p/git-osx-installer/">git-osx-installer</a> &#8211; Google Code Projekt<br />
[3] <a href="http://www.interaktionsdesigner.de/2009/05/25/mein-git-tutorial/">kurzes deutsches Git Tutorial</a> &#8211; auf interaktionsdesigner.de<br />
[4] <a href="http://www.online-tutorials.net/programmierung/git/tutorials-t-3-263.html">kurzes deutsches Git Tutorial</a> &#8211; auf online-tutorials.net<br />
[5] <a href="http://www-cs-students.stanford.edu/~blynn/gitmagic/intl/de/index.html">ausführliches deutsches Git Tutorial</a> &#8211; der Stanford Uni<br />
[6] <a href="http://www.eclipse.org/egit/">EGit</a> &#8211; Eclipse Plugin für Git</p>
 <p><a href="http://www.k-oo.de/blog/?flattrss_redirect&amp;id=2239&amp;md5=e7ef4213408696de2eec1c185bcbc6a8" title="Flattr" target="_blank"><img src="http://www.k-oo.de/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.k-oo.de/blog/2011/04/26/tutorial-erste-schritte-mit-git/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="http://www.k-oo.de/blog/?flattrss_redirect&amp;id=2239&amp;md5=e7ef4213408696de2eec1c185bcbc6a8" type="text/html" />
	</item>
		<item>
		<title>Unix &#8211; in Skripten prüfen, ob ein Prozeß läuft</title>
		<link>http://www.k-oo.de/blog/2011/02/28/unix-in-skripten-prufen-ob-ein-prozes-lauft/</link>
		<comments>http://www.k-oo.de/blog/2011/02/28/unix-in-skripten-prufen-ob-ein-prozes-lauft/#comments</comments>
		<pubDate>Mon, 28 Feb 2011 05:03:09 +0000</pubDate>
		<dc:creator>gklinkmann</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.k-oo.de/blog/?p=2112</guid>
		<description><![CDATA[Ich mag Unix, hab ich das schon mal erwähnt? Alles, was auf der Kommandozeile möglich ist, kann man mit Skripten automatisieren. Ein Thema beim Erstellen von Shell Skripten ist der Umgang mit Prozessen. Wer schon mal mit einer Unix Shell Bekanntschaft gemacht hat, wird die Befehle ps und kill kennen, mit denen man sich eine [...]]]></description>
			<content:encoded><![CDATA[<p>Ich mag Unix, hab ich das schon mal erwähnt? Alles, was auf der Kommandozeile möglich ist, kann man mit Skripten automatisieren. </p>
<p>Ein Thema beim Erstellen von Shell Skripten ist der Umgang mit Prozessen. Wer schon mal mit einer Unix Shell Bekanntschaft gemacht hat, wird die Befehle <code style="font-weight:bold">ps</code> und <code style="font-weight:bold">kill</code> kennen, mit denen man sich eine Übersicht über laufende Prozesse verschafft, bzw. sie beendet. Vielleicht ist auch bekannt, dass man mit <code>kill -9</code> einem Wunsch einen Prozess zu beenden Nachdruck verleihen kann.</p>
<p>Was weniger bekannt sein dürfte (zumindest mir bis vor kurzem nicht) ist, dass man mit <code style="font-weight:bold">kill -0</code> auch feststellen kann, ob ein Prozess noch läuft. Denn mit dem Befehl kill kann man einem Prozess auch <a href="http://de.wikipedia.org/wiki/Signal_(Computer)#G.C3.A4ngige_UNIX-Signale">Signale</a> schicken, zu denen auch schon das vorhin erwähnte Signal 9 gehört. </p>
<p>Alles was man dazu benötigt ist die <strong>Prozess ID</strong> (pid). Diese erhält man über die Shell Variable <code style="font-weight:bold">$!</code>. In Zeile 4 des Beipiels wird sie gleich mit dem Start eines Prozesses in einer Variablen abgespeichert. In der darauf folgenden Zeile wird dieser pid dann das Signal 0 über den Befehl <code>kill</code> gesendet.<br />
Findet der Kernel diese pid in seiner Prozesstabelle erhält man als Returnwert 0, wenn nicht eine 1. So muss man nicht selbst umständlich in der Prozesstabelle suchen.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span>
&nbsp;
<span style="color: #007800;">pid</span>=<span style="color: #ff0000;">&quot;&quot;</span>   
.<span style="color: #000000; font-weight: bold;">/</span>longrun.sh <span style="color: #000000; font-weight: bold;">&amp;</span> <span style="color: #007800;">pid</span>=<span style="color: #007800;">$!</span>
<span style="color: #c20cb9; font-weight: bold;">kill</span> <span style="color: #660033;">-0</span> <span style="color: #007800;">$pid</span> <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">&gt;/</span>dev<span style="color: #000000; font-weight: bold;">/</span>null
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$?</span> <span style="color: #660033;">-eq</span> <span style="color: #000000;">0</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>
<span style="color: #000000; font-weight: bold;">then</span>
   <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;existing process <span style="color: #007800;">$pid</span>&quot;</span>
<span style="color: #000000; font-weight: bold;">else</span>
   <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;no process with pid: <span style="color: #007800;">$pid</span>&quot;</span>
<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">0</span></pre></td></tr></table></div>

<p><strong>Links:</strong><br />
<a href="http://www.unix.com/unix-advanced-expert-users/79267-trick-bash-scripters-check-if-process-running.html">Beispiele für weitere Programmiersprachen</a></p>
 <p><a href="http://www.k-oo.de/blog/?flattrss_redirect&amp;id=2112&amp;md5=0afe3159e603afe5f7c3526bdd1ef7cf" title="Flattr" target="_blank"><img src="http://www.k-oo.de/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.k-oo.de/blog/2011/02/28/unix-in-skripten-prufen-ob-ein-prozes-lauft/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="http://www.k-oo.de/blog/?flattrss_redirect&amp;id=2112&amp;md5=0afe3159e603afe5f7c3526bdd1ef7cf" type="text/html" />
	</item>
		<item>
		<title>tree für Linux und Mac</title>
		<link>http://www.k-oo.de/blog/2011/01/03/tree-fur-linux-und-mac/</link>
		<comments>http://www.k-oo.de/blog/2011/01/03/tree-fur-linux-und-mac/#comments</comments>
		<pubDate>Mon, 03 Jan 2011 04:46:47 +0000</pubDate>
		<dc:creator>gklinkmann</dc:creator>
				<category><![CDATA[apple]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[macos]]></category>

		<guid isPermaLink="false">http://www.k-oo.de/blog/?p=2084</guid>
		<description><![CDATA[Eines muss ich mal an dieser Stelle festhalten. Man kann zwar nicht mit der Windows Kommandozeile richtig arbeiten, aber sie hat ein tolles tree Kommando. Tree macht genau das, was der Name sagt. Es stellt ein Verzeichnis mit seinen Dateien und Unterverzeichnissen als Baum dar. Optional kann man noch angeben wie tief dieser Baum angezeigt [...]]]></description>
			<content:encoded><![CDATA[<p>Eines muss ich mal an dieser Stelle festhalten. Man kann zwar nicht mit der Windows Kommandozeile richtig arbeiten, aber sie hat ein tolles tree Kommando. Tree macht genau das, was der Name sagt. Es stellt ein Verzeichnis mit seinen Dateien und Unterverzeichnissen als Baum dar. Optional kann man noch angeben wie tief dieser Baum angezeigt werden soll.</p>
<p>Warum dieses Kommando unter Linux und MacOs nicht vorhanden ist, ist mir schleierhaft, zumal es in der Version 8 der SuSE Linux Distribution meines Wissens noch enthalten war. Lang ist&#8217;s her. Wer den Grund weiß, möchte mich bitte in den Kommentaren erleuchten.</p>
<p>Doch wer auf den optionalen Parameter für die Darstellung der Verzeichnistiefe verzichten kann, dem kann geholfen werden. Eine Kombination des <code>find</code> und <code>sed</code> Kommandos versteckt in einem <code>alias</code> ergibt fast die gleiche Ausgabe auf der <code>shell</code>.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">alias</span> <span style="color: #007800;">tree</span>=<span style="color: #ff0000;">&quot;find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'&quot;</span></pre></div></div>

<p><strong>via:</strong><br />
macnotes.de &#8211; <a href="http://www.macnotes.de/2008/11/29/terminal-mac-os-x-baumansicht-mit-tree-fur-ordner-und-files/">Baumansicht mit Tree</a></p>
 <p><a href="http://www.k-oo.de/blog/?flattrss_redirect&amp;id=2084&amp;md5=47036592dabe94d080c512ce65aba2c0" title="Flattr" target="_blank"><img src="http://www.k-oo.de/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.k-oo.de/blog/2011/01/03/tree-fur-linux-und-mac/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="http://www.k-oo.de/blog/?flattrss_redirect&amp;id=2084&amp;md5=47036592dabe94d080c512ce65aba2c0" type="text/html" />
	</item>
		<item>
		<title>Umlaute im vi</title>
		<link>http://www.k-oo.de/blog/2010/12/01/umlaute-im-vi/</link>
		<comments>http://www.k-oo.de/blog/2010/12/01/umlaute-im-vi/#comments</comments>
		<pubDate>Wed, 01 Dec 2010 11:33:47 +0000</pubDate>
		<dc:creator>gklinkmann</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.k-oo.de/blog/?p=2032</guid>
		<description><![CDATA[Umlaute sollten in der heutigen Zeit eigentlich keine Probleme mehr darstellen. Eigentlich! Denn meldet man sich über den Putty z.B auf einem Linux Server an, dessen Spracheinstellungen: &#62; locale LANG=de_DE.UTF-8 LC_CTYPE=&#34;de_DE.UTF-8&#34; LC_NUMERIC=&#34;de_DE.UTF-8&#34; LC_TIME=&#34;de_DE.UTF-8&#34; LC_COLLATE=&#34;de_DE.UTF-8&#34; LC_MONETARY=&#34;de_DE.UTF-8&#34; LC_MESSAGES=&#34;de_DE.UTF-8&#34; LC_PAPER=&#34;de_DE.UTF-8&#34; LC_NAME=&#34;de_DE.UTF-8&#34; LC_ADDRESS=&#34;de_DE.UTF-8&#34; LC_TELEPHONE=&#34;de_DE.UTF-8&#34; LC_MEASUREMENT=&#34;de_DE.UTF-8&#34; LC_IDENTIFICATION=&#34;de_DE.UTF-8&#34; LC_ALL= durchaus Umlaute unterstützen sollte, es aber dennoch nicht möglich ist, diese im [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Umlaute</strong> sollten in der heutigen Zeit eigentlich <strong>keine Probleme</strong> mehr darstellen. Eigentlich!</p>
<p>Denn meldet man sich über den <strong>Putty</strong> z.B auf einem Linux Server an, dessen Spracheinstellungen:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&gt;</span> locale
<span style="color: #007800;">LANG</span>=de_DE.UTF-<span style="color: #000000;">8</span>
<span style="color: #007800;">LC_CTYPE</span>=<span style="color: #ff0000;">&quot;de_DE.UTF-8&quot;</span>
<span style="color: #007800;">LC_NUMERIC</span>=<span style="color: #ff0000;">&quot;de_DE.UTF-8&quot;</span>
<span style="color: #007800;">LC_TIME</span>=<span style="color: #ff0000;">&quot;de_DE.UTF-8&quot;</span>
<span style="color: #007800;">LC_COLLATE</span>=<span style="color: #ff0000;">&quot;de_DE.UTF-8&quot;</span>
<span style="color: #007800;">LC_MONETARY</span>=<span style="color: #ff0000;">&quot;de_DE.UTF-8&quot;</span>
<span style="color: #007800;">LC_MESSAGES</span>=<span style="color: #ff0000;">&quot;de_DE.UTF-8&quot;</span>
<span style="color: #007800;">LC_PAPER</span>=<span style="color: #ff0000;">&quot;de_DE.UTF-8&quot;</span>
<span style="color: #007800;">LC_NAME</span>=<span style="color: #ff0000;">&quot;de_DE.UTF-8&quot;</span>
<span style="color: #007800;">LC_ADDRESS</span>=<span style="color: #ff0000;">&quot;de_DE.UTF-8&quot;</span>
<span style="color: #007800;">LC_TELEPHONE</span>=<span style="color: #ff0000;">&quot;de_DE.UTF-8&quot;</span>
<span style="color: #007800;">LC_MEASUREMENT</span>=<span style="color: #ff0000;">&quot;de_DE.UTF-8&quot;</span>
<span style="color: #007800;">LC_IDENTIFICATION</span>=<span style="color: #ff0000;">&quot;de_DE.UTF-8&quot;</span>
<span style="color: #007800;">LC_ALL</span>=</pre></div></div>

<p>durchaus Umlaute unterstützen sollte, es aber dennoch nicht möglich ist, diese im Editor vi einzugeben, dann hat man doch ein Problem.</p>
<p>Schuld ist in diesem Fall aber weder der <strong>vi</strong> oder dessen größerer Bruder <strong>vim</strong>, sondern die Einstellungen vom Putty. Diese sollte man auch (über <code>change settings -> Translation</code>) auf <strong>UTF-8</strong> umstellen.</p>
<p><img src="http://www.k-oo.de/blog/wp-content/uploads/2010/12/putty_utf8.jpg" alt="" title="Putty Einstellungen" width="426" height="442" class="alignnone size-full wp-image-2039" /></p>
<p> Dann klappt es auch mit den Umlauten.</p>
 <p><a href="http://www.k-oo.de/blog/?flattrss_redirect&amp;id=2032&amp;md5=5d6f93584b8e68f6ccaa07cad12f08fb" title="Flattr" target="_blank"><img src="http://www.k-oo.de/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.k-oo.de/blog/2010/12/01/umlaute-im-vi/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<atom:link rel="payment" href="http://www.k-oo.de/blog/?flattrss_redirect&amp;id=2032&amp;md5=5d6f93584b8e68f6ccaa07cad12f08fb" type="text/html" />
	</item>
		<item>
		<title>vi für Einsteiger</title>
		<link>http://www.k-oo.de/blog/2010/09/20/vi-fur-einsteiger/</link>
		<comments>http://www.k-oo.de/blog/2010/09/20/vi-fur-einsteiger/#comments</comments>
		<pubDate>Mon, 20 Sep 2010 17:28:42 +0000</pubDate>
		<dc:creator>gklinkmann</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.k-oo.de/blog/?p=1789</guid>
		<description><![CDATA[Der vi ist ein, wenn nicht sogar das Urgestein der Texteditoren. Nachdem ich die bürointerne Wette verloren habe, wer älter ist &#8211; ich oder der vi, habe ich mich gefragt, was ein Einsteiger vom vi wissen muss, um mit ihm die ersten Schritte zu wagen. Vielleicht als erstes die Vorteile. Der vi ist auch heute [...]]]></description>
			<content:encoded><![CDATA[<p>Der <strong>vi</strong> ist ein, wenn nicht sogar das Urgestein der <strong>Texteditoren</strong>. Nachdem ich die bürointerne Wette verloren habe, wer älter ist &#8211; ich oder der vi, habe ich mich gefragt, was ein Einsteiger vom vi wissen muss, um mit ihm die ersten Schritte zu wagen.</p>
<p>Vielleicht als erstes die <strong>Vorteile</strong>. Der vi ist auch heute nach 34 Jahren (und damit ist er leider jünger als ich <img src='http://www.k-oo.de/blog/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' />  ) auf jedem Unix basiertem Betriebssystem vorhanden und kann mehr als sein Windows Pendant Notepad, den man wie es der Name schon sagt, nur in Notlagen benutzen sollte.</p>
<p>Wo viel Sonne ist, da ist auch <strong>Schatten</strong>. So ist die Befehlssyntax des vi sehr komplex und auch die voneinander getrennten Befehls- und Eingabemodi tragen nicht unbedingt zu einer intiuitiven Bedienung bei.</p>
<p>Wenn wir schon bei den <strong>Stati</strong> sind &#8211; eigentlich sind es drei. Der Kommandozeilenmodus und wie schon erwähnt der Befehls- und der Eingabe/Änderungsmodus. In der folgenden Übersicht sind die Befehle aufgeführt, die den Wechsel zwischen diesen Stati erlaube:</p>
<p><img src="http://www.k-oo.de/blog/wp-content/uploads/2010/09/vi_modi.jpg" alt="" title="vi Modi" width="387" height="115" class="alignnone size-full wp-image-1798" /></p>
<p>Der <strong>Aufruf</strong> ist mit:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">vi</span> <span style="color: #000000; font-weight: bold;">&lt;</span>Dateiname<span style="color: #000000; font-weight: bold;">&gt;</span></pre></div></div>

<p>recht simpel. Die <strong>Befehls- oder Kommandosyntax</strong> ist dagegen recht komplex. Sie läßt sich aus meiner Sicht aber gut in die Kategorien allgemein und die Bearbeitung von Zeilen, Zeichen bzw. Wörtern zusammenfassen:</p>
<p><img src="http://www.k-oo.de/blog/wp-content/uploads/2010/09/vi_kommandos2.jpg" alt="" title="vi Kommandos" width="428" height="460" class="alignnone size-full wp-image-1802" /></p>
<p>Eigentlich gibt es nur 2 Reaktionen auf den vi &#8211; entweder man liebt ihn oder man verflucht ihn. Passend dazu noch 2 kleine Zitate aus dem <a href="http://de.wikipedia.org/wiki/Vi">Wikipedia Artikel</a>:</p>
<blockquote><p>
Vi &#8211; It&#8217;s small but smart.<br />
(Vi &#8211; Es ist klein, aber schlau.) Chris Snowwhite</p>
<p>vi has two modes: beep constantly, and break everything<br />
(vi hat zwei Betriebsarten: Pieps dauernd rum und mach alles kaputt) Unbekannter Autor
</p></blockquote>
<p>Wer es etwas komfortabler mag, sollte sich den <strong>vim</strong> (Vi IMproved) anschauen, der auf Linux Systemen den vi ablöst und den Schmerz etwas lindert. <img src='http://www.k-oo.de/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><strong>Links:</strong><br />
<a href='http://www.k-oo.de/blog/wp-content/uploads/2010/09/vi-Editor.pdf'>Mindmap &#8211; vi Editor für Einsteiger (pdf)</a></p>
 <p><a href="http://www.k-oo.de/blog/?flattrss_redirect&amp;id=1789&amp;md5=f2e3d21d3f52b246705eea50fc3fdeb2" title="Flattr" target="_blank"><img src="http://www.k-oo.de/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.k-oo.de/blog/2010/09/20/vi-fur-einsteiger/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="http://www.k-oo.de/blog/?flattrss_redirect&amp;id=1789&amp;md5=f2e3d21d3f52b246705eea50fc3fdeb2" type="text/html" />
	</item>
		<item>
		<title>[Windows] Dateianzahl ermitteln in Verzeichnissen mit vielen Dateien</title>
		<link>http://www.k-oo.de/blog/2010/06/22/windows-dateianzahl-ermitteln-in-verzeichnissen-mit-vielen-dateien/</link>
		<comments>http://www.k-oo.de/blog/2010/06/22/windows-dateianzahl-ermitteln-in-verzeichnissen-mit-vielen-dateien/#comments</comments>
		<pubDate>Tue, 22 Jun 2010 17:02:58 +0000</pubDate>
		<dc:creator>gklinkmann</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.k-oo.de/blog/?p=1721</guid>
		<description><![CDATA[Die Arbeit mit Dateien erledigt man unter Windows mit dem Explorer. Das klappt soweit auch ganz gut, sofern in einem Verzeichnis in der ersten Ebene nicht über 100000 Dateien liegen. Versucht man so ein Verzeichnis mit dem Explorer zu öffnen, tut sich da erst einmal gar nichts mehr. Doch wie ermittelt man die Anzahl der [...]]]></description>
			<content:encoded><![CDATA[<p>Die Arbeit mit Dateien erledigt man unter Windows mit dem Explorer. Das klappt soweit auch ganz gut, sofern in einem Verzeichnis in der ersten Ebene nicht über 100000 Dateien liegen. Versucht man so ein Verzeichnis mit dem Explorer zu öffnen, tut sich da erst einmal gar nichts mehr.</p>
<p>Doch wie ermittelt man die Anzahl der Dateien in so einem Verzeichnis?</p>
<p>Ist die <a href="http://de.wikipedia.org/wiki/Windows_PowerShell"><strong>Windows Powershell</strong></a> installiert, ist dies mit folgendem Befehl möglich:</p>

<div class="wp_syntax"><div class="code"><pre class="windows" style="font-family:monospace;">(Get-ChildItem D:\data).Count</pre></div></div>

<p>Hat man noch XP und keine Powershell bietet sich <a href="http://www.cygwin.com/"><strong>Cygwin</strong></a> als Alternative an. Cygwin ist eine Implementierung von Unix Tools für Windows. Diejenigen von Euch, die wie ich lieber mit Unix basierten Systemen arbeiten, ziehen der Powershell die Bash sicherlich vor und ermitteln die Anzahl der Dateien auf diese Weise:</p>

<div class="wp_syntax"><div class="code"><pre class="unix" style="font-family:monospace;">find /cygdrive/D/data -type f|wc -l</pre></div></div>

<p>Schneller fertig, war in meinem Fall Cygwin. Noch ein Grund mehr sich dieses nützliche Tool zu installieren, wenn man schon mit Windows arbeiten muss. Ein Umstieg auf Linux oder MacOS wird dadurch auch leichter. <img src='http://www.k-oo.de/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
 <p><a href="http://www.k-oo.de/blog/?flattrss_redirect&amp;id=1721&amp;md5=2d7e49e612755492ce6bbd824a93bf6a" title="Flattr" target="_blank"><img src="http://www.k-oo.de/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.k-oo.de/blog/2010/06/22/windows-dateianzahl-ermitteln-in-verzeichnissen-mit-vielen-dateien/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="http://www.k-oo.de/blog/?flattrss_redirect&amp;id=1721&amp;md5=2d7e49e612755492ce6bbd824a93bf6a" type="text/html" />
	</item>
		<item>
		<title>Klick Dich nicht weg!</title>
		<link>http://www.k-oo.de/blog/2009/11/30/klick-dich-nicht-weg/</link>
		<comments>http://www.k-oo.de/blog/2009/11/30/klick-dich-nicht-weg/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 07:04:45 +0000</pubDate>
		<dc:creator>gklinkmann</dc:creator>
				<category><![CDATA[apple]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[macos]]></category>

		<guid isPermaLink="false">http://www.k-oo.de/blog/?p=1380</guid>
		<description><![CDATA[Als Tastatur Junkie muss ich mich dieser Aktion einfach anschließen. Quelle: aptgetupdate via: aptgetupdate]]></description>
			<content:encoded><![CDATA[<p>Als Tastatur Junkie muss ich mich dieser Aktion einfach anschließen. <img src='http://www.k-oo.de/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><img src="http://www.k-oo.de/blog/wp-content/uploads/2009/11/klick_dich_nicht_weg.jpg" alt="klick dich nicht weg" title="klick dich nicht weg" width="480" height="376" class="alignleft size-full wp-image-1381" /><br />
<span style="font-size:0.8em;">Quelle: <a href="http://www.aptgetupdate.de/wp-content/uploads/2009/11/Bildschirmfoto-2009-11-29-um-13.22.09.jpg" rel="lightbox[1380]">aptgetupdate</a></span></p>
<p>via: <a href="http://www.aptgetupdate.de/2009/11/29/ohne-worte-klick-dich-nicht-weg/">aptgetupdate</a></p>
 <p><a href="http://www.k-oo.de/blog/?flattrss_redirect&amp;id=1380&amp;md5=aff38199b6aeb864eea06fb4be2d9aea" title="Flattr" target="_blank"><img src="http://www.k-oo.de/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.k-oo.de/blog/2009/11/30/klick-dich-nicht-weg/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="http://www.k-oo.de/blog/?flattrss_redirect&amp;id=1380&amp;md5=aff38199b6aeb864eea06fb4be2d9aea" type="text/html" />
	</item>
		<item>
		<title>vim or not vim? that&#8217;s the question.</title>
		<link>http://www.k-oo.de/blog/2009/09/30/vim-or-not-vim-thats-the-question/</link>
		<comments>http://www.k-oo.de/blog/2009/09/30/vim-or-not-vim-thats-the-question/#comments</comments>
		<pubDate>Wed, 30 Sep 2009 06:09:10 +0000</pubDate>
		<dc:creator>gklinkmann</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[kubuntu]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.k-oo.de/blog/?p=1104</guid>
		<description><![CDATA[Ich habe gerade einen Artikel über die 100 vim Befehle gelesen, die jeder Programmierer kennen sollte. Den vim (Vi IMproved) habe ich hier im Blog schon einmal kurz vorgestellt. Bei der Durchsicht der Liste, der 100 besten vim Befehle, habe ich wieder einmal viel gelernt über diesen Konsolen Editor, aber auch alt bekannte und lieb [...]]]></description>
			<content:encoded><![CDATA[<p>Ich habe gerade einen Artikel über die <a href="http://www.catswhocode.com/blog/100-vim-commands-every-programmer-should-know"><strong>100 vim Befehle</strong></a> gelesen, die jeder Programmierer kennen sollte.<br />
Den <strong>vim</strong> (Vi IMproved) habe ich hier im Blog schon einmal <a href="http://www.k-oo.de/blog/2007/05/31/vim-komfortabler-vi/">kurz vorgestellt</a>. </p>
<p>Bei der Durchsicht der Liste, der 100 besten vim Befehle, habe ich wieder einmal viel gelernt über diesen Konsolen Editor, aber auch alt bekannte und lieb gewonnene Funktionen entdeckt. Meine absoluten Favoriten sind:</p>
<ul>
<li><strong>:syntax on</strong>	zum anschalten der Syntax Hervorhebung (syntax highlighting)</li>
<li>die Befehle zum Einrücken von Code<br />
<strong>:set autoindent</strong>	Einrücken anschalten<br />
<strong>:set smartindent</strong>	intelligentes Einrücken anschalten<br />
<strong>:set shiftwidth=4</strong>	Definieren von 4 Leerzeichen als Einrückgröße<br />
<strong>ctrl-t, ctrl-d</strong>	Ein/Ausrücken im insert mode<br />
<strong>>></strong>	Einrücken im Befehlsmode<br />
<strong><<</strong>	Ausrücken im Befehlsmode</li>
<li>Die Interaktion mit Unix<br />
<strong>:!pwd</strong>	Ausführen vom “pwd” Unix Befehl und dann zum vim zurückkehren<br />
<strong>!!pwd</strong>	Ausführen vom “pwd” Unix Befehl und das einfügen der Ausgabe in die Datei<br />
<strong>:sh</strong>	temporärer Ausflug auf die Unix Shell</li>
<li><strong>:%s/old/new/g</strong>	Ersetzen von “old” durch “new” in der gesamten Datei</li>
</ul>
<p>Welche Editoren für die Konsole nutzt Ihr? Und falls der vim dabei ist, auf welche Befehle könntet ihr nicht verzichten?</p>
 <p><a href="http://www.k-oo.de/blog/?flattrss_redirect&amp;id=1104&amp;md5=7347319c6dee20cab7209d1a487f84d2" title="Flattr" target="_blank"><img src="http://www.k-oo.de/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.k-oo.de/blog/2009/09/30/vim-or-not-vim-thats-the-question/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="http://www.k-oo.de/blog/?flattrss_redirect&amp;id=1104&amp;md5=7347319c6dee20cab7209d1a487f84d2" type="text/html" />
	</item>
		<item>
		<title>FreeNX &#8211;  Linux Desktop remote aufrufen</title>
		<link>http://www.k-oo.de/blog/2009/09/25/freenx-linux-desktop-remote-aufrufen/</link>
		<comments>http://www.k-oo.de/blog/2009/09/25/freenx-linux-desktop-remote-aufrufen/#comments</comments>
		<pubDate>Fri, 25 Sep 2009 13:39:03 +0000</pubDate>
		<dc:creator>gklinkmann</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[net]]></category>
		<category><![CDATA[vernetzung]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.k-oo.de/blog/?p=1080</guid>
		<description><![CDATA[Um sich den Desktop eines entfernten Rechners auf seinen PC zu holen gibt es unterschiedliche Lösungen. Im Windows Umfeld gibt es RemoteDesktop für 1:1 Verbindungen und ansonsten den Terminal Server, für den gleichzeitigen Zugriff mehrere Benutzer den entfernten Desktop. Ein großer kommerzieller Anbieter, der auch vielen bekannt sein dürfte, ist Citrix. Möchte man kein Geld [...]]]></description>
			<content:encoded><![CDATA[<p>Um sich den <strong>Desktop eines entfernten Rechners</strong> auf seinen PC zu holen gibt es unterschiedliche Lösungen. Im Windows Umfeld gibt es <strong>RemoteDesktop</strong> für 1:1 Verbindungen und ansonsten den <strong>Terminal Server</strong>, für den gleichzeitigen Zugriff mehrere Benutzer den entfernten Desktop.<br />
Ein großer kommerzieller Anbieter, der auch vielen bekannt sein dürfte, ist <strong>Citrix</strong>.</p>
<p>Möchte man kein Geld ausgeben landet man schnell bei <strong>VNC</strong> und seinen Derivaten (wie z.B. UltraVnc).</p>
<p>Ich persönlich nutze für Windows ebenfalls Microsofts eigene Lösung RemoteDesktop, da sie in Sachen <strong>Performance</strong> die Nase klar vorn hat. Für einen Linux Desktop (übrigens KDE auch weil er schneller ist als Gnome) musste ich dann allerdings auf VNC zurückgreifen.</p>
<p>Unzufrieden über die Performance dieser Lösung, habe ich schon die ganze Zeit nach einer Alternative gesucht und sie jetzt mit <strong>FreeNX von NoMachine</strong> gefunden. FreeNX ist nicht nur <strong>performanter</strong>, sondern geht auch in der Server Version <strong>schonender mit den Systemresourcen</strong> um. In der kostenlosen Version ist FreeNX auf 3 gleichzeitige Benutzer beschränkt (was mir persönlich aber auch reicht).</p>
<p>Nach dem <a href="http://www.nomachine.com/select-package.php?os=linux&#038;id=1"><strong>download</strong></a> (für Kubuntu stehen auf der nomachine Seite <strong>*.deb Pakete</strong> zur Verfügung), müssen die Pakete für den Server Betrieb (also auf dem Linux System, was den Desktop bereitstellen soll) in folgender Reihenfolge eingespielt werden:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">dpkg</span> <span style="color: #660033;">-i</span> nxclient_3.3.0-<span style="color: #000000;">6</span>_i386.deb
    ...
    Paket libaudiofile0 ist nicht installiert.
    ...
<span style="color: #666666; font-style: italic;"># Auflösen der Abhängigkeiten</span>
<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">aptitude</span> safe-upgrade
<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">dpkg</span> <span style="color: #660033;">-i</span> nxnode_3.3.0-<span style="color: #000000;">22</span>_i386.deb
<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">dpkg</span> <span style="color: #660033;">-i</span> nxserver_3.3.0-<span style="color: #000000;">27</span>_i386.deb</pre></div></div>

<p>Danach steht der <strong>Server</strong> sofort zur Verfügung und kann benutzt werden. Für <strong>weitergehende Konfigurationen</strong> solltet Ihr Euch die Installationsanmerkungen unter <code>/usr/NX/share/documents/server/install-notices</code> durchlesen (rtfm <img src='http://www.k-oo.de/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> ).</p>
<div style="float:left; padding-right:10px">
<img src="http://www.k-oo.de/blog/wp-content/uploads/2009/09/freenx.jpg" alt="FreeNX Client Optionen" title="FreeNX Client Optionen" width="300" height="361" class="alignleft size-full wp-image-1092" />
</div>
<p><strong>Clients</strong> gibt es für Windows, Linux und MacOs. Sie lassen sich ebenso schmerzfrei installieren, wie der Serverteil. Im von mir benutzten Windows Client (den MacOs Client werde ich auch noch testen) kann man nach der Installation mittels eines Assistenten eine Verbindung zum Linux System aufbauen und dann sowohl den <strong>KDE</strong> (in seiner ganzen Schönheit) als auch einzelne Programme benutzen.</p>
<p><br style="clear:both;" /><br />
Andere Linux Desktops (wie <strong>Gnome</strong> oder <strong>XFCE</strong>) funktionieren natürlich genauso gut. <img src='http://www.k-oo.de/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><strong>Links:</strong><br />
Wiki ubuntuusers.de: <a href="http://wiki.ubuntuusers.de/FreeNX">FreeNX</a></p>
 <p><a href="http://www.k-oo.de/blog/?flattrss_redirect&amp;id=1080&amp;md5=f4e33ac482f37461b4aed8d8f5928dca" title="Flattr" target="_blank"><img src="http://www.k-oo.de/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.k-oo.de/blog/2009/09/25/freenx-linux-desktop-remote-aufrufen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="http://www.k-oo.de/blog/?flattrss_redirect&amp;id=1080&amp;md5=f4e33ac482f37461b4aed8d8f5928dca" type="text/html" />
	</item>
	</channel>
</rss>

