<?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>Web Blog Berlin</title>
	<atom:link href="http://www.yawc.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.yawc.de</link>
	<description>yet another web cheese</description>
	<lastBuildDate>Mon, 13 Feb 2012 16:08:13 +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>x220t Ubuntu 11.10 &#8211; 2</title>
		<link>http://www.yawc.de/2012/01/x220t-ubuntu-11-10-2/</link>
		<comments>http://www.yawc.de/2012/01/x220t-ubuntu-11-10-2/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 23:50:22 +0000</pubDate>
		<dc:creator>Sven</dc:creator>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[x220t]]></category>

		<guid isPermaLink="false">http://www.yawc.de/?p=463</guid>
		<description><![CDATA[Jetzt habe es hingekriegt, dass sich der Bildschirm in Abhängigkeit der Bildschirmposition dreht. Voraussetzung ist, dass das Rotationsscript von hier x220t Ubuntu 11.10 bereits funtkioniert. Dann muss man noch folgendes Modul installieren: sudo apt-get install tp-smapi-dkms Dies beinhaltet das Modul HDAPS, welches in Verbindung mit HDAPSD Daemon hauptsächlich zum Schutz der Festplatte gedacht ist. Mehr [...]]]></description>
			<content:encoded><![CDATA[<p>Jetzt habe es hingekriegt, dass sich der Bildschirm in Abhängigkeit der Bildschirmposition dreht.</p>
<p>Voraussetzung ist, dass das Rotationsscript von hier <a href="http://www.yawc.de/2012/01/x220t-ubuntu-11-10/" title="x220t Ubuntu 11.10" target="_blank" class="liinternal">x220t Ubuntu 11.10</a> bereits funtkioniert.</p>
<p>Dann muss man noch folgendes Modul installieren:</p>
<pre>sudo apt-get install tp-smapi-dkms</pre>
<p>Dies beinhaltet das Modul HDAPS, welches in Verbindung mit HDAPSD Daemon hauptsächlich zum Schutz der Festplatte gedacht ist. Mehr zulesen gibt es hier <a href="http://wiki.ubuntuusers.de/festplattenschutz" title="Festplattenschutz HDAPS" target="_blank" class="liexternal">http://wiki.ubuntuusers.de/festplattenschutz</a></p>
<p>Dann macht man noch folgendes, damit das HDAPS Modul bei jedem Neustart geladen wird.</p>
<pre>sudo echo "hdaps" >> /etc/modules</pre>
<p>Dann mein Script:</p>
<p>nano ~/scripte/tabletHdaps<br />
chmod +x ~/scripte/tabletHdaps</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>
&nbsp;
<span style="color: #666666; font-style: italic;">#tolerance, wann gedreht werden soll</span>
<span style="color: #007800;">tol</span>=<span style="color: #000000;">20</span>
<span style="color: #666666; font-style: italic;">#wichtig um die art der rotation zu erfahren</span>
<span style="color: #007800;">rightRotate</span>=<span style="color: #000000;">660</span>
<span style="color: #007800;">leftRotate</span>=<span style="color: #000000;">360</span>
<span style="color: #007800;">normalRotate</span>=<span style="color: #000000;">360</span>
<span style="color: #007800;">invertedRotate</span>=<span style="color: #000000;">660</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#zum merken, wohin wir alles rotiert haben</span>
<span style="color: #007800;">rotation</span>=<span style="color: #ff0000;">&quot;&quot;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#in welchem modus sind wir denn?</span>
<span style="color: #007800;">file</span>=<span style="color: #ff0000;">&quot;/sys/devices/platform/thinkpad_acpi/hotkey_tablet_mode&quot;</span>
&nbsp;
rotate<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span>
	<span style="color: #666666; font-style: italic;">#obere grenze</span>
	<span style="color: #007800;">down</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #007800;">$2</span>-<span style="color: #007800;">$tol</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>;
	<span style="color: #666666; font-style: italic;">#untere grenze</span>
	<span style="color: #007800;">up</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #007800;">$2</span>+<span style="color: #007800;">$tol</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>;
&nbsp;
	<span style="color: #666666; font-style: italic;">#sind wir in der grenze?</span>
	<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$1</span> <span style="color: #660033;">-gt</span> <span style="color: #007800;">$down</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> <span style="color: #007800;">$1</span> <span style="color: #660033;">-le</span> <span style="color: #007800;">$up</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
		<span style="color: #666666; font-style: italic;">#sind wir nicht vllt schon da rotiert?</span>
		<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$rotation</span>&quot;</span> <span style="color: #000000; font-weight: bold;">!</span>= <span style="color: #ff0000;">&quot;$3&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
			<span style="color: #666666; font-style: italic;">#rotation merken</span>
			<span style="color: #007800;">rotation</span>=<span style="color: #ff0000;">&quot;$3&quot;</span>
			<span style="color: #666666; font-style: italic;">#rotieren</span>
			xrotate <span style="color: #007800;">$3</span>
		<span style="color: #000000; font-weight: bold;">fi</span>
	<span style="color: #000000; font-weight: bold;">fi</span>
<span style="color: #7a0874; font-weight: bold;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">while</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #c20cb9; font-weight: bold;">true</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span> 
<span style="color: #000000; font-weight: bold;">do</span>
	<span style="color: #666666; font-style: italic;">#in welchem Modus sind wir gerade?</span>
	<span style="color: #007800;">mode</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #007800;">$file</span><span style="color: #000000; font-weight: bold;">`</span>
	<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$mode</span> == <span style="color: #ff0000;">&quot;1&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
		<span style="color: #666666; font-style: italic;">#derzeitige position holen</span>
		<span style="color: #007800;">values</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #000000; font-weight: bold;">/</span>sys<span style="color: #000000; font-weight: bold;">/</span>devices<span style="color: #000000; font-weight: bold;">/</span>platform<span style="color: #000000; font-weight: bold;">/</span>hdaps<span style="color: #000000; font-weight: bold;">/</span>position<span style="color: #000000; font-weight: bold;">`</span>
		<span style="color: #666666; font-style: italic;">#trennen nach x und y</span>
		<span style="color: #007800;">xvalue</span>=<span style="color: #800000;">${values:1:3}</span>
		<span style="color: #007800;">tmp</span>=<span style="color: #800000;">${values:5}</span>
		<span style="color: #007800;">yvalue</span>=<span style="color: #800000;">${tmp:0:3}</span>
		<span style="color: #666666; font-style: italic;">#drehen, wenn notwendig</span>
		rotate <span style="color: #007800;">$xvalue</span> <span style="color: #007800;">$rightRotate</span> <span style="color: #ff0000;">&quot;right&quot;</span>
		rotate <span style="color: #007800;">$xvalue</span> <span style="color: #007800;">$leftRotate</span> <span style="color: #ff0000;">&quot;left&quot;</span>
		rotate <span style="color: #007800;">$yvalue</span> <span style="color: #007800;">$normalRotate</span> <span style="color: #ff0000;">&quot;normal&quot;</span>
		rotate <span style="color: #007800;">$yvalue</span> <span style="color: #007800;">$invertedRotate</span> <span style="color: #ff0000;">&quot;inverted&quot;</span>
	<span style="color: #000000; font-weight: bold;">fi</span>
	<span style="color: #666666; font-style: italic;">#angenehmer, damit nicht zu oft rotiert wird, wenn man z.B. von rechts ueber inverted nach links dreht</span>
	<span style="color: #c20cb9; font-weight: bold;">sleep</span> <span style="color: #000000;">1</span>
<span style="color: #000000; font-weight: bold;">done</span></pre></div></div>

<p>Dieses Script liest die aktuelle Lage des Laptops aus und entscheidet dann daran in welche Lage rotiert werden soll.<br />
Rotiert wird hier aber nur, wenn man bereits im Tablet-Modus ist.</p>
<p>Damit das Script gleich startet, machen wir wieder folgendes:</p>
<pre>echo "$HOME/scripte/tabletHdaps &#038;" >> ~/.profile</pre>
<p>Hierbei gehe ich davon aus, dass das Script <code>tabletHdaps</code> heißt und unter <code>~/scripte/</code> liegt.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yawc.de/2012/01/x220t-ubuntu-11-10-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>x220t Ubuntu 11.10</title>
		<link>http://www.yawc.de/2012/01/x220t-ubuntu-11-10/</link>
		<comments>http://www.yawc.de/2012/01/x220t-ubuntu-11-10/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 01:04:36 +0000</pubDate>
		<dc:creator>Sven</dc:creator>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[x220t]]></category>

		<guid isPermaLink="false">http://www.yawc.de/?p=434</guid>
		<description><![CDATA[In diesem Post schilder ich meine Erfahrungen, die gemacht habe, damit Ubuntu 11.10 auf meinem x220t läuft. Ich gehe aber hier von einer normaler Installation aus. Touch, Pen und Eraser hat Ubuntu bei mir gleich erkannt, hatte da also keine Probleme. Deswegen kümmer ich mich jetzt nur um die Sachen: + Bildschirmtasten verwendbar machen + [...]]]></description>
			<content:encoded><![CDATA[<p>In diesem Post schilder ich meine Erfahrungen, die gemacht habe, damit Ubuntu 11.10 auf meinem x220t läuft.<br />
Ich gehe aber hier von einer normaler Installation aus.<br />
Touch, Pen und Eraser hat Ubuntu bei mir gleich erkannt, hatte da also keine Probleme. Deswegen kümmer ich mich jetzt nur um die Sachen:</p>
<p>+ Bildschirmtasten verwendbar machen<br />
+ Rotation des Bildschirmes bei Tastendruck<br />
+ bei Bedarf deaktiveren der Toucheingabe über den Finger<br />
+ Rotation beim Wechsel vom Notebook in den Tabletmode und zurück</p>
<p>Ich bin mit einigen Lösungen nicht ganz zufrieden, vor allem was die Rotation beim Moduswechsel betrifft.<br />
Was auch noch fehlt ist die Rotation des Bildschirm in Abhängigkeit der Lage, wie man es von jedem Smartphone kennt.<br />
Werde mich darum aber erst in den Semesterferien kümmern können <img src='http://www.yawc.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
<strong>[UPDATE:]</strong> Habe es doch schon hingekriegt <a href="http://www.yawc.de/2012/01/x220t-ubuntu-11-10-2/" title="x220t Ubuntu 11.10 – 2" target="_blank" class="liinternal">x220t Ubuntu 11.10 – 2</a></p>
<p>Da ich dieses alles geschrieben habe, nachdem ich alles eingerichtet habe, kann es sein, dass ich Sachen unvollständig beschrieben habe. Einfach melden, was nicht passt <img src='http://www.yawc.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>Bildschirmtasten verwendbar machen</strong><br />
durch anlegen einer neuen udev Regel</p>
<p>sudo groupadd rotate<br />
sudo useradd [deinUser] -a -G rotate</p>
<p>nano /etc/udev/rules.d/62-tablet.rules</p>
<pre>KERNEL!="event[0-9]*", GOTO="oem-wmi_end"
SUBSYSTEM=="input", ATTRS{name}=="ThinkPad Extra Buttons", MODE="640", GROUP="rotate", SYMLINK="input/tablet-buttons"
LABEL="oem-wmi_end"</pre>
<p>Nach einem Neustart sollte jeder user mit der Gruppe rotate diese Tasten dann verwenden können.</p>
<p>Versehen der Tasten mit einer Funktion</p>
<p>sudo setkeycodes 6c 148<br />
sudo setkeycodes 67 149</p>
<p>Damit das bei jedem Start ausgeführt wird, erstellen wir uns ein kleines Start-Script</p>
<p>nano /etc/init.d/tablet</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: #c20cb9; font-weight: bold;">setkeycodes</span> 6c <span style="color: #000000;">148</span>
<span style="color: #c20cb9; font-weight: bold;">setkeycodes</span> <span style="color: #000000;">67</span> <span style="color: #000000;">149</span></pre></div></div>

<p>Machen dieses Script ausführbar, starten es gleich mal und sorgen dafür, dass automatisch bei einem Systemneustart auch gestartet wird.</p>
<p><code><br />
sudo chmod 755 /etc/init.d/tablet<br />
sudo /etc/init.d/tablet<br />
sudo update-rc.d -f tablet defaults<br />
</code></p>
<p>Jetzt können wir die Taste mit dem Pfeil und die Rotationstaste auf dem Bildschirm verwenden.<br />
Um zu testen, ob die Tasten funktionieren, starten wir einfach mal <code>xev</code>. Ein Drücken der Tasten sollte dort eine Ausgabe erfolgen.<br />
Aber eine Funktion werden die Tasten noch nicht haben.</p>
<p><strong>Rotation des Bildschirm bei Tastendruck</strong></p>
<p>Jetzt laden wir uns erstmal ein Rotationsscript herunter. Ich habe dieses hier verwendet:<br />
<a href="https://launchpad.net/magick-rotation" title="Magick-Rotation" target="_blank" class="liinternal">https://launchpad.net/magick-rotation</a>.<br />
Wenn wir diese Datei heruntergeladen und entpackt haben, beinhaltet der Ordner folgende Dateien:</p>
<pre>62-magick.rules             ChangeLog  debug.py    hinge.py          install_log   MagickIcons        oem_wmi.py
apt_installprogress_gtk.py  check.c    firstrun    installer_gtk.py  listener.py   Magick-README.txt  whitelist.py
apt_pm.py                   config.py  gui_gtk.py  INSTALLER.txt     MagickExtras  magick-rotation    xrotate.py</pre>
<p>Von dieser Datei habe ich selber nur das <code>xrotate.py</code> verwendet.<br />
Diese habe ich mir nach /usr/bin/ kopiert, damit ich das überall verwendet kann.</p>
<pre>sudo cp ./xrotate.py /usr/bin/xrotate</pre>
<p>Das Script kann dann wie folgt aufgerufen werden</p>
<pre>xrotate [normal/left/inverted/right]</pre>
<p>Ist nichts angegeben, wird der Bildschirm durch jedes ausführen rotiert von normal-&gt;left-&gt;inverted-&gt;right</p>
<p>Jetzt können wir in Ubuntu unter &#8220;Systemeinstellung-&gt;Tastatur&#8221; eine eigene Tastenkombination definieren, die beim Drücken <code>xrotate</code> ausführt.</p>
<p>Ich selber verwende dieses Script, welches mir eine Auswahl anbietet, in welche Richtung ich den Bildschirm drehen möchte:</p>
<p>nano ~/scripte/tabletRotate<br />
chmod +x ~/scripte/tabletRotate</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>
&nbsp;
<span style="color: #007800;">rotate</span>=<span style="color: #000000; font-weight: bold;">`</span>zenity <span style="color: #660033;">--height</span>=<span style="color: #000000;">220</span> <span style="color: #660033;">--list</span> <span style="color: #660033;">--radiolist</span> <span style="color: #660033;">--column</span>=Auswahl <span style="color: #660033;">--column</span>=<span style="color: #ff0000;">&quot;&quot;</span> \
<span style="color: #000000; font-weight: bold;">\&quot;</span><span style="color: #000000; font-weight: bold;">\&quot;</span> <span style="color: #ff0000;">&quot;left&quot;</span> \
<span style="color: #000000; font-weight: bold;">\&quot;</span><span style="color: #000000; font-weight: bold;">\&quot;</span> <span style="color: #ff0000;">&quot;right&quot;</span> \
<span style="color: #000000; font-weight: bold;">\&quot;</span><span style="color: #000000; font-weight: bold;">\&quot;</span> <span style="color: #ff0000;">&quot;inverted&quot;</span> \
<span style="color: #000000; font-weight: bold;">\&quot;</span><span style="color: #000000; font-weight: bold;">\&quot;</span> <span style="color: #ff0000;">&quot;normal&quot;</span><span style="color: #000000; font-weight: bold;">`</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#rotate=$?</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">case</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$rotate</span>&quot;</span> <span style="color: #000000; font-weight: bold;">in</span>
        <span style="color: #ff0000;">&quot;left&quot;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
                xrotate left
                <span style="color: #000000; font-weight: bold;">;;</span>
        <span style="color: #ff0000;">&quot;inverted&quot;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
                xrotate inverted
                <span style="color: #000000; font-weight: bold;">;;</span>
        <span style="color: #ff0000;">&quot;right&quot;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
                xrotate right
                <span style="color: #000000; font-weight: bold;">;;</span>
        <span style="color: #ff0000;">&quot;normal&quot;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
                xrotate normal
                <span style="color: #000000; font-weight: bold;">;;</span>
<span style="color: #000000; font-weight: bold;">esac</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">0</span></pre></div></div>

<p><strong>bei Bedarf deaktiveren der Toucheingabe über den Finger</strong></p>
<p>Die Taste mit dem Pfeil habe ich mit folgendem Script hinterlegt:</p>
<p>nano ~/scripte/toggleFingerTouch<br />
chmod +x ~/scripte/toggleFingerTouch</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;">finger</span>=<span style="color: #ff0000;">&quot;Wacom ISDv4 E6 Finger touch&quot;</span>
<span style="color: #007800;">toggle</span>=<span style="color: #000000; font-weight: bold;">`</span>xsetwacom <span style="color: #660033;">--get</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$finger</span>&quot;</span> Touch<span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #000000; font-weight: bold;">case</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$toggle</span>&quot;</span> <span style="color: #000000; font-weight: bold;">in</span>
        <span style="color: #ff0000;">&quot;off&quot;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
                <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Enable Touch&quot;</span>
                xsetwacom <span style="color: #660033;">--set</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$finger</span>&quot;</span> Touch on
                <span style="color: #000000; font-weight: bold;">;;</span>
        <span style="color: #ff0000;">&quot;on&quot;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
                <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Disable Touch&quot;</span>
                xsetwacom <span style="color: #660033;">--set</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$finger</span>&quot;</span> Touch off
                <span style="color: #000000; font-weight: bold;">;;</span>
        <span style="color: #000000; font-weight: bold;">esac</span>
<span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">0</span></pre></div></div>

<p>Diese Script deaktiviert/aktiviert die Toucheingabe über den Finger. Wenn ich mein Bildschirm drehe und mit dem Stift schreibe, ist das manchmal angenehmer.</p>
<p><strong>Rotation beim Wechsel vom Notebook in den Tabletmode und zurück</strong></p>
<p>Damit mein Bildschirm automatisch dreht, wenn ich zwischen dem Tablet/Notebook Modus wechsel, verwende ich dieses Script:</p>
<p>nano ~/scripte/tabletAutorotate<br />
chmod +x ~/scripte/tabletAutorotate</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;">file</span>=<span style="color: #ff0000;">&quot;/sys/devices/platform/thinkpad_acpi/hotkey_tablet_mode&quot;</span>
&nbsp;
<span style="color: #007800;">oldmode</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #007800;">$file</span><span style="color: #000000; font-weight: bold;">`</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">while</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #c20cb9; font-weight: bold;">true</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>
<span style="color: #000000; font-weight: bold;">do</span>
        <span style="color: #c20cb9; font-weight: bold;">sleep</span> <span style="color: #000000;">1</span>
        <span style="color: #007800;">newmode</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #007800;">$file</span><span style="color: #000000; font-weight: bold;">`</span>
        <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$newmode</span> <span style="color: #000000; font-weight: bold;">!</span>= <span style="color: #007800;">$oldmode</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
                <span style="color: #007800;">oldmode</span>=<span style="color: #007800;">$newmode</span>
                <span style="color: #000000; font-weight: bold;">case</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$newmode</span>&quot;</span> <span style="color: #000000; font-weight: bold;">in</span>
                        <span style="color: #000000;">0</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
                                xrotate normal
                                <span style="color: #000000; font-weight: bold;">;;</span>
                        <span style="color: #000000;">1</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
                                xrotate inverted
                                <span style="color: #000000; font-weight: bold;">;;</span>
                <span style="color: #000000; font-weight: bold;">esac</span>
        <span style="color: #000000; font-weight: bold;">fi</span>
<span style="color: #000000; font-weight: bold;">done</span>
<span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">0</span></pre></div></div>

<p>dann müssen wir es noch einrichten, dass dieses Script bei jedem einloggen gestartet wird. Da wir dazu keine Root brauchen, machen wir einfach folgendes:</p>
<pre>echo "$HOME/scripte/tabletAutorotate &amp;" &gt;&gt; ~/.profile</pre>
<p>Eigentlich wollte ich das über acpid Daemon machen, funktioniert aber nur teils.<br />
Der acpid Daemon erkennt zwar das Drehen des Bildschirm, führt aber einfach nicht das Srcipt aus. Voll doof <img src='http://www.yawc.de/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>Quellen:</p>
<p>[1] http://commons.wikimedia.org/wiki/File:Ubuntu_logo_copyleft_1.svg<br />
[2] http://thinkpad-wiki.org//<br />
[3] http://www.thinkwiki.org/wiki/ThinkWiki</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yawc.de/2012/01/x220t-ubuntu-11-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XBMC &#8211; Mein neues SNES</title>
		<link>http://www.yawc.de/2011/09/xbmc-mein-neues-snes/</link>
		<comments>http://www.yawc.de/2011/09/xbmc-mein-neues-snes/#comments</comments>
		<pubDate>Fri, 09 Sep 2011 23:11:23 +0000</pubDate>
		<dc:creator>Sven</dc:creator>
				<category><![CDATA[XBMC]]></category>
		<category><![CDATA[Emulator]]></category>
		<category><![CDATA[HTPC]]></category>
		<category><![CDATA[SNES]]></category>

		<guid isPermaLink="false">http://www.yawc.de/?p=394</guid>
		<description><![CDATA[Ich habe zwar meine Wii und PS2, aber da ich gerne mein HTPC zu einer Allround Kiste machen möchte, muss doch es doch auch möglich sein darüber auch zu spielen. Besonders wichtig war es mir endlich wieder meine alten SNES Spiele zu spielen. Aber wie kriegt man das denn hin? Zu erst installieren wir uns [...]]]></description>
			<content:encoded><![CDATA[<p>Ich habe zwar meine Wii und PS2, aber da ich gerne mein HTPC zu einer Allround Kiste machen möchte, muss doch es doch auch möglich sein darüber auch zu spielen. Besonders wichtig war es mir endlich wieder meine alten SNES Spiele zu spielen.<br />
Aber wie kriegt man das denn hin?</p>
<p>Zu erst installieren wir uns einen SNES Emulator, ich habe zsnes gewählt. Also gleich mal per SSH einloggen.</p>
<pre>sudo apt-get install zsnes</pre>
<p>Meine ROMS liegen bei mir auf einer extra Festplatte, heißt /media/Daten/Roms.<br />
Wie kriegt man die dahin? Entweder per <a href="http://de.wikipedia.org/wiki/SSH_File_Transfer_Protocol" title="Wiki - SFTP" target="_blank" rel="nofollow" class="liexternal">sftp</a> oder wen man es gleich leichter haben will, dann per Netzwerk, da verweise ich mal auf einen anderen Eintrag von mir: <a href="http://www.yawc.de/2011/07/xbmc-was-fehlt/" title="XBMC – was fehlt?" target="_blank" class="liinternal">XBMC &#8211; Was fehlt?</a></p>
<p>Dann installieren wir uns noch den <a href="http://code.google.com/p/romcollectionbrowser/" title="Rom Collection Browser" target="_blank" class="liexternal">Rom Collection Browser</a>. Ein echt cooles XBMC Addon <img src='http://www.yawc.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Wenn wir also unseren Emulator haben, die Roms irgendwo verfügbar rumliegen und das Addon installiert, dann können wir auch schon gleich los spielen <img src='http://www.yawc.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Wir starten den Rom Collection Browser (RCB). Dort legen wir eine neue Rom Collection an. Das geht alles besser mit Tastatur als mit Fernbedienung, sollte ihr eine haben <img src='http://www.yawc.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Beim Anlegen fragt der RCB nach einer Plattform, wir wählen SNES. Dann braucht er den Emulator, den finden wir unter:</p>
<pre>/usr/bin/zsnes</pre>
<p>.<br />
Dann geben wir den Parameter an, d.h., wie werden die Spiele an den Emulator übergeben:</p>
<pre>"%ROMS%"</pre>
<p>Das sollte standard sein. Fast fertig, jetzt der Speicherort der ROMS</p>
<pre>/media/Daten/Roms/SNES</pre>
<p>Und zu letzt eine &#8220;File Mask&#8221;. Soll heißen, wie sehen die Roms bei dir aus. Ich denke das wird bei eigentlich allen identisch sein.</p>
<pre>*.smc</pre>
<p>Wir können noch einen anderen Ordner für die SNES Artwork angeben. Ich habe den da gelassen, wo auch meine ROMS sind. Nach einem Enter werden wir noch gefragt, ob wir noch eine andere Rom Collection hinzufügen wollen. Ich will das nicht, also auf <code>NO</code>.</p>
<p>Dann kommen wir in das Menü <code>Import Games</code>. Ich habe die Scrapper gelassen, ist dann alles Englisch, aber ich glaube es gibt keine (guten) deutschen Scrapper.</p>
<p>Dann fängt der RBC an sich die Infos aus dem Internet runterzuladen und wenn der fertig ist, kann man endlich loslegen und wieder <code>Zelda: A Link to the Past</code> oder <code>Chrono Trigger</code> spielen. Das sind meine größten Favoriten <img src='http://www.yawc.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Vielleicht schreibt ja einer, was er so klasse findet.</p>
<p>Auf den gleichen Weg kann man leicht auch andere ROMs spielbar machen, man muss nur einen passenden Emulator finden <img src='http://www.yawc.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Aso&#8230;ich hatte noch das Probleme, dass nach einer Weile meine Bildschirm ausgegangen ist, da mein PC die Eingabe meines Gamepads nicht so erkannt hat, wie eine Tastatureingabe. Mein PC dachte wohl, da ist keiner mehr. Das kriegt man durch folgendes weg:</p>
<pre>Option         "DPMS" "false"</pre>
<p>Das muss in der <code>Section Monitor</code> in der folgender Datei stehen: <code>/etc/X11/xorg.conf</code>. Dann neustarten, und es sollte eigentlich keine Probleme mehr geben.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yawc.de/2011/09/xbmc-mein-neues-snes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XBMC und JDownloader 2</title>
		<link>http://www.yawc.de/2011/08/xbmc-und-jdownloader-2/</link>
		<comments>http://www.yawc.de/2011/08/xbmc-und-jdownloader-2/#comments</comments>
		<pubDate>Mon, 22 Aug 2011 20:48:20 +0000</pubDate>
		<dc:creator>Sven</dc:creator>
				<category><![CDATA[HomeServer]]></category>
		<category><![CDATA[JDownloader]]></category>
		<category><![CDATA[XBMC]]></category>
		<category><![CDATA[HTPC]]></category>

		<guid isPermaLink="false">http://www.yawc.de/?p=373</guid>
		<description><![CDATA[Ich habe schon geschrieben, wie man XBMC und JDownloader gut miteinander verheiratet, weshalb ich bei der Installation einfach mal auf den anderen Artikel verweise. Dort sollte ich auch beschrieben haben, wie man sich per ssh auf den HTPC verbindet. Wenn nicht, mal schnell googeln, ist einfach Was mich damals schon gestört hat, war die Art [...]]]></description>
			<content:encoded><![CDATA[<p>Ich habe schon geschrieben, wie man XBMC und JDownloader gut miteinander verheiratet, weshalb ich bei der Installation einfach mal auf den <a href="http://www.yawc.de/2011/06/xbmc-und-jdownloader/" title="XBMC und JDownloader" class="liinternal">anderen Artikel verweise</a>. Dort sollte ich auch beschrieben haben, wie man sich per ssh auf den HTPC verbindet. Wenn nicht, mal schnell googeln, ist einfach <img src='http://www.yawc.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Was mich damals schon gestört hat, war die Art und Weise des Starten und dass der Zugriff auf das native Webinterface von JDownloader nicht besonders war. Cooler wäre doch ein Vollzugriff auf den uns bekannten JDownloader und das natürlich&#8230;über unseren Webbrowser. Dazu müssen wir nur ein paar Kleinigkeiten installieren:</p>
<pre>
sudo apt-get install xvfb x11vnc vnc-java
</pre>
<p>Dann eine neue Text anlegen, die wir jd.sh nennen:</p>
<pre>
#/bin/sh
Xvfb :1 -screen 0 1024x800x16 -ac &#038; #(1)
DISPLAY=:1 /usr/bin/jdownloader &#038; #(2)
x11vnc -display :1 -httpdir /usr/share/vnc-java/ -httpport 5800 -forever &#038; #(3)
</pre>
<p>Was passiert hier? Wir erzeugen uns (1) einen neuen virtuellen Bildschirm. Starten (2) auf diesem unseren jdownloader und geben diese Bildschirm (3) zwar ueber den Standard Port 5900 frei, aber greifen über den Port 5800 auf ein Java-Applet (unser Java VNC Client) zu. Das heißt, auf unserem Client PC muss der Webbrowser Java unterstützen, wenn wir auf 5800 zugreifen, oder verwenden einen normalen VNC Client auf 5900.<br />
Da ich JDownloader nicht immer brauche, habe ich mir das tolle XBMC Addon <strong>executor</strong> installiert. Hierbei verwende ich oberes leicht angepasstes Script gleichen names:</p>
<pre>
#/bin/sh
case $1 in
        "start")
        Xvfb :1 -screen 0 1024x800x16 -ac &#038;
        DISPLAY=:1 /usr/bin/jdownloader &#038;
        x11vnc -display :1 -httpdir /usr/share/vnc-java/ -httpport 5800 -forever &#038;
        ;;
        "ende")
        killall x11vnc
        killall java
        killall Xvfb
        ;;
        *) echo "FALSCH";;
esac
</pre>
<p>Egal welches Script ihr verwendet, ihr müsst dieses ausführbar machen:</p>
<pre>
sudo chmod +x jd.sh
</pre>
<p>Wie gesagt, ich habe die Zweite Version vewendet, die mir auch das beenden von JDownloader und Co. ermöglicht. Diese Script habe ich im Executor zweimal eingebunden, einmal mit dem Argument <strong>start</strong> und das Programm dann JDOWNLOADER start genannt und einmal mit dem Argument <strong>ende</strong> und das dann JDOWNLOADER ende genannt. Ich will das ja unterscheiden können <img src='http://www.yawc.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Jetzt kann ich schön gemütlich vor meinem HTPC sitzen und bei Bedarf über das XBMC Addon Executor  nach Wunsch und Laune mit meiner Fernbedienung JDownloader starten und stoppen. Die Bedienung erfolgt diesmal nur nicht nur über das eher einfache Webinterface, sonder über die gewohnte JDownloader Java GUI, wenn ich mal nicht nur Links hinzufügen mag. Letzteres ist einfach erreichbar über <strong>http://<ip-addresse-htpc>:5800/</strong>.<br />
Dort wird dann nach einem Passwort gefragt, einfach auf <strong>OK</strong> drücken. Hier wurde alles so eingerichtet, das keines gebraucht wird. Sollte jemand so etwas wollen, verweise ich hier einfach mal auf Google <img src='http://www.yawc.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><strong>UPDATE:</strong><br />
Bei der Java Applet Lösung habe ich aber das Problem, dass man ab dem zweiten Versuch sich einzuloggen nur eine Meldung folgender Exception erhält: <strong>java.net.SocketException: Broken pipe</strong>.<br />
Wenn ich dazu noch was rauskriege, schreibe ich noch was dazu. Wenn nicht, vielleicht liest jemand das und hat nen Plan <img src='http://www.yawc.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Und wenn man das Script nicht über den JDownloader startet, sondern über SSH, muss man vorher eine Screen Session aufmachen, es dort starten, Screen Session in den Hintergrund packen und erst dann wieder ausloggen <img src='http://www.yawc.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.yawc.de/2011/08/xbmc-und-jdownloader-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FRITZ!Box und Asterisk *</title>
		<link>http://www.yawc.de/2011/08/fritzbox-und-asterisk/</link>
		<comments>http://www.yawc.de/2011/08/fritzbox-und-asterisk/#comments</comments>
		<pubDate>Sat, 13 Aug 2011 12:49:23 +0000</pubDate>
		<dc:creator>Sven</dc:creator>
				<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[FRITZ!Box]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[modding]]></category>

		<guid isPermaLink="false">http://www.yawc.de/?p=348</guid>
		<description><![CDATA[Auf Arbeit setze ich mich gerade mit Asterisk auseinandern und ich dachte mir, dass möchte ich auch haben. Erst hatte ich mir überlegt die Anlage auf meinen HTPC zu installieren, fand es aber doof, dass der HTPC dann immer an bleiben muss. Dann habe ich an meine tolle FRITZ!Box gedacht. Genauer: FRITZ!Box 7170 Firmware 29.04.87 [...]]]></description>
			<content:encoded><![CDATA[<p>Auf Arbeit setze ich mich gerade mit <a href="http://de.wikipedia.org/wiki/Asterisk_(Telefonanlage)" title="Asterisk Telefonanlage" target="_blank" rel="nofollow" class="liexternal">Asterisk</a> auseinandern und ich dachte mir, dass möchte ich auch haben. Erst hatte ich mir überlegt die Anlage auf meinen HTPC zu installieren, fand es aber doof, dass der HTPC dann immer an bleiben muss. Dann habe ich an meine tolle FRITZ!Box gedacht.</p>
<p>Genauer:<br />
<code>FRITZ!Box 7170<br />
Firmware 29.04.87</code></p>
<p>Die Installation geht eigentlich sehr schnell und einfach, man braucht nur einen <a href="http://de.wikipedia.org/wiki/Telnet" title="Telnet" target="_blank" rel="nofollow" class="liexternal">Telnet</a> Zugang zur der Box.<br />
Dazu muss einfach über ein angeschlossenes Telefon die <code>#96*7*</code> gewählt werden. Zum deaktivieren wieder die <code>#96*8*</code> anwählen. Dann sollte man noch einen USB-Stick parat haben, 512 MB/1 GB reichen locker. Den FAT formatieren und hinten bei der FRITZ!Box in den USB-Port stecken, damit wir Asterisk auf diesen installieren können.</p>
<p>Jetzt per Telnet auf die Box Schalten, das Passwort ist das gleiche wie vom Webinterface, und folgendes machen:</p>
<pre>cd /var/media/ftp/[EUER-USB-STICK]/
mkdir addons
wget http://spblinux.de/fbox.new/cfg_asterisk16
./cfg_asterisk16 -x usb_install</pre>
<p>Die Konfigurationsdateien von Asterisk liegen auf dem USB-Stick und können leicht per FRITZ!Box freigegeben werden. Die liegen dann auf dem USB-Stick im folgenden Verzeichnis <code>addons/asterisk16/etc/asterisk/</code>. Bei jedem <code>./cfg_asterisk -x usb_install</code> wird dieses und andere Verzeichnisse auf der FRITZ!Box unter / gemountet, nur zur Info <img src='http://www.yawc.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Damit Asterisk startet, müssen wir Asterisk auf dem Port 5061 starten, da auf dem Port 5060 die Fritz.Box eigene VoIP-Daemon läuft.<br />
Dazu bearbeiten wir folgende Datei:</p>
<pre>nvi ./addons/asterisk16/etc/asterisk/sip.conf</pre>
<p>Dort muss oben folgendes stehen:</p>
<pre>
[general]
bindport = 5061
port = 5061
bindaddr = 192.168.178.2
language=de
general=yes
</pre>
<p>und führen dann folgendes noch auf der Console auf<br />
<code>ifconfig lan:1 192.168.178.2 netmask 255.255.255.0</code></p>
<pre>./cfg_asterisk16 start</pre>
<p>Da die FRITZ!Box alle Dateien ausserhalb von /var/flash/ nach einem Neustart zurücksetzt (abgesehen von den Daten auf dem FRITZ!Box <img src='http://www.yawc.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ) müssen wir noch folgendes mit nvi in die <code>/var/flash/debug.cfg</code> eintragen:</p>
<pre>
sleep 30
ifconfig lan:1 192.168.178.2 netmask 255.255.255.0
cd /var/media/ftp/[EUER-USB-STICK]/addons/
./cfg_asterisk16 usb_install
./cfg_asterisk16 start
</pre>
<p>Und jetzt haben wir unsere eigene kleine Telefonanlage <img src='http://www.yawc.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Wichtig ist, dass der Asterisk neugestartet (<code>./cfg_asterisk stop</code> dann <code>./cfg_asterisk start</code>) werden muss, damit Konfigurationsänderungen übernommen werden oder man verbindet sich mit dem Asterisk über <code>./cfg_asterisk start r</code> und macht einen <code>sip reload</code> für die sip.conf oder <code>dialplan reload</code> für die extensions.conf.<br />
Ich werde auch nochmal einen Artikel darüber schreiben, wie man seinen Asterisk für den Heimbereich konfigurieren kann. Aber nicht mehr heute <img src='http://www.yawc.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Quellen</p>
<p><a href="http://www.juerging.net/projekte/Fritzbox-Asterisk/" target="_blank" class="liexternal">http://www.juerging.net/projekte/Fritzbox-Asterisk/</a><br />
<a href="http://www.ip-phone-forum.de/showthread.php?t=183313&amp;page=1" target="_blank" class="liexternal">http://www.ip-phone-forum.de/showthread.php?t=183313&amp;page=1</a></p>
<p><a href="http://de.wikipedia.org/wiki/FRITZ!Box" target="_blank" rel="nofollow" class="liexternal">FRITZ!Logo</a><br />
<a href="http://de.wikipedia.org/wiki/Asterisk_(Telefonanlage)" target="_blank" rel="nofollow" class="liexternal">Asterisk Logo (abgewandelt)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.yawc.de/2011/08/fritzbox-und-asterisk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

