<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="http://feeds.feedburner.com/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:admin="http://webns.net/mvcb/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
<channel>
    <title>256bit.org Blog</title>
    <link>http://blog.256bit.org/</link>
    <description>Yet another blog in the web</description>
    <dc:language>en</dc:language>
    <admin:errorReportsTo rdf:resource="mailto:" />
    <generator>Serendipity 1.3.1 - http://www.s9y.org/</generator>
    
    <image>
        <url>http://blog.256bit.org/templates/bulletproof/img/s9y_banner_small.png</url>
        <title>RSS: 256bit.org Blog - Yet another blog in the web</title>
        <link>http://blog.256bit.org/</link>
        <width>100</width>
        <height>21</height>
    </image>

<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/256bitorgBlog" type="application/rss+xml" /><item>
    <title>Die Sache mit gelöschten Dateien...</title>
    <link>http://feeds.feedburner.com/~r/256bitorgBlog/~3/450041727/544-Die-Sache-mit-geloeschten-Dateien....html</link>
            <category>Nerd</category>
            <category>Tipps And Tricks</category>
    
    <comments>http://blog.256bit.org/archives/544-Die-Sache-mit-geloeschten-Dateien....html#comments</comments>
    <wfw:comment>http://blog.256bit.org/wfwcomment.php?cid=544</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.256bit.org/rss.php?version=2.0&amp;type=comments&amp;cid=544</wfw:commentRss>
    

    <author>cb@256bit.org (chrisbra)</author>
    <content:encoded><![CDATA[
    Wenn man versehentlich eine Datei löscht, auf die ein Prozess unter Linux noch zugreift, so ist diese erstmal weg. Solang aber wie der Prozess noch auf diese Datei zugreift, wird diese Datei erstmal Platz auf der Platte belegen. Wenn man Pech hat, dann betrifft das eine riesige Datei und man bekommt ein Plattenplatzproblem.<br />
<br />
Ein verdächtiger Hinweis auf so eine Situation ist, wenn die Abweichung zwischen du und df groß ist. Das passiert, weil kein Hardlink mehr auf die gelöschte Datei in irgendeinem Verzeichnis mehr vorhanden ist (Linkcount ist 0, Datei ist als gelöscht markiert im Dateisystem) und daher von du nicht bemerkt wird. Im Dateisystem gibt es die Datei aber noch, daher kommt die Abweichung von df.<br />
<br />
logrotate ist so ein Kandidat für solche Geschichten, wenn das Logfile zwar wegrotiert wird, aber hinterher der loggende Prozess nicht neu gestartet wird. Dieser Prozess wird dann fröhlich weiter einen Filedescriptor beschreiben, bis er irgendwann mal beendet wird. <br />
<br />
Finden kann man solche Prozesse zum Beispiel mit find:<br />
<div class="bash" style="text-align: left"><br />t41:~$ find -L /proc/*/fd -xdev -<span style="color: #000066;">type</span> f -links <span style="color: #cc66cc;">0</span> <span style="color: #cc66cc;">2</span>&gt;/dev/null<br />/proc/<span style="color: #cc66cc;">4695</span>/fd/<span style="color: #cc66cc;">5</span><br />/proc/self/fd/<span style="color: #cc66cc;">3</span>/<span style="color: #cc66cc;">5</span><br />t41:~$<br />&#160;</div><br />
Den zweiten Prozess kann man ignorieren.<br />
Mal sehen welcher Prozess sich hinter dem ersten Prozess versteckt:<br />
<div class="bash" style="text-align: left"><br />t41:~$ cat /proc/<span style="color: #cc66cc;">4695</span>/cmdline; <span style="color: #000066;">echo</span><br />mutt<br />~$<br />&#160;</div><br />
Ah ja. Ein cat /proc/4695/fd/5 gibt auch den Inhalt aus, es ist eine Mail, die ich gerade gelesen habe.<br />
<br />
Mit lsof geht das ganze noch einfacher:<br />
<div class="bash" style="text-align: left"><br />t41:~ <span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">1128</span><span style="color: #66cc66;">&#93;</span><span style="color: #808080; font-style: italic;"># lsof +L1</span><br />COMMAND&#160; &#160; &#160;PID&#160; &#160; &#160;USER&#160; &#160;FD&#160; &#160;TYPE DEVICE&#160; &#160;SIZE NLINK&#160; &#160;NODE NAME<br />dhclient3&#160; <span style="color: #cc66cc;">2239</span>&#160; &#160; &#160;root&#160; txt&#160; &#160; REG&#160; &#160; <span style="color: #cc66cc;">8</span>,<span style="color: #cc66cc;">1</span> <span style="color: #cc66cc;">363232</span>&#160; &#160; &#160;<span style="color: #cc66cc;">0</span>&#160; <span style="color: #cc66cc;">81742</span> /sbin/dhclient3<br />smbd&#160; &#160; &#160; &#160;<span style="color: #cc66cc;">5822</span>&#160; &#160; &#160;root&#160; &#160; 2w&#160; &#160;REG&#160; &#160; <span style="color: #cc66cc;">8</span>,<span style="color: #cc66cc;">1</span>&#160; &#160; <span style="color: #cc66cc;">863</span>&#160; &#160; &#160;<span style="color: #cc66cc;">0</span> <span style="color: #cc66cc;">434171</span> /var/log/samba/log.smbd.<span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">&#40;</span>deleted<span style="color: #66cc66;">&#41;</span><br />smbd&#160; &#160; &#160; &#160;<span style="color: #cc66cc;">5822</span>&#160; &#160; &#160;root&#160; &#160; 7w&#160; &#160;REG&#160; &#160; <span style="color: #cc66cc;">8</span>,<span style="color: #cc66cc;">1</span>&#160; &#160; <span style="color: #cc66cc;">863</span>&#160; &#160; &#160;<span style="color: #cc66cc;">0</span> <span style="color: #cc66cc;">434171</span> /var/log/samba/log.smbd.<span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">&#40;</span>deleted<span style="color: #66cc66;">&#41;</span><br />tail&#160; &#160; &#160; <span style="color: #cc66cc;">11182</span> chrisbra&#160; &#160; 3r&#160; &#160;REG&#160; &#160; <span style="color: #cc66cc;">8</span>,<span style="color: #cc66cc;">1</span> <span style="color: #cc66cc;">104909</span>&#160; &#160; &#160;<span style="color: #cc66cc;">0</span> <span style="color: #cc66cc;">401728</span> /var/log/syslog.<span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">&#40;</span>deleted<span style="color: #66cc66;">&#41;</span><br />&#160;</div><br />
<br />
Die erste Datei ist ein Fehlalarm. Warum dort bei diesem Filedescriptor ein Linkcount von 0 angezeigt wird, verstehe ich gerade nicht. Die richtigen sind die, wo (deleted) steht.<br />
<br />
Hm mal sehen, was wir da noch so rausfinden können:<br />
<br />
<div class="bash" style="text-align: left"><br />t41:~ <span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">1130</span>:<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#93;</span><span style="color: #808080; font-style: italic;">#lsof +L1 -Fnskc |awk '</span><br />/^s/ <span style="color: #66cc66;">&#123;</span><br />&#160; &#160; <span style="color: #0000ff;">j=</span>gensub<span style="color: #66cc66;">&#40;</span>/^s/, <span style="color: #ff0000;">""</span>,<span style="color: #cc66cc;">1</span>,$<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><br /><span style="color: #66cc66;">&#125;</span><br />/^n/ &amp;&amp; /<span style="color: #66cc66;">&#40;</span>deleted<span style="color: #66cc66;">&#41;</span>/ <span style="color: #66cc66;">&#123;</span><br /><span style="color: #0000ff;">i=</span>gensub<span style="color: #66cc66;">&#40;</span>/^n/, <span style="color: #ff0000;">""</span>,<span style="color: #cc66cc;">1</span>,$<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><br />a<span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span>=j;<br /><span style="color: #66cc66;">&#125;</span><br />END <span style="color: #66cc66;">&#123;</span><br /><span style="color: #b1b100;">for</span> <span style="color: #66cc66;">&#40;</span>i <span style="color: #b1b100;">in</span> a<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span><br />&#160; &#160; s+=a<span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span>;<br />&#160; &#160; print <span style="color: #ff0000;">"Files: "</span>, i , <span style="color: #ff0000;">" Size: "</span> ,&#160; a<span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span>;<br /><span style="color: #66cc66;">&#125;</span><br /><span style="color: #0000ff;">u=</span><span style="color: #ff0000;">"B"</span><br /><span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>s&gt;=<span style="color: #cc66cc;">1024</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span><br />&#160; &#160; s/=<span style="color: #cc66cc;">1024</span><br />&#160; &#160; <span style="color: #0000ff;">u=</span><span style="color: #ff0000;">"kB"</span><span style="color: #66cc66;">&#125;</span>;<br /><span style="color: #000066;">printf</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">"-------------------<span style="color: #000099; font-weight: bold;">\n</span>Total:<span style="color: #000099; font-weight: bold;">\t</span>%.2f %s<span style="color: #000099; font-weight: bold;">\n</span>Avg:<span style="color: #000099; font-weight: bold;">\t</span>%.2f %s<span style="color: #000099; font-weight: bold;">\n</span>"</span>, s, u, s/length<span style="color: #66cc66;">&#40;</span>a<span style="color: #66cc66;">&#41;</span>,u<span style="color: #66cc66;">&#41;</span>;<br /><span style="color: #66cc66;">&#125;</span><span style="color: #ff0000;">'<br />Files:&#160; /var/log/samba/log.smbd.1&#160; Size:&#160; 863<br />Files:&#160; /var/log/syslog.1&#160; Size:&#160; 104909<br />-------------------<br />Total:&#160; 103,29 kB<br />Avg:&#160; &#160; 51,65 kB<br />&#160;</span></div><br />
<br />
Die 2 Prozesse verbrauchen also ca: 103 kB mehr an Platz. Ein Restart sollte reichen, um den Platz wieder freizugegeben.<br />
<br />
Falls das aus irgendeinem Grund nicht geht, weil man die Prozesse nicht restarten kann, aber trotzdem kein Wert auf die Daten in den gelöschten Dateien legt, müßte man die Daten ungefähr folgendermaßen freigeben können:<br />
<br />
<div class="bash" style="text-align: left"><br />t41:~ <span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">1155</span><span style="color: #66cc66;">&#93;</span><span style="color: #808080; font-style: italic;"># for i in 5822 11182;</span><br /><span style="color: #b1b100;">do</span> find -L /proc/<span style="color: #0000ff;">$i</span>/fd -<span style="color: #000066;">type</span> f -links <span style="color: #cc66cc;">0</span> -<span style="color: #000066;">exec</span> sh -c <span style="color: #ff0000;">'exec &gt; {}'</span>&#160; \; ;&#160; <span style="color: #b1b100;">done</span><br />t41:~ <span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">1156</span><span style="color: #66cc66;">&#93;</span><span style="color: #808080; font-style: italic;"># lsof +L1 -Fnskc |awk '</span><br />/^s/ <span style="color: #66cc66;">&#123;</span><br />&#160; &#160; <span style="color: #0000ff;">j=</span>gensub<span style="color: #66cc66;">&#40;</span>/^s/, <span style="color: #ff0000;">""</span>,<span style="color: #cc66cc;">1</span>,$<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><br /><span style="color: #66cc66;">&#125;</span><br />/^n/ &amp;&amp; /<span style="color: #66cc66;">&#40;</span>deleted<span style="color: #66cc66;">&#41;</span>/ <span style="color: #66cc66;">&#123;</span><br /><span style="color: #0000ff;">i=</span>gensub<span style="color: #66cc66;">&#40;</span>/^n/, <span style="color: #ff0000;">""</span>,<span style="color: #cc66cc;">1</span>,$<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><br />a<span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span>=j;<br /><span style="color: #66cc66;">&#125;</span><br />END <span style="color: #66cc66;">&#123;</span><br /><span style="color: #b1b100;">for</span> <span style="color: #66cc66;">&#40;</span>i <span style="color: #b1b100;">in</span> a<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span><br />&#160; &#160; s+=a<span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span>;<br />&#160; &#160; print <span style="color: #ff0000;">"Files: "</span>, i , <span style="color: #ff0000;">" Size: "</span> ,&#160; a<span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span>;<br /><span style="color: #66cc66;">&#125;</span><br /><span style="color: #0000ff;">u=</span><span style="color: #ff0000;">"B"</span><br /><span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>s&gt;=<span style="color: #cc66cc;">1024</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span><br />&#160; &#160; s/=<span style="color: #cc66cc;">1024</span><br />&#160; &#160; <span style="color: #0000ff;">u=</span><span style="color: #ff0000;">"kB"</span><span style="color: #66cc66;">&#125;</span>;<br /><span style="color: #000066;">printf</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">"-------------------<span style="color: #000099; font-weight: bold;">\n</span>Total:<span style="color: #000099; font-weight: bold;">\t</span>%.2f %s<span style="color: #000099; font-weight: bold;">\n</span>Avg:<span style="color: #000099; font-weight: bold;">\t</span>%.2f %s<span style="color: #000099; font-weight: bold;">\n</span>"</span>, s, u, s/length<span style="color: #66cc66;">&#40;</span>a<span style="color: #66cc66;">&#41;</span>,u<span style="color: #66cc66;">&#41;</span>;<br /><span style="color: #66cc66;">&#125;</span><span style="color: #ff0000;">'<br />Files:&#160; /var/log/samba/log.smbd.1&#160; Size:&#160; 0<br />Files:&#160; /var/log/syslog.1&#160; Size:&#160; 0<br />-------------------<br />Total:&#160; 0,00 B<br />Avg:&#160; &#160; 0,00 B<br />&#160;</span></div><br />
<br />
Zunächst wurden mit einer Schleife alle Filedescriptoren gefunden, die zu den beiden Prozessen gehören und einen Linkcount von 0 hatten.  Diese Filedescriptoren wurden einfach noch einmal durch die Shell zum Schreiben geöffnet und praktischerweise löscht die Shell dabei gleich den vorhandenen Inhalt.<br />
<br />
Wie man anhand des zweiten mini-Scripts sieht, sind jetzt zwar immernoch 2 Prozesse vorhanden, die auf gelöschte Dateien zugreifen möchten, aber diese Dateien nehmen keinen Platz mehr weg.<br />
<br />
Empfehlen tu ich diesen Weg aber nicht. Ich denke, dabei könnten einige Prozesse drüber stolpern. Es ist also mehr oder weniger nur ein übler Hack.<br />
<br />
Einen Vorteil hat das Ganze übrigens auch. Versehentlich gelöschte Dateien können so schnell und einfach wieder hergestellt werden, so lange noch ein Prozess diese Dateien geöffnet hält. Ein cat /proc/5822/fd/2 > /var/log/smbd.log und schon ist die Datei wieder im Dateisystem. Funktioniert nur leider nicht mehr, wenn man die Datei schon geleert hat, wie gerade eben durch das letzte find-Statement geschehen. ;(<br />
<br />
<h6>Idee zu diesem Artikel: <a href="http://blog.256bit.org/exit.php?url_id=2536&amp;entry_id=544" title="http://glandium.org/blog/?p=211"  onmouseover="window.status='http://glandium.org/blog/?p=211';return true;" onmouseout="window.status='';return true;"  class="bb-url">via</a></h6><br />
 
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~f/256bitorgBlog?a=KjGBN"><img src="http://feeds.feedburner.com/~f/256bitorgBlog?i=KjGBN" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/256bitorgBlog/~4/450041727" height="1" width="1"/>]]></content:encoded>

    <pubDate>Tue, 11 Nov 2008 23:08:03 +0100</pubDate>
    <guid isPermaLink="false">http://blog.256bit.org/archives/544-guid.html</guid>
    
<feedburner:origLink>http://blog.256bit.org/archives/544-Die-Sache-mit-geloeschten-Dateien....html</feedburner:origLink></item>
<item>
    <title>Linkdump</title>
    <link>http://feeds.feedburner.com/~r/256bitorgBlog/~3/449179037/539-Linkdump.html</link>
            <category>Admin</category>
            <category>Nerd</category>
    
    <comments>http://blog.256bit.org/archives/539-Linkdump.html#comments</comments>
    <wfw:comment>http://blog.256bit.org/wfwcomment.php?cid=539</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.256bit.org/rss.php?version=2.0&amp;type=comments&amp;cid=539</wfw:commentRss>
    

    <author>ms@256bit.org (mschoechlin)</author>
    <content:encoded><![CDATA[
    <br />
<ul><li><a href="http://blog.256bit.org/exit.php?url_id=2533&amp;entry_id=539" title="http://www.belcl.at/download/50iphone.pdf"  onmouseover="window.status='http://www.belcl.at/download/50iphone.pdf';return true;" onmouseout="window.status='';return true;">50 Gründe warum man sich kein iPhone zulegen soll</a><a href="http://blog.256bit.org/exit.php?url_id=2533&amp;entry_id=539" title="http://www.belcl.at/download/50iphone.pdf"  onmouseover="window.status='http://www.belcl.at/download/50iphone.pdf';return true;" onmouseout="window.status='';return true;">te</a><br />(Vergleich mit einem Windows Mobile MDA, ein Nokia Smartphone kommt aber auf das Gleiche raus)</li><li><a href="http://blog.256bit.org/exit.php?url_id=2534&amp;entry_id=539" title="https://www.mobical.net/mobical/startpage/"  onmouseover="window.status='https://www.mobical.net/mobical/startpage/';return true;" onmouseout="window.status='';return true;">Mobical</a><br />(fast beliebige Telefone via SyncML abgleichen)</li><li><a href="http://blog.256bit.org/exit.php?url_id=2535&amp;entry_id=539" title="http://www.manager-magazin.de/harvard/0,2828,581392,00.html"  onmouseover="window.status='http://www.manager-magazin.de/harvard/0,2828,581392,00.html';return true;" onmouseout="window.status='';return true;">Crackberries: Warum Pushmail Unternehmen lähmt</a><br />(Artikel aus dem Managermagazin)</li></ul><br />
 
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~f/256bitorgBlog?a=JvtKN"><img src="http://feeds.feedburner.com/~f/256bitorgBlog?i=JvtKN" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/256bitorgBlog/~4/449179037" height="1" width="1"/>]]></content:encoded>

    <pubDate>Tue, 11 Nov 2008 06:30:00 +0100</pubDate>
    <guid isPermaLink="false">http://blog.256bit.org/archives/539-guid.html</guid>
    
<feedburner:origLink>http://blog.256bit.org/archives/539-Linkdump.html</feedburner:origLink></item>
<item>
    <title>Caps Lock unter Windows und Linux umdefinieren</title>
    <link>http://feeds.feedburner.com/~r/256bitorgBlog/~3/448873682/543-Caps-Lock-unter-Windows-und-Linux-umdefinieren.html</link>
            <category>Nerd</category>
            <category>Tipps And Tricks</category>
    
    <comments>http://blog.256bit.org/archives/543-Caps-Lock-unter-Windows-und-Linux-umdefinieren.html#comments</comments>
    <wfw:comment>http://blog.256bit.org/wfwcomment.php?cid=543</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://blog.256bit.org/rss.php?version=2.0&amp;type=comments&amp;cid=543</wfw:commentRss>
    

    <author>cb@256bit.org (chrisbra)</author>
    <content:encoded><![CDATA[
    <h4>Compose Key mittels Xmodmap</h4><br />
Unter einem unixoidem Betriebssystem kann man Capslock für den X-Server entweder mittels xmodmap umbiegen oder mittels der XKBD-Extensions des X-Servers.<br />
Mittels xmodmap kann man so z.B. aus einer Caps-Lock Taste eine Compose-Key Taste machen:<br />
<div class="bash" style="text-align: left"><br />~$ cat &lt;&lt;EOF &gt;&gt;~/.xmodmap<br />clear Lock<br />! keycode über xset ablesen<br />keycode <span style="color: #cc66cc;">115</span> = Multi_key<br />EOF<br />~$ xmode ~/.xmodmap<br />&#160;</div><br />
Nun kann man mittels Compose_key o c das allseits beliebte Copyright Zeichen © erzeugen. Den Keycode erfährt man dabei mit xset.<br />
<br />
<h4>Compose Key mittels xkb-Extension</h4><br />
Selbiges kann man auch mittels der xkb-Extensions des X-Servers einstellen. Der Compose Key wird dabei in der Konfigurationsdatei des X-Servers /etc/X11/xorg.conf in der Section InputDevice definiert:<br />
<div class="bash" style="text-align: left"><br />~$ cat /etc/X11/xorg.conf<br /><span style="color: #66cc66;">&#91;</span>...<span style="color: #66cc66;">&#93;</span><br />Section <span style="color: #ff0000;">"InputDevice"</span> <br />&#160; &#160; Identifier&#160; <span style="color: #ff0000;">"Keyboard1"</span> <br />&#160; &#160; Driver&#160; &#160; &#160; <span style="color: #ff0000;">"kbd"</span> <br />&#160; &#160; Option <span style="color: #ff0000;">"XkbRules"</span>&#160; &#160;<span style="color: #ff0000;">"xorg"</span> <br />&#160; &#160; Option <span style="color: #ff0000;">"XkbModel"</span>&#160; &#160;<span style="color: #ff0000;">"pc105"</span> <br />&#160; &#160; Option <span style="color: #ff0000;">"XkbLayout"</span>&#160; <span style="color: #ff0000;">"de"</span> <br />&#160; &#160; Option <span style="color: #ff0000;">"XkbVariant"</span> <span style="color: #ff0000;">"nodeadkeys"</span> <br />&#160; &#160; Option <span style="color: #ff0000;">"XkbOptions"</span> <span style="color: #ff0000;">"compose:caps"</span> <br />EndSection <br /><span style="color: #66cc66;">&#91;</span>...<span style="color: #66cc66;">&#93;</span><br />&#160;</div><br />
<br />
Nach einem Neustart des X-Servers sollte dabei Compose auf der CapsLock Taste liegen.<br />
<br />
<h4>Compose Key auf der Konsole</h4><br />
Für die reine Textkonsole muß man mit den keycodes rumhantieren. Showkey zeigt einem dabei freundlicherweise den Keycode der Taste an. Hier ist keycode 125 = Caps Lock.<br />
Nun kann man eine eigene Map erzeugen, in dem man zum Beispiel die vorhandene unter /usr/share/keymaps/i386/de-latin1.kmap.gz die Zeile keycode 125 = Compose hinzufügt (Backup vorher nicht vergessen!).<br />
<br />
Man kann sich auch die Mechanismen von console-tools bzw. kbd zu Nutze machen. Beide Tools ermöglichen es einem, Keys zu remappen. Dies geschieht über /etc/kbd/remap bzw. /etc/console-tools/remap. Dabei handelt es sich um ein simples Sed-Script, dass die Ausgabe von dumpkeys ausgewertet wird und dann wieder an loadkeys übergeben wird. So kann man z.B. Caps Lock folgendermaßen auf Control umbiegen:<br />
<div class="bash" style="text-align: left"><br />s/keycode&#160; <span style="color: #cc66cc;">58</span> = Caps_Lock/keycode&#160; <span style="color: #cc66cc;">58</span> = Control/;<br />&#160;</div><br />
Möchte man etwas hinzufügen (z.B. ein die Belegung der Compose-Taste) so fügt man die folgende Zeile hinzu:<br />
<div class="bash" style="text-align: left"><br /><span style="color: #0000ff;">$a</span>\<br />keycode <span style="color: #cc66cc;">125</span> = Compose<br />&#160;</div><br />
Das heißt, dass am Ende der Ausgabe der Ausdruck "keycode 125 = Compose" hinzugefügt wird. Sed ist aber ein anderes Thema. Dazu mehr ein anderes Mal.<br />
<br />
Danach das entsprechende Script in /etc/init.d restarten (der Name hängt davon ab, ob kbd oder console-tools genutzt wurde, wahrscheinlich irgendwas wie *console*) und man kann mit compose ae æ erzeugen.<br />
<br />
<h4> Windows </h4><br />
Unter Windows wollte ich CapsLock zu einer Windows-Taste mappen, da ich keine Windows Taste besitze und ich die Windowstaste als Shortcut Taste für QuickOpen benutzen will.<br />
<br />
Über die Windows Registry kann man unter Windows so ziemlich jeden Key remappen, den man möchte, ohne irgendwelche absonderlichen Programme zu installieren. Die folgenden Zeilen remappen in Windows Capslock zur Windows Taste um:<br />
<div style="text-align: left"><br /><br />
Windows Registry Editor Version 5.00<br /><br />
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]<br /><br />
&quot;Scancode Map&quot;=hex:00,00,00,00,00,00,00,00,02,00,00,00,5B,E0,3A,00,00,00,00,00<br /><br />
</div><br />
(<a href="http://blog.256bit.org/exit.php?url_id=2524&amp;entry_id=543" title="http://www.256bit.org/~chrisbra/zeugs/keymap_capslock_lwindow.reg"  onmouseover="window.status='http://www.256bit.org/~chrisbra/zeugs/keymap_capslock_lwindow.reg';return true;" onmouseout="window.status='';return true;"  class="bb-url">hier zu downloaden</a>)<br />
<br />
Einen Rechtsklick auf die Datei und Installieren anklicken und die neue Keymap ist installiert. Aktiv wird sie erst, wenn man das System rebootet hat oder An- bzw. abgemeldet ist. Das hängt davon ab, ob man den Schlüssel in HKEY_LOCAL_MACHINE erstellt (global gültig, erfordert einen Restart) oder in HKEY_CURRENT_USER (gültig nur für den aktuell angemeldeten Benutzer, ein- und ausloggen sollte reichen).<br />
<br />
Der Scancode sieht abenteuerlich aus und definiert sich folgendermaßen:<br />
<br />
<ul class="bb-list-unordered"><li class="bb-listitem">zunächst kommen 8 zweistellige Paare von Nullen. Die müssen immer vorhanden sein.<br />
</li><br />
<li class="bb-listitem">die folgenden 4 zweistelligen Zahlen geben an, wieviele Keys gemapped werden sollen (02 für einen Key, 03 für 2 zu mappende Keys, und so weiter...)<br />
</li><br />
<li class="bb-listitem">die nächsten 2 zweistelligen Zahlen definieren, die neue Funktion der Taste (hier (5B E0 für die linke Windows Taste). <br />
</li><br />
<li class="bb-listitem">danach folgen 2 zweistellige Zahlen, die angeben, welche Taste umdefiniert wird (3A,00 für CapsLock)<br />
</li><br />
<li class="bb-listitem">(evtl. folgende Tastendefinitionen, je nach dem wieviele Tasten definiert werden sollen (siehe Punkt 2)<br />
</li><br />
<li class="bb-listitem">es folgen 4 zweistellige Nullen, die das Ende definieren<br />
</li><br />
</ul><br />
<br />
Die Codes der einzelnen Tasten lassen sich <a href="http://blog.256bit.org/exit.php?url_id=2525&amp;entry_id=543" title="http://www.usnetizen.com/fix_capslock.php"  onmouseover="window.status='http://www.usnetizen.com/fix_capslock.php';return true;" onmouseout="window.status='';return true;"  class="bb-url">hier</a> und <a href="http://blog.256bit.org/exit.php?url_id=2526&amp;entry_id=543" title="http://www.winfaq.de/faq_html/Content/tip1500/onlinefaq.php?h=tip1576.htm"  onmouseover="window.status='http://www.winfaq.de/faq_html/Content/tip1500/onlinefaq.php?h=tip1576.htm';return true;" onmouseout="window.status='';return true;"  class="bb-url">hier</a> ablesen.<br />
<br />
<h4>Linkdump</h4><br />
<br />
<ul class="bb-list-unordered"><li class="bb-listitem"><a href="http://blog.256bit.org/exit.php?url_id=2525&amp;entry_id=543" title="http://www.usnetizen.com/fix_capslock.php"  onmouseover="window.status='http://www.usnetizen.com/fix_capslock.php';return true;" onmouseout="window.status='';return true;"  class="bb-url">Remap the CapsLock Key or any Key in Windows XP, 2000, Vista and 2003</a><br />
</li><br />
<li class="bb-listitem"><a href="http://blog.256bit.org/exit.php?url_id=2528&amp;entry_id=543" title="http://www.rommelwood.de/~loh/capslock.html"  onmouseover="window.status='http://www.rommelwood.de/~loh/capslock.html';return true;" onmouseout="window.status='';return true;"  class="bb-url">CAPSLOCK unter Linux und Windows umfunktionieren</a><br />
</li><br />
<li class="bb-listitem"><a href="http://blog.256bit.org/exit.php?url_id=2529&amp;entry_id=543" title="http://www.winfaq.de/faq_html/Content/tip1500/onlinefaq.php?h=tip1575.htm"  onmouseover="window.status='http://www.winfaq.de/faq_html/Content/tip1500/onlinefaq.php?h=tip1575.htm';return true;" onmouseout="window.status='';return true;"  class="bb-url">Tasten mittels ScanCode umbelegen</a><br />
</li><br />
<li class="bb-listitem"><a href="http://blog.256bit.org/exit.php?url_id=2530&amp;entry_id=543" title="http://www.noah.org/wiki/CapsLock_Remap_Howto"  onmouseover="window.status='http://www.noah.org/wiki/CapsLock_Remap_Howto';return true;" onmouseout="window.status='';return true;"  class="bb-url">CapsLock Remap Howto</a><br />
</li><br />
<li class="bb-listitem"><a href="http://blog.256bit.org/exit.php?url_id=2531&amp;entry_id=543" title="http://www.in-ulm.de/~mascheck/X11/xmodmap.html"  onmouseover="window.status='http://www.in-ulm.de/~mascheck/X11/xmodmap.html';return true;" onmouseout="window.status='';return true;"  class="bb-url">Some hints about xmodmap(1) and the X11 keyboard model</a><br />
</li><br />
</ul> 
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~f/256bitorgBlog?a=87gxN"><img src="http://feeds.feedburner.com/~f/256bitorgBlog?i=87gxN" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/256bitorgBlog/~4/448873682" height="1" width="1"/>]]></content:encoded>

    <pubDate>Mon, 10 Nov 2008 23:02:00 +0100</pubDate>
    <guid isPermaLink="false">http://blog.256bit.org/archives/543-guid.html</guid>
    
<feedburner:origLink>http://blog.256bit.org/archives/543-Caps-Lock-unter-Windows-und-Linux-umdefinieren.html</feedburner:origLink></item>
<item>
    <title>QuickOpen</title>
    <link>http://feeds.feedburner.com/~r/256bitorgBlog/~3/448873684/541-QuickOpen.html</link>
            <category>Tipps And Tricks</category>
            <category>Windows</category>
    
    <comments>http://blog.256bit.org/archives/541-QuickOpen.html#comments</comments>
    <wfw:comment>http://blog.256bit.org/wfwcomment.php?cid=541</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.256bit.org/rss.php?version=2.0&amp;type=comments&amp;cid=541</wfw:commentRss>
    

    <author>cb@256bit.org (chrisbra)</author>
    <content:encoded><![CDATA[
    <h4>QuickOpen</h4><br />
Letztens hatte ich über <a href="http://blog.256bit.org/exit.php?url_id=2520&amp;entry_id=541" title="http://blog.256bit.org/archives/450-Launchy.html"  onmouseover="window.status='http://blog.256bit.org/archives/450-Launchy.html';return true;" onmouseout="window.status='';return true;"  class="bb-url">Launchy</a> geblogged. Das ist zwar ein hübsches Programm, aber im Alltag war es zu träge, bis die GUI da war und auf Eingaben reagierte. Also hab ich es bald wieder deinstalliert. <br />
Nun bin ich vor kurzem über <a href="http://blog.256bit.org/exit.php?url_id=2521&amp;entry_id=541" title="http://myprogramspace.blogspot.com/2008/01/quickopen-feature-open-file-or-folder.html"  onmouseover="window.status='http://myprogramspace.blogspot.com/2008/01/quickopen-feature-open-file-or-folder.html';return true;" onmouseout="window.status='';return true;"  class="bb-url">QuickOpen</a> gestolpert. Das ist ein simples Programm zum Schnellstarten von Anwendungen, was besonders schlank ist. Man definiert eine Tastenkombination (Default Win+Space) auf das das Programm reagiert und ein Eingabefenster anzeigt. In diesem Fenster gibt man nun vorher definierte Shortcuts ein und QuickOpen öffnet die gewünschte Applikation. (Zum Beispiel ex für Explorer). Das funktioniert zumindest momentan sehr zufriedenstellend. 
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~f/256bitorgBlog?a=w4WVN"><img src="http://feeds.feedburner.com/~f/256bitorgBlog?i=w4WVN" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/256bitorgBlog/~4/448873684" height="1" width="1"/>]]></content:encoded>

    <pubDate>Mon, 10 Nov 2008 22:59:08 +0100</pubDate>
    <guid isPermaLink="false">http://blog.256bit.org/archives/541-guid.html</guid>
    
<feedburner:origLink>http://blog.256bit.org/archives/541-QuickOpen.html</feedburner:origLink></item>
<item>
    <title>Cyrus und Sieve kaputt?</title>
    <link>http://feeds.feedburner.com/~r/256bitorgBlog/~3/436237761/540-Cyrus-und-Sieve-kaputt.html</link>
            <category>Admin</category>
            <category>Tipps And Tricks</category>
    
    <comments>http://blog.256bit.org/archives/540-Cyrus-und-Sieve-kaputt.html#comments</comments>
    <wfw:comment>http://blog.256bit.org/wfwcomment.php?cid=540</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.256bit.org/rss.php?version=2.0&amp;type=comments&amp;cid=540</wfw:commentRss>
    

    <author>cb@256bit.org (chrisbra)</author>
    <content:encoded><![CDATA[
    Diesen Artikel möchte ich für Google archivieren, nur falls mal wieder nach der beliebten Fehlermeldung:<br />
sieveshell "unable to connect to server" gegoogelt wird. (Google ist voll davon).<br />
<br />
Ich habe hier ein Etch-System, auf welchem seit Sarge ein <a href="http://blog.256bit.org/exit.php?url_id=2519&amp;entry_id=540" title="http://de.wikipedia.org/wiki/Cyrus_(Server)"  onmouseover="window.status='http://de.wikipedia.org/wiki/Cyrus_(Server)';return true;" onmouseout="window.status='';return true;">Cyrus IMAP Server</a> seine Dienste verrichtet. Und zwar klaglos ohne Probleme und völlig unauffällig. <a href="http://blog.256bit.org/exit.php?url_id=2517&amp;entry_id=540" title="http://de.wikipedia.org/wiki/Sieve"  onmouseover="window.status='http://de.wikipedia.org/wiki/Sieve';return true;" onmouseout="window.status='';return true;"  class="bb-url">Sieve</a> ist auch eingerichtet und funktioniert seitdem auch völlig problemlos. <br />
Bis ich gestern neue Regeln hinzufügen wollte. Traditionell mach ich das mittels sieveshell -u &lt;user&gt; localhost<br />
<br />
Die Anmeldung ging immer schief. Es war nicht möglich sich mit dem Sieve-Service zu verbinden. Was passierte war folgendes:<br />
<div class="bash" style="text-align: left"><br />cb@localhost:$ sieveshell -u cb localhost<br />connecting to localhost<br />unable to connect to server at /usr/bin/sieveshell line <span style="color: #cc66cc;">174</span>.<br />&#160;</div><br />
<br />
Der Service lief natürlich, wie man folgendermaßen sehen konnte:<br />
<div class="bash" style="text-align: left"><br />cb@localhost:~$ nc localhost sieve<br /><span style="color: #ff0000;">"IMPLEMENTATION"</span> <span style="color: #ff0000;">"Cyrus timsieved v2.1.18-IPv6-Debian-2.1.18-5.1"</span><br /><span style="color: #ff0000;">"SIEVE"</span> <span style="color: #ff0000;">"fileinto reject envelope vacation imapflags notify subaddress relational regex"</span><br />OK<br /><span style="color: #000066;">logout</span><br />OK <span style="color: #ff0000;">"Logout Complete"</span><br />&#160;</div><br />
<br />
Seltsam, seltsam. Es sah alles ok aus. Ein Blick in das Perl-Script sieveshell hat auch nicht weitergeholfen, das sah normal aus. Nach ewigem Suchen, fand ich dann diese Info in der Dokumentation:<br />
<blockquote><br />
 2. From your normal account, telnet to the sieve port on the server<br />
	you're setting up:<br />
<br />
       telnet foobar sieve<br />
<br />
	If your server is running, you'll get a message similar to the<br />
	following one:<br />
<br />
       Trying 128.2.10.192...<br />
       Connected to foobar.andrew.cmu.edu.<br />
       Escape character is '^]'.<br />
       "IMPLEMENTATION" "Cyrus timsieved v1.1.0"<br />
       "SASL" "ANONYMOUS PLAIN KERBEROS_V4 GSSAPI"<br />
       "SIEVE" "fileinto reject envelope vacation imapflags notify <br />
	   subaddress regex"<br />
       OK<br />
<br />
	Any message other than one similar to the one above means there is<br />
	a problem. Make sure all of authentication methods you wish to<br />
	support are listed. This list should be identical to the one<br />
	listed by "imapd" earlier. Next terminate the connection, by<br />
	typing "logout".<br />
</blockquote><br />
<br />
Wem fällt was auf?<br />
<br />
Richtig, die Zeile "SASL" "ANONYMOUS PLAIN KERBEROS_V4 GSSAPI" tauchte lokal überhaupt nicht auf. Das bedeutete, wenn ich das richtig interpretiere, dass es keine Möglichkeit gab sich gegenüber dem Server zu authentifizieren. Das ist ja erstmal verwunderlich, denn der normale IMAP Login funktionierte tadellos und in der Konfigurationsdatei gibt es nicht wirklich viele Einstellungen zum Thema Sieve. <br />
<br />
Irgendwann nachdem ich zunächst erfolglos mit den Anmelde- und <a href="http://blog.256bit.org/exit.php?url_id=2518&amp;entry_id=540" title="http://en.wikipedia.org/wiki/Simple_Authentication_and_Security_Layer"  onmouseover="window.status='http://en.wikipedia.org/wiki/Simple_Authentication_and_Security_Layer';return true;" onmouseout="window.status='';return true;"  class="bb-url">Sasl</a>optionen gespielt habe, fiel mir dann auf, dass das Paket libsasl2-modules nicht installiert war. Nachdem das nachgeholt war, funktionierte plötzlich auch der Sieve-Login wieder und die Telnet Ausgabe sah nun wie gewünscht aus:<br />
<div class="bash" style="text-align: left"><br />cb@localhost$ nc localhost sieve<br /><span style="color: #ff0000;">"IMPLEMENTATION"</span> <span style="color: #ff0000;">"Cyrus timsieved v2.1.18-IPv6-Debian-2.1.18-5.1"</span><br /><span style="color: #ff0000;">"SASL"</span> <span style="color: #ff0000;">"PLAIN NTLM LOGIN DIGEST-MD5 CRAM-MD5"</span><br /><span style="color: #ff0000;">"SIEVE"</span> <span style="color: #ff0000;">"fileinto reject envelope vacation imapflags notify subaddress relational regex"</span><br />OK<br /><span style="color: #000066;">logout</span><br />OK <span style="color: #ff0000;">"Logout Complete"</span><br />&#160;</div><br />
<br />
Ach und laßt Euch von der Fehlermeldung <br />
<em>timsieved: could not getenv(CYRUS_SERVICE); exiting</em><br />
nicht in die Irre führen. Diese kommt immer, wenn man versucht timsieved von Hand zu starten und nicht aus einem Cyrus-Prozess heraus. Diese Fehlermeldung hat mich nämlich auch ganz schön in die Irre geführt.<br />
<br />
Sehr subtiles kleines Problem. Und ich verstehe aktuell immernoch nicht, warum man sich am IMAP-Server anmelden konnte, aber nicht bei Sieve.  
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~f/256bitorgBlog?a=1xeRM"><img src="http://feeds.feedburner.com/~f/256bitorgBlog?i=1xeRM" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/256bitorgBlog/~4/436237761" height="1" width="1"/>]]></content:encoded>

    <pubDate>Wed, 29 Oct 2008 21:46:51 +0100</pubDate>
    <guid isPermaLink="false">http://blog.256bit.org/archives/540-guid.html</guid>
    
<feedburner:origLink>http://blog.256bit.org/archives/540-Cyrus-und-Sieve-kaputt.html</feedburner:origLink></item>
<item>
    <title>Abmahnwelle die nächste? - "Subscribe to Comments" deaktiviert.</title>
    <link>http://feeds.feedburner.com/~r/256bitorgBlog/~3/426591891/537-Abmahnwelle-die-naechste-Subscribe-to-Comments-deaktiviert..html</link>
            <category>Admin</category>
    
    <comments>http://blog.256bit.org/archives/537-Abmahnwelle-die-naechste-Subscribe-to-Comments-deaktiviert..html#comments</comments>
    <wfw:comment>http://blog.256bit.org/wfwcomment.php?cid=537</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.256bit.org/rss.php?version=2.0&amp;type=comments&amp;cid=537</wfw:commentRss>
    

    <author>cb@256bit.org (chrisbra)</author>
    <content:encoded><![CDATA[
    Aus <a href="http://blog.256bit.org/exit.php?url_id=2512&amp;entry_id=537" title="http://blog.brockha.us/index.php?/archives/357-Abmahnung-Subscribe-to-Comments.html"  onmouseover="window.status='http://blog.brockha.us/index.php?/archives/357-Abmahnung-Subscribe-to-Comments.html';return true;" onmouseout="window.status='';return true;"  class="bb-url">gegebenem Anlass</a> hab ich die Funktion "Subscribe to Comments" erstmal deaktiviert. <br />
<br />
Wird vielleicht wieder aktiviert, wenn Serendipity 1.4 rauskommt und ich nicht vergesse, es einzuschalten.<br />
<br />
via <a href="http://blog.256bit.org/exit.php?url_id=2516&amp;entry_id=537" title="http://www.strcat.de/blog/archives/1273-Subscribe-to-Comments-deaktiviert.html"  onmouseover="window.status='http://www.strcat.de/blog/archives/1273-Subscribe-to-Comments-deaktiviert.html';return true;" onmouseout="window.status='';return true;"  class="bb-url">strcat</a>, <a href="http://blog.256bit.org/exit.php?url_id=2514&amp;entry_id=537" title="http://blog.koehntopp.de/archives/2246-Abmahnspass-mit-S9Y.html"  onmouseover="window.status='http://blog.koehntopp.de/archives/2246-Abmahnspass-mit-S9Y.html';return true;" onmouseout="window.status='';return true;"  class="bb-url">kris</a>, <a href="http://blog.256bit.org/exit.php?url_id=2515&amp;entry_id=537" title="http://blog.zugschlus.de/archives/767-Es-hat-sich-ausabonniert.html"  onmouseover="window.status='http://blog.zugschlus.de/archives/767-Es-hat-sich-ausabonniert.html';return true;" onmouseout="window.status='';return true;"  class="bb-url">zugschlus</a> und alle anderen Blogs, die ich vergessen habe zu erwähnen... 
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~f/256bitorgBlog?a=8uI8M"><img src="http://feeds.feedburner.com/~f/256bitorgBlog?i=8uI8M" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/256bitorgBlog/~4/426591891" height="1" width="1"/>]]></content:encoded>

    <pubDate>Mon, 20 Oct 2008 18:39:21 +0200</pubDate>
    <guid isPermaLink="false">http://blog.256bit.org/archives/537-guid.html</guid>
    
<feedburner:origLink>http://blog.256bit.org/archives/537-Abmahnwelle-die-naechste-Subscribe-to-Comments-deaktiviert..html</feedburner:origLink></item>
<item>
    <title>Andreas Eschbach: "Das Jesus Video"</title>
    <link>http://feeds.feedburner.com/~r/256bitorgBlog/~3/422876843/536-Andreas-Eschbach-Das-Jesus-Video.html</link>
            <category>Literatur</category>
    
    <comments>http://blog.256bit.org/archives/536-Andreas-Eschbach-Das-Jesus-Video.html#comments</comments>
    <wfw:comment>http://blog.256bit.org/wfwcomment.php?cid=536</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://blog.256bit.org/rss.php?version=2.0&amp;type=comments&amp;cid=536</wfw:commentRss>
    

    <author>cb@256bit.org (chrisbra)</author>
    <content:encoded><![CDATA[
    <div class="serendipity_imageComment_left" style="width: 158px"><div class="serendipity_imageComment_img"><a class='serendipity_image_link' href="http://blog.256bit.org/exit.php?url=aHR0cDovL3d3dy5hbWF6b24uZGUvRGFzLUplc3VzLVZpZGVvLUFuZHJlYXMtRXNjaGJhY2gvZHAvMzQyNjYzMjM5WC9yZWY9c3JfMV8xP2llPVVURjgmcz1ib29rcyZxaWQ9MTIyNDE3NjgxMSZzcj04LTE=&amp;entry_id=536" title="http://www.amazon.de/Das-Jesus-Video-Andreas-Eschbach/dp/342663239X/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1224176811&amp;sr=8-1"  onmouseover="window.status='http://www.amazon.de/Das-Jesus-Video-Andreas-Eschbach/dp/342663239X/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1224176811&amp;sr=8-1';return true;" onmouseout="window.status='';return true;"><!-- s9ymdb:235 --><img class="serendipity_image_left" width="158" height="240" src="http://blog.256bit.org/uploads/video.jpg" alt=""  /></a></div><div class="serendipity_imageComment_txt">Link zu Amazon</div></div><br />
Das Jesus Video ist das aktuell letzte Buch, dass ich von Andreas Eschbach gelesen habe. Es gehört in die Kategorie Thriller/Science-Fiction und die Storyline faszinierte mich. <br />
<br />
Da wird in Isreal in einem 2000 Jahre alten Grab die Gebrauchsanleitung einer Kamera gefunden, die erst in 3 Jahren der Öffentlichkeit vorgestellt wird. Daraufhin entwickelt sich eine Suche nach der Kamera und dem Rätsel des Zeitreisens. <br />
<br />
Anfangs fand ich den Roman relativ gut, jeder Charakter wird gut beschrieben und sein Wesen sehr bildlich dargestellt. Diese Darstellung verflacht aber leider im Laufe des Romans und die Handlung wird mehr oder weniger vorhersehbar.<br />
<br />
Der Schluß ist leider ziemlich enttäuschend, da wird eine konstante Spannung über 500 Seiten aufgebaut, doch das ganze Rätsel bereits 50 Seiten vor dem Ende gelöst. Danach ist die Spannung hin und ich mußte mich geradezu dazu quälen, die restlichen 50 Seiten zu lesen.<br />
<br />
Fazit: Als Roman zwischendurch relativ spannend, aber nicht überragend.<br />
<br />
In letzter Zeit ärger ich mich immer mehr über diese Thriller, deren Handlung letztendlich doch immer wieder vorhersehbar ist. In nächster Zeit werde ich solche Bücher nicht mehr lesen. 
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~f/256bitorgBlog?a=n0WtM"><img src="http://feeds.feedburner.com/~f/256bitorgBlog?i=n0WtM" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/256bitorgBlog/~4/422876843" height="1" width="1"/>]]></content:encoded>

    <pubDate>Thu, 16 Oct 2008 19:10:44 +0200</pubDate>
    <guid isPermaLink="false">http://blog.256bit.org/archives/536-guid.html</guid>
    
<feedburner:origLink>http://blog.256bit.org/archives/536-Andreas-Eschbach-Das-Jesus-Video.html</feedburner:origLink></item>
<item>
    <title>Der ESP Package Manager: Pakete für unterschiedliche Distributionen erstellen.</title>
    <link>http://feeds.feedburner.com/~r/256bitorgBlog/~3/421989080/535-Der-ESP-Package-Manager-Pakete-fuer-unterschiedliche-Distributionen-erstellen..html</link>
            <category>Tipps And Tricks</category>
    
    <comments>http://blog.256bit.org/archives/535-Der-ESP-Package-Manager-Pakete-fuer-unterschiedliche-Distributionen-erstellen..html#comments</comments>
    <wfw:comment>http://blog.256bit.org/wfwcomment.php?cid=535</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.256bit.org/rss.php?version=2.0&amp;type=comments&amp;cid=535</wfw:commentRss>
    

    <author>cb@256bit.org (chrisbra)</author>
    <content:encoded><![CDATA[
    Mit dem <a href="http://blog.256bit.org/exit.php?url_id=2508&amp;entry_id=535" title="http://www.epmhome.org/"  onmouseover="window.status='http://www.epmhome.org/';return true;" onmouseout="window.status='';return true;"  class="bb-url">ESP Package Manager</a> kann man für seine eigene Software simpel Pakete für seine bevorzugte Linux Distribution erstellen. EPM unterstüzt die beiden verbreitesten Paketarten unter Linux rpm und deb, sowie einen ganzen Haufen anderer Formate (AIX, Solaris MacOS X,...) und einem portablen Format mit Hilfe eines Tar-Archivs.<br />
<br />
Außerdem kann EPM Abhängigkeiten (incompat,  provides, replaces, requires) verwalten und abhängig vom verwendeten Package-format auch benutzen.<br />
<br />
Der Vorteil darin ist, man kann sehr simpel ein Paket beschreiben und daraus dann verschiedene Paketformate generieren.<br />
<br />
Man wechselt man in sein Quellverzeichnis und legt eine Listdatei an, die die Metainformationen enthält:<br />
<div class="bash" style="text-align: left"><br />~/foobar$ cat foobar.list<br /><span style="color: #808080; font-style: italic;"># Metainformationen</span><br />%product foobar<br />%copyright <span style="color: #cc66cc;">2008</span> &lt;your name&gt;<br />%vendor John Doe<br />%license COPYING<br />%readme README<br />%description foobar script to <span style="color: #b1b100;">do</span> some very basic stuff.<br />%version <span style="color: #cc66cc;">0</span>.<span style="color: #cc66cc;">4</span><br /><span style="color: #808080; font-style: italic;"># Installationsdaten</span><br />f <span style="color: #cc66cc;">755</span> root root /usr/bin/foobar foobar<br />d <span style="color: #cc66cc;">755</span> root root /usr/share/doc/foobar -<br />f <span style="color: #cc66cc;">444</span> root root /usr/share/doc/foobar/README README<br />&#160;</div><br />
Im Kopf müssen zunächst die folgenden Metainformationen definiert werden:<br />
Produktname, Copyright Information, Hersteller, Lizenzdatei, README Datei, Kurzbeschreibung und Versionsnummer<br />
<br />
Danach folgt, was mit den Quelldateien gemacht werden soll. Der Aufbau folgt dem folgenden Schema:<br />
<em>Typ</em> <em>Mode</em> <em>Owner</em> <em>Group</em> <em>Ziel</em> <em>Quelle</em> <em>Optionen</em><br />
Typ kann z.B. sein Datei (f), Directory (d), Konfigurationsdatei (c), Softlink (l), Init-Script (i)<br />
<br />
Im Beispiel oben wird also die Datei foobar nach /usr/bin kopiert mit den Rechten 755 und als root:root.<br />
Danach wird noch das Verzeichnis /usr/share/doc angelegt und die README Datei dorthin kopiert.<br />
<br />
Wenn man dies alles definiert hat, kann man sich ein Paket generieren lassen.<div class="bash" style="text-align: left"><br />~/foobar$ epm -f portable foobar<br />&#160;</div><br />
Es wurde ein Paket im portablen Format erstellt, mit dem Namen foobar.<br />
Jetzt wurde im Unterverzeichnis <em>OS-Architecture</em>(linux-2.6-intell) ein tar.gz Archiv erstellt. Das kann man entpacken und dann das vorhandene Script foobar.install zum Installieren verwenden und foobar.remove zum deinstallieren.<br />
<div class="bash" style="text-align: left"><br /><span style="color: #000066;">cd</span> linux-<span style="color: #cc66cc;">2</span>.<span style="color: #cc66cc;">6</span>-intel/<br />~/foobar/linux-<span style="color: #cc66cc;">2</span>.<span style="color: #cc66cc;">6</span>-intel$ tar -xf foobar-<span style="color: #cc66cc;">0</span>.<span style="color: #cc66cc;">4</span>-linux-<span style="color: #cc66cc;">2</span>.<span style="color: #cc66cc;">6</span>-intel.tar.gz<br />~/foobar/linux-<span style="color: #cc66cc;">2</span>.<span style="color: #cc66cc;">6</span>-intel$ ls<br />foobar-<span style="color: #cc66cc;">0</span>.<span style="color: #cc66cc;">4</span>-linux-<span style="color: #cc66cc;">2</span>.<span style="color: #cc66cc;">6</span>-intel.tar.gz<br />foobar.license<br />foobar.remove<br />foobar.sw<br />foobar.install<br />foobar.readme<br />foobar.ss<br />&#160;</div><br />
<br />
Oder ein Debian-Paket erstellen?<br />
<div class="bash" style="text-align: left"><br />~/foobar$ epm -f deb foobar<br />epm: Warning - file permissions and ownership may not be correct<br />&#160; &#160; &#160;<span style="color: #b1b100;">in</span> Debian packages unless you run EPM as root!<br />~/foobar$ ls linux-<span style="color: #cc66cc;">2</span>.<span style="color: #cc66cc;">6</span>-intel/<br />foobar-<span style="color: #cc66cc;">0</span>.<span style="color: #cc66cc;">4</span>-linux-<span style="color: #cc66cc;">2</span>.<span style="color: #cc66cc;">6</span>-intel.deb<br />&#160;</div><br />
<br />
Oder rpm?<br />
<div class="bash" style="text-align: left"><br />~/foobar$ epm -f rpm foobar<br />~/foobar$ ls linux-<span style="color: #cc66cc;">2</span>.<span style="color: #cc66cc;">6</span>-intel/<br />foobar-<span style="color: #cc66cc;">0</span>.<span style="color: #cc66cc;">4</span>-linux-<span style="color: #cc66cc;">2</span>.<span style="color: #cc66cc;">6</span>-intel.rpm<br />&#160;</div><br />
<br />
Wie man sieht, muß man Debian Pakete als root generieren, sonst stimmen die Rechte später nicht. Man kann natürlich nur die Pakete installieren, wenn man die passenden Werkzeuge hat. So funktioniert z.B. out of the Box auf der Debian Kiste nicht:<br />
<div class="bash" style="text-align: left"><br />~/foobar$ epm -f bsd foobar<br />Packaging failed!<br />&#160;</div><br />
<br />
Aber trotzdem eine echt lockere Art, Pakete für unterschiedliche Distributionen zu erstellen.<br />
<br />
Mehr Informationen gibt es auf der <a href="http://blog.256bit.org/exit.php?url_id=2508&amp;entry_id=535" title="http://www.epmhome.org/"  onmouseover="window.status='http://www.epmhome.org/';return true;" onmouseout="window.status='';return true;"  class="bb-url">Projektseite</a>, z.B. das <a href="http://blog.256bit.org/exit.php?url_id=2510&amp;entry_id=535" title="http://www.epmhome.org/epm-book.html#FIGURE_3_1"  onmouseover="window.status='http://www.epmhome.org/epm-book.html#FIGURE_3_1';return true;" onmouseout="window.status='';return true;"  class="bb-url">EPM Buch</a> 
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~f/256bitorgBlog?a=0zkbM"><img src="http://feeds.feedburner.com/~f/256bitorgBlog?i=0zkbM" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/256bitorgBlog/~4/421989080" height="1" width="1"/>]]></content:encoded>

    <pubDate>Wed, 15 Oct 2008 23:38:21 +0200</pubDate>
    <guid isPermaLink="false">http://blog.256bit.org/archives/535-guid.html</guid>
    
<feedburner:origLink>http://blog.256bit.org/archives/535-Der-ESP-Package-Manager-Pakete-fuer-unterschiedliche-Distributionen-erstellen..html</feedburner:origLink></item>
<item>
    <title>Ein Rettungspaket für Deutsche Banken</title>
    <link>http://feeds.feedburner.com/~r/256bitorgBlog/~3/420786365/534-Ein-Rettungspaket-fuer-Deutsche-Banken.html</link>
            <category>misc</category>
    
    <comments>http://blog.256bit.org/archives/534-Ein-Rettungspaket-fuer-Deutsche-Banken.html#comments</comments>
    <wfw:comment>http://blog.256bit.org/wfwcomment.php?cid=534</wfw:comment>

    <slash:comments>3</slash:comments>
    <wfw:commentRss>http://blog.256bit.org/rss.php?version=2.0&amp;type=comments&amp;cid=534</wfw:commentRss>
    

    <author>cb@256bit.org (chrisbra)</author>
    <content:encoded><![CDATA[
    Nun ist als auch die Bundesregierung auf den Zug aufgesprungen und wirft den Banken noch Geld hinterher. Von 480 bis 500 Milliarden Euro ist die <a href="http://blog.256bit.org/exit.php?url_id=2504&amp;entry_id=534" title="http://www.spiegel.de/wirtschaft/0,1518,584114,00.html"  onmouseover="window.status='http://www.spiegel.de/wirtschaft/0,1518,584114,00.html';return true;" onmouseout="window.status='';return true;"  class="bb-url">Rede</a>. <br />
<br />
Das sind so unglaublich große Zahlen, dass kann man sich gar nicht vorstellen. Umgerechnet auf die Einwohner Deutschlands heißt das, jeder Einwohner egal ob Kleinkind oder Rentner beteiligt sich mit 6000 Euro. Jeder Einzelne!<br />
<br />
Zum Vergleich:<br />
<ul class="bb-list-unordered"><li class="bb-listitem">Eine <a href="http://blog.256bit.org/exit.php?url_id=2505&amp;entry_id=534" title="http://www.honda.de/content/motorraeder/modelle_cbf600_daten.php"  onmouseover="window.status='http://www.honda.de/content/motorraeder/modelle_cbf600_daten.php';return true;" onmouseout="window.status='';return true;"  class="bb-url">Honda CBF 600 für jeden Einzelnen (ab 6440)</a><br />
</li><br />
<li class="bb-listitem">Das entspricht fast einem neuen Dacia Logan (ab 7500 ).<br />
</li><br />
<li class="bb-listitem">Der gesamte Bundeshaushalt 2008 enthält <a href="http://blog.256bit.org/exit.php?url_id=2506&amp;entry_id=534" title="http://www.bundesfinanzministerium.de/bundeshaushalt2008/pdf/vorsp/vsp_j.pdf"  onmouseover="window.status='http://www.bundesfinanzministerium.de/bundeshaushalt2008/pdf/vorsp/vsp_j.pdf';return true;" onmouseout="window.status='';return true;"  class="bb-url">Einnahmen über 283 Milliarden Euro</a> (also fast der Haushalt zweier Jahre! Haushalt 2007: 270 Milliarden)<br />
</li><br />
<li class="bb-listitem">Das Bruttoinlandsprodukt von <a href="http://blog.256bit.org/exit.php?url_id=2507&amp;entry_id=534" title="http://de.wikipedia.org/wiki/Liste_der_L%C3%A4nder_nach_Bruttoinlandsprodukt"  onmouseover="window.status='http://de.wikipedia.org/wiki/Liste_der_L%C3%A4nder_nach_Bruttoinlandsprodukt';return true;" onmouseout="window.status='';return true;"  class="bb-url">Schweden betrug 2007 455 Milliarden </a><br />
</li><br />
</ul><br />
<br />
Ich schätze, für das Geld hätte man auch was sinnvolles machen können. Bekämpfung der Armut oder des Hungers. Oder Bekämpfung der Umweltzerstörung.<br />
<br />
Krass! 
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~f/256bitorgBlog?a=gV5NM"><img src="http://feeds.feedburner.com/~f/256bitorgBlog?i=gV5NM" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/256bitorgBlog/~4/420786365" height="1" width="1"/>]]></content:encoded>

    <pubDate>Tue, 14 Oct 2008 18:33:20 +0200</pubDate>
    <guid isPermaLink="false">http://blog.256bit.org/archives/534-guid.html</guid>
    
<feedburner:origLink>http://blog.256bit.org/archives/534-Ein-Rettungspaket-fuer-Deutsche-Banken.html</feedburner:origLink></item>
<item>
    <title>De-Mail - Ist denn schon wieder 1. April?</title>
    <link>http://feeds.feedburner.com/~r/256bitorgBlog/~3/417999214/533-De-Mail-Ist-denn-schon-wieder-1.-April.html</link>
            <category>Internet</category>
    
    <comments>http://blog.256bit.org/archives/533-De-Mail-Ist-denn-schon-wieder-1.-April.html#comments</comments>
    <wfw:comment>http://blog.256bit.org/wfwcomment.php?cid=533</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://blog.256bit.org/rss.php?version=2.0&amp;type=comments&amp;cid=533</wfw:commentRss>
    

    <author>cb@256bit.org (chrisbra)</author>
    <content:encoded><![CDATA[
    Der Lacher der Woche:<br />
<br />
Ausgerechnet Wolfgang - Was ist Privatsphäre? - Schäuble fordert einen sicheren E-Mail Account für uns Bürger. Schäuble sorgt sich wohl um die "Vertraulichkeit der Kommunikation". Ja genau der Schäuble, der sich für den Bundestrojaner und die Vorratsdatenspeicherung einsetzt.<br />
<br />
Aber wartet, es kommt noch besser:<br />
Aufsetzen soll das Ganze wohl ausgerechnet T-System, Tochter der Deutschen Telekom. Die wissen ja aus erster Hand, wie man mit den Daten seiner Kunden umgeht.<br />
<br />
Die kommen mit ihrer Idee ja genau zur richtigen Zeit. Da haben sich ja zwei gleiche Partner gefunden.<br />
<br />
Hahaha, ich lach mich kaputt. Wie blöde kann man eigentlich sein, um ausgerechnet denen seine persönlichen Daten anzuvertrauen? Für wie blöde hält die Regierung eigentlich seine Bürger?<br />
<br />
via<br />
<a href="http://blog.256bit.org/exit.php?url_id=2500&amp;entry_id=533" title="http://blog.netplanet.org/2008/10/09/de-mail-fur-wie-bescheuert"  onmouseover="window.status='http://blog.netplanet.org/2008/10/09/de-mail-fur-wie-bescheuert';return true;" onmouseout="window.status='';return true;"  class="bb-url">netplanet</a>, <a href="http://blog.256bit.org/exit.php?url_id=2501&amp;entry_id=533" title="http://www.golem.de/0810/62846.html"  onmouseover="window.status='http://www.golem.de/0810/62846.html';return true;" onmouseout="window.status='';return true;"  class="bb-url">golem</a>, <a href="http://blog.256bit.org/exit.php?url_id=2502&amp;entry_id=533" title="http://www.lawblog.de/index.php/archives/2008/10/09/de-mail-nur-der-staat-liest-mit/"  onmouseover="window.status='http://www.lawblog.de/index.php/archives/2008/10/09/de-mail-nur-der-staat-liest-mit/';return true;" onmouseout="window.status='';return true;"  class="bb-url">lawblog</a> und <a href="http://blog.256bit.org/exit.php?url_id=2503&amp;entry_id=533" title="http://www.ftd.de/politik/deutschland/:Finanzierung-unklar-Heftige-Kritik-an-Bundes-E-Mail/423841.html"  onmouseover="window.status='http://www.ftd.de/politik/deutschland/:Finanzierung-unklar-Heftige-Kritik-an-Bundes-E-Mail/423841.html';return true;" onmouseout="window.status='';return true;"  class="bb-url">Financial Times Deutschland</a> 
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~f/256bitorgBlog?a=hXKnM"><img src="http://feeds.feedburner.com/~f/256bitorgBlog?i=hXKnM" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/256bitorgBlog/~4/417999214" height="1" width="1"/>]]></content:encoded>

    <pubDate>Sat, 11 Oct 2008 21:00:03 +0200</pubDate>
    <guid isPermaLink="false">http://blog.256bit.org/archives/533-guid.html</guid>
    
<feedburner:origLink>http://blog.256bit.org/archives/533-De-Mail-Ist-denn-schon-wieder-1.-April.html</feedburner:origLink></item>
<item>
    <title>dvtm: Ein Windowmanager für die Konsole</title>
    <link>http://feeds.feedburner.com/~r/256bitorgBlog/~3/416147795/532-dvtm-Ein-Windowmanager-fuer-die-Konsole.html</link>
            <category>Nerd</category>
            <category>opensource</category>
            <category>Tipps And Tricks</category>
    
    <comments>http://blog.256bit.org/archives/532-dvtm-Ein-Windowmanager-fuer-die-Konsole.html#comments</comments>
    <wfw:comment>http://blog.256bit.org/wfwcomment.php?cid=532</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.256bit.org/rss.php?version=2.0&amp;type=comments&amp;cid=532</wfw:commentRss>
    

    <author>cb@256bit.org (chrisbra)</author>
    <content:encoded><![CDATA[
    Der <a href="http://blog.256bit.org/exit.php?url_id=2498&amp;entry_id=532" title="http://www.brain-dump.org/projects/dvtm/"  onmouseover="window.status='http://www.brain-dump.org/projects/dvtm/';return true;" onmouseout="window.status='';return true;"  class="bb-url">dynamic virtual terminal manager (dvtm)</a> ist sowas wie der kleine Bruder von <a href="http://blog.256bit.org/exit.php?url_id=2499&amp;entry_id=532" title="http://www.gnu.org/software/screen/"  onmouseover="window.status='http://www.gnu.org/software/screen/';return true;" onmouseout="window.status='';return true;"  class="bb-url">screen</a>. Es dient einzig der Anordnung von Shells innerhalb eines Fensters. Trotz seiner offensichtlich begrenzten Funktion beherrscht es diese Funktionalität sehr gut und ist damit vielseitiger als screen.<br />
<br />
Die Konfiguration ist eigentlich nicht vorhanden. Falls man doch etwas ändern will, muß man den Source anpassen.<br />
<br />
Also los gehts:<br />
Starten:<br />
~$ dvtm<br />
<!-- s9ymdb:229 --><img class="serendipity_image_left" width="666" height="411" style="border: 0px; padding-left: 5px; padding-right: 5px;" src="http://blog.256bit.org/uploads/dvtm.jpg" alt=""  /><br />
Oben befindest sich eine Statusleiste, in der zusätzliche Informationen angezeigt werden können. Dazu später mehr. #1 ist das erste Fenster.<br />
<br />
Kontrollieren kann man dvtm per default mit der Tastenkombination Ctrl-G und diverse andere Tasten. Nutzer von screen wird die Bedienung gleich bekannt vorkommen. Ein neues Fenster öffnet man mit <br />
Ctrl-g c (Das heißt zuerst Drücken von Control und g, danach drücken von "c"). Hier mal zusätzlich eine Vim-Session geöffnet:<br />
<!-- s9ymdb:233 --><img class="serendipity_image_left" width="665" height="412" style="border: 0px; padding-left: 5px; padding-right: 5px;" src="http://blog.256bit.org/uploads/dvtm_split.jpg" alt=""  /><br />
<br />
Hier sieht man wieder das Fenster 1 und Fenster 2, sowie oben die Statusleiste. Das aktive Fenster ist das mit dem roten Rahmen. Umschalten zwischen den verschiedenen Layouts, in diesem Fall von einer horizontalen Ausrichtung der Fenster in ein vertikale Ausrichtung: Ctrl-g + Leertaste<br />
<!-- s9ymdb:234 --><img class="serendipity_image_left" width="665" height="411" style="border: 0px; padding-left: 5px; padding-right: 5px;" src="http://blog.256bit.org/uploads/dvtm_split_v.jpg" alt=""  /><br />
Weitere Drücken von Ctrl-g + Leertaste maximiert das aktuelle Fenster und wenn man diese Tastenkombination noch einmal drückt, sieht man wieder die erste Ansicht.<br />
<br />
Ein drittes Fenster hinzufügen und die Ausrichtung so angepasst, dass das neue Fenster oben die gesamte Breite einnimmt und die untere Hälfte von den ersten beiden Fenstern genutzt wird: Ctrl-g c, Ctrl-g Leertaste, Ctrl-g Leertaste<br />
<!-- s9ymdb:230 --><img class="serendipity_image_left" width="666" height="411" style="border: 0px; padding-left: 5px; padding-right: 5px;" src="http://blog.256bit.org/uploads/dvtm_layout.jpg" alt=""  /><br />
<br />
Zu Fenster 1 springen (Ctrl-g 1) und dann dieses Fenster maximieren: Ctrl-g m<br />
<!-- s9ymdb:231 --><img class="serendipity_image_left" width="665" height="411" style="border: 0px; padding-left: 5px; padding-right: 5px;" src="http://blog.256bit.org/uploads/dvtm_max.jpg" alt=""  /><br />
Zu Fenster 3 könnte man dann mittels Ctrl-g 3 springen, Fenster 7 entsprechend Ctrl-g 7, ...<br />
<br />
Im Gegensatz zu dieser Ansicht, kann man auch einfach die anderen Fenster minimieren. Dazu springt man zu Fenster 2 (Ctrl-g 2) und minimiert dieses Fenster mittels Ctrl-g . (Punkt). Danach zu Fenster 3 springen und dieses Fenster minimieren (Ctrl-g 3, Ctrl-g .)<br />
<!-- s9ymdb:232 --><img class="serendipity_image_left" width="667" height="412" style="border: 0px; padding-left: 5px; padding-right: 5px;" src="http://blog.256bit.org/uploads/dvtm_max_v.jpg" alt=""  /><br />
<br />
Weitere nützliche Tastenkombinationen:<br />
Ctrl-g Enter das aktuelle Fenster in die Master-Area (=Fenter 1) verschieben bzw mit der Master-Area vertauschen.<br />
Ctrl-g j   nächstes Fenster fokussieren<br />
Ctrl-g k  vorheriges Fenster fokussieren<br />
Ctrl-g l   aktuelles Fenster vergrößern<br />
Ctrl-g h  aktuelles Fenster verkleinern<br />
Ctrl-g s  Statusbar ein-/ausschalten<br />
Ctrl-g q  dvtm beenden<br />
Ctrl-g x  beende das aktuelle Fenster<br />
Ctrl-g b/t Zu <b>b</b>ottom bzw. <b>t</b>op stack tiling Layout wechseln<br />
Ctrl-g g  ins Grid-Layout wechseln<br />
<br />
Weitere nützliche Shortcuts stehen natürlich in der Manpage.<br />
<br />
Was in der Statusleiste angezeigt wird, kann man über einen fifo steuern. dvtm liegt ein Beispiel-Script dvtm-status bei, woran man sehen kann, wie die Statusleiste konfiguriert werden kann. Für die Beispiele wurde das folgende leicht abgeänderte Script genutzt:<div class="bash" style="text-align: left"><br /><span style="color: #808080; font-style: italic;">#!/bin/bash</span><br /><span style="color: #0000ff;">FIFO=</span><span style="color: #ff0000;">"/tmp/dvtm-status.$$"</span><br /><span style="color: #66cc66;">&#91;</span> -e <span style="color: #ff0000;">"$FIFO"</span> <span style="color: #66cc66;">&#93;</span> || mkfifo <span style="color: #ff0000;">"$FIFO"</span><br />chmod <span style="color: #cc66cc;">600</span> <span style="color: #0000ff;">$FIFO</span><br /><span style="color: #b1b100;">while</span> true; <span style="color: #b1b100;">do</span><br />&#160; &#160; &#160; &#160; <span style="color: #0000ff;">a=</span>`date <span style="color: #ff0000;">'+%d.%m.%Y %H:%M'</span>`<br />&#160; &#160; &#160; &#160; <span style="color: #0000ff;">b=</span>`hostname`<br />&#160; &#160; &#160; &#160; <span style="color: #0000ff;">c=</span>`uptime | sed -e <span style="color: #ff0000;">'s/^.*<span style="color: #000099; font-weight: bold;">\\</span>(load<span style="color: #000099; font-weight: bold;">\\</span>) average/<span style="color: #000099; font-weight: bold;">\\</span>1/'</span> -e <span style="color: #ff0000;">'s/, */|/g'</span>`<br />&#160; &#160; &#160; &#160; <span style="color: #000066;">printf</span> <span style="color: #ff0000;">"%s&#160; &#160; %s&#160; &#160; %s"</span> <span style="color: #ff0000;">"$a"</span> <span style="color: #ff0000;">"$b"</span> <span style="color: #ff0000;">"$c"</span><br />&#160; &#160; &#160; &#160; sleep <span style="color: #cc66cc;">10</span><br /><span style="color: #b1b100;">done</span> &gt; <span style="color: #0000ff;">$FIFO</span> &amp;<br /><span style="color: #0000ff;">STATUS_PID=</span>$!<br /><span style="color: #000066;">export</span> <span style="color: #0000ff;">ESCDELAY=</span><span style="color: #cc66cc;">25</span><br />dvtm -s <span style="color: #0000ff;">$FIFO</span> <span style="color: #ff0000;">"$@"</span> <span style="color: #cc66cc;">2</span>&gt; /dev/null<br /><span style="color: #000066;">kill</span> <span style="color: #0000ff;">$STATUS_PID</span><br />rm <span style="color: #0000ff;">$FIFO</span><br />&#160;</div> 
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~f/256bitorgBlog?a=OXUVM"><img src="http://feeds.feedburner.com/~f/256bitorgBlog?i=OXUVM" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/256bitorgBlog/~4/416147795" height="1" width="1"/>]]></content:encoded>

    <pubDate>Thu, 09 Oct 2008 23:02:00 +0200</pubDate>
    <guid isPermaLink="false">http://blog.256bit.org/archives/532-guid.html</guid>
    
<feedburner:origLink>http://blog.256bit.org/archives/532-dvtm-Ein-Windowmanager-fuer-die-Konsole.html</feedburner:origLink></item>
<item>
    <title>Geek Spielzeug</title>
    <link>http://feeds.feedburner.com/~r/256bitorgBlog/~3/414167532/531-Geek-Spielzeug.html</link>
            <category>Admin</category>
            <category>Internet</category>
            <category>Nerd</category>
    
    <comments>http://blog.256bit.org/archives/531-Geek-Spielzeug.html#comments</comments>
    <wfw:comment>http://blog.256bit.org/wfwcomment.php?cid=531</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://blog.256bit.org/rss.php?version=2.0&amp;type=comments&amp;cid=531</wfw:commentRss>
    

    <author>cb@256bit.org (chrisbra)</author>
    <content:encoded><![CDATA[
    Ich glaube, die Produkte von <a href="http://blog.256bit.org/exit.php?url_id=2495&amp;entry_id=531" title="http://www.synology.com/"  onmouseover="window.status='http://www.synology.com/';return true;" onmouseout="window.status='';return true;"  class="bb-url">Synology</a> könnten mir gefallen. Insbesondere das <a href="http://blog.256bit.org/exit.php?url_id=2496&amp;entry_id=531" title="http://www.synology.com/enu/products/DS207+/index.php"  onmouseover="window.status='http://www.synology.com/enu/products/DS207+/index.php';return true;" onmouseout="window.status='';return true;"  class="bb-url">DS207+</a> ist schick, das kann man scheinbar auch mit eigener Software erweitern. Eine schöne Beschreibung gibt es <a href="http://blog.256bit.org/exit.php?url_id=2497&amp;entry_id=531" title="http://www.pcwelt.de/start/computer/festplatte_storage/tests/179790/guenstiger_nas_speicher_mit_server_qualitaeten/"  onmouseover="window.status='http://www.pcwelt.de/start/computer/festplatte_storage/tests/179790/guenstiger_nas_speicher_mit_server_qualitaeten/';return true;" onmouseout="window.status='';return true;"  class="bb-url">hier</a>.<br />
<br />
So ein Storage Gerät, dass gleichzeitig noch Server spielen kann ist schon sehr faszinierend. Schön wäre nur, wenn die Dinger gleich einen passenden AV-Adapter dran hätten, so dass man sie bei Bedarf gleich mit einem Fernseher verbinden könnte... 
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~f/256bitorgBlog?a=iAZBM"><img src="http://feeds.feedburner.com/~f/256bitorgBlog?i=iAZBM" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/256bitorgBlog/~4/414167532" height="1" width="1"/>]]></content:encoded>

    <pubDate>Tue, 07 Oct 2008 22:27:24 +0200</pubDate>
    <guid isPermaLink="false">http://blog.256bit.org/archives/531-guid.html</guid>
    
<feedburner:origLink>http://blog.256bit.org/archives/531-Geek-Spielzeug.html</feedburner:origLink></item>
<item>
    <title>Ein Java-Betriebssystem?</title>
    <link>http://feeds.feedburner.com/~r/256bitorgBlog/~3/413989785/529-Ein-Java-Betriebssystem.html</link>
            <category>opensource</category>
    
    <comments>http://blog.256bit.org/archives/529-Ein-Java-Betriebssystem.html#comments</comments>
    <wfw:comment>http://blog.256bit.org/wfwcomment.php?cid=529</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.256bit.org/rss.php?version=2.0&amp;type=comments&amp;cid=529</wfw:commentRss>
    

    <author>cb@256bit.org (chrisbra)</author>
    <content:encoded><![CDATA[
    Krass. Da habe doch glatt ein paar Leute gleich ein <a href="http://blog.256bit.org/exit.php?url_id=2493&amp;entry_id=529" title="http://www.jnode.org"  onmouseover="window.status='http://www.jnode.org';return true;" onmouseout="window.status='';return true;"  class="bb-url">Java-Betriebssystem</a> geschrieben. Hardware Requirements sehen mit einem Pentium PC mit 256MB RAM auch nicht so schlimm aus, wie gedacht. <br />
<br />
Man kann auch gleich ein vmware Image runterladen und jnode lokal ausprobieren. Ich fand es jetzt aber gerade etwas enttäuschend (vor allem die grafische Oberfläche (da gibt es kaum Anwendungen, bzw. die funktionierten bei mir nicht (z.B. ging keine Console auf)). 
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~f/256bitorgBlog?a=TbjFM"><img src="http://feeds.feedburner.com/~f/256bitorgBlog?i=TbjFM" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/256bitorgBlog/~4/413989785" height="1" width="1"/>]]></content:encoded>

    <pubDate>Tue, 07 Oct 2008 19:10:00 +0200</pubDate>
    <guid isPermaLink="false">http://blog.256bit.org/archives/529-guid.html</guid>
    
<feedburner:origLink>http://blog.256bit.org/archives/529-Ein-Java-Betriebssystem.html</feedburner:origLink></item>
<item>
    <title>Linkdump</title>
    <link>http://feeds.feedburner.com/~r/256bitorgBlog/~3/413926350/530-Linkdump.html</link>
            <category>Internet</category>
    
    <comments>http://blog.256bit.org/archives/530-Linkdump.html#comments</comments>
    <wfw:comment>http://blog.256bit.org/wfwcomment.php?cid=530</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.256bit.org/rss.php?version=2.0&amp;type=comments&amp;cid=530</wfw:commentRss>
    

    <author>cb@256bit.org (chrisbra)</author>
    <content:encoded><![CDATA[
    <br />
<ul class="bb-list-unordered"><li class="bb-listitem"><a href="http://blog.256bit.org/exit.php?url_id=2489&amp;entry_id=530" title="http://www.greenteapress.com/perl/"  onmouseover="window.status='http://www.greenteapress.com/perl/';return true;" onmouseout="window.status='';return true;"  class="bb-url">"Learning Perl the Hard Way"</a> (eine Einführung in Perl für Programmierer (GPL))<br />
</li><br />
<li class="bb-listitem"><a href="http://blog.256bit.org/exit.php?url_id=2490&amp;entry_id=530" title="http://stackoverflow.com/questions/161872/hidden-features-of-perl"  onmouseover="window.status='http://stackoverflow.com/questions/161872/hidden-features-of-perl';return true;" onmouseout="window.status='';return true;"  class="bb-url">"Hidden Features of Perl"</a> (Wieviel davon hättest du gekannt?)<br />
</li><br />
<li class="bb-listitem"><a href="http://blog.256bit.org/exit.php?url_id=2491&amp;entry_id=530" title="http://www.greenteapress.com/thinkpython/thinkCSpy/"  onmouseover="window.status='http://www.greenteapress.com/thinkpython/thinkCSpy/';return true;" onmouseout="window.status='';return true;"  class="bb-url">"How To Think Like a Computer Scientist: Learning with Python"</a> (Eine Einführung in Python (GPL)) auch verfügbar für <a href="http://blog.256bit.org/exit.php?url_id=2486&amp;entry_id=530" title="http://www.greenteapress.com/thinkapjava"  onmouseover="window.status='http://www.greenteapress.com/thinkapjava';return true;" onmouseout="window.status='';return true;"  class="bb-url">Java</a> und <a href="http://blog.256bit.org/exit.php?url_id=2487&amp;entry_id=530" title="http://www.greenteapress.com/thinkcpp"  onmouseover="window.status='http://www.greenteapress.com/thinkcpp';return true;" onmouseout="window.status='';return true;"  class="bb-url">C++</a> Version<br />
</li><br />
<li class="bb-listitem"><a href="http://blog.256bit.org/exit.php?url_id=2492&amp;entry_id=530" title="http://www.greenteapress.com/semaphores/"  onmouseover="window.status='http://www.greenteapress.com/semaphores/';return true;" onmouseout="window.status='';return true;"  class="bb-url">"The Little Book of Semaphores"</a><br />
</li><br />
</ul> 
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~f/256bitorgBlog?a=4LpWM"><img src="http://feeds.feedburner.com/~f/256bitorgBlog?i=4LpWM" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/256bitorgBlog/~4/413926350" height="1" width="1"/>]]></content:encoded>

    <pubDate>Tue, 07 Oct 2008 17:36:06 +0200</pubDate>
    <guid isPermaLink="false">http://blog.256bit.org/archives/530-guid.html</guid>
    
<feedburner:origLink>http://blog.256bit.org/archives/530-Linkdump.html</feedburner:origLink></item>
<item>
    <title>Netfilter Präsentationen</title>
    <link>http://feeds.feedburner.com/~r/256bitorgBlog/~3/411698831/528-Netfilter-Praesentationen.html</link>
            <category>Admin</category>
            <category>opensource</category>
            <category>Software</category>
    
    <comments>http://blog.256bit.org/archives/528-Netfilter-Praesentationen.html#comments</comments>
    <wfw:comment>http://blog.256bit.org/wfwcomment.php?cid=528</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.256bit.org/rss.php?version=2.0&amp;type=comments&amp;cid=528</wfw:commentRss>
    

    <author>ms@256bit.org (mschoechlin)</author>
    <content:encoded><![CDATA[
    <br />
<p>Ein paar recht interessante Päsentationen zum Thema Netfilter: <a href="http://blog.256bit.org/exit.php?url_id=2482&amp;entry_id=528" title="http://nfws.inl.fr/en/?p=171"  onmouseover="window.status='http://nfws.inl.fr/en/?p=171';return true;" onmouseout="window.status='';return true;">http://nfws.inl.fr/en/?p=171</a><br />Vor allem recht interessant wenn man größere Setups betrieben möchte...</p><br />
 
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~f/256bitorgBlog?a=Ju5ZM"><img src="http://feeds.feedburner.com/~f/256bitorgBlog?i=Ju5ZM" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/256bitorgBlog/~4/411698831" height="1" width="1"/>]]></content:encoded>

    <pubDate>Sun, 05 Oct 2008 08:49:21 +0200</pubDate>
    <guid isPermaLink="false">http://blog.256bit.org/archives/528-guid.html</guid>
    
<feedburner:origLink>http://blog.256bit.org/archives/528-Netfilter-Praesentationen.html</feedburner:origLink></item>

</channel>
</rss>
