<?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>Software &#8211; Patriks Blog</title>
	<atom:link href="https://patrikschoenfeldt.de/category/software/feed/" rel="self" type="application/rss+xml" />
	<link>https://patrikschoenfeldt.de</link>
	<description>cat /dev/brain &#62;&#62; /www/blog</description>
	<lastBuildDate>Fri, 16 Jan 2026 20:01:24 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>
	<item>
		<title>Nextcloud endlich wieder mit AIO-Mastercontainer</title>
		<link>https://patrikschoenfeldt.de/2026/01/nextcloud-endlich-wieder-mit-aio-mastercontainer/</link>
					<comments>https://patrikschoenfeldt.de/2026/01/nextcloud-endlich-wieder-mit-aio-mastercontainer/#respond</comments>
		
		<dc:creator><![CDATA[Patrik Schönfeldt]]></dc:creator>
		<pubDate>Fri, 16 Jan 2026 19:58:56 +0000</pubDate>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Ehrenamt]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Techtalk]]></category>
		<category><![CDATA[Webseite]]></category>
		<guid isPermaLink="false">https://patrikschoenfeldt.de/wordpress/?p=1083</guid>

					<description><![CDATA[Ich administriere seit längerer Zeit in meiner Freizeit zwei Nextcloud-Instanzen. Eine davon setzt auf Docker, die andere ist älter und nutzt direkt Apache, MariaDB (früher MySQL), und so weiter. Nun ließ sich seit längerem der AIO-Mastercontainer für Updates per Mausklick auf der Docker-Installation nicht mehr startet: Er war in einem Restart-Loop gefangen. Alle online gefundenen &#8230; <a href="https://patrikschoenfeldt.de/2026/01/nextcloud-endlich-wieder-mit-aio-mastercontainer/" class="more-link"><span class="screen-reader-text">Nextcloud endlich wieder mit AIO-Mastercontainer</span> weiterlesen</a>]]></description>
										<content:encoded><![CDATA[
<p>Ich administriere seit längerer Zeit in meiner Freizeit zwei Nextcloud-Instanzen. Eine davon setzt auf Docker, die andere ist älter und nutzt direkt Apache, MariaDB (früher MySQL), und so weiter. Nun ließ sich seit längerem der AIO-Mastercontainer für Updates per Mausklick auf der Docker-Installation nicht mehr startet: Er war in einem Restart-Loop gefangen. Alle online gefundenen Lösungsansätze haben leider nichts gebracht. (Bei der Version ohne Docker muss ich regelmäßig nach php-Updates einige Einstellungen glattziehen, aber das kenne ich.) Für Updates hieß es immer:</p>



<pre class="wp-block-code"><code># docker stop $(docker ps -a -q)
# for image in $(docker images --format "{{.Repository}}:{{.Tag}}" | grep -v '');
      do docker pull $image;
  done;
# docker start nextcloud-aio-apache nextcloud-aio-nextcloud nextcloud-aio-redis
  nextcloud-aio-database ...</code></pre>



<p>Leider kenne ich mich mit Docker nicht gut genug aus, um in angemessener Zeit selber eine Lösung zu finden und das manuelle Update hat ja geklappt. Nun habe ich endlich die Ursache für das Problem und damit auch die Lösung: Meine Docker-Installation war zu alt. Der Server war noch mit Debian 12 (aka &#8222;Bookworm&#8220;) unterwegs, das nur Docker 20.10 anbietet. Nach dem Update auf das aktuelle Debian 13 (aka &#8222;Trixie&#8220;) damit Docker 26.1 startete beim Reboot direkt automatisch der Mastercontainer.</p>

]]></content:encoded>
					
					<wfw:commentRss>https://patrikschoenfeldt.de/2026/01/nextcloud-endlich-wieder-mit-aio-mastercontainer/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Einstieg in Git(unter Windows)</title>
		<link>https://patrikschoenfeldt.de/2017/04/minimales-tutorial-fuer-gitunter-windows-teil-1/</link>
					<comments>https://patrikschoenfeldt.de/2017/04/minimales-tutorial-fuer-gitunter-windows-teil-1/#respond</comments>
		
		<dc:creator><![CDATA[Patrik Schönfeldt]]></dc:creator>
		<pubDate>Sun, 02 Apr 2017 10:21:20 +0000</pubDate>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Windows]]></category>
		<guid isPermaLink="false">https://patrikschoenfeldt.de/wordpress/?p=836</guid>

					<description><![CDATA[Nachtrag (2019): Ich empfehle mittlerweile die git-Anleitung von Roger Dudler. In diesem Beitrag geht es um die Benutzung von Git unter Windows. Git ist ein Programm zur Versionsverwaltung. Wenn man ein Projekt hat, das aus mehreren Dateien besteht, kann man einen Projektstatus jederzeit sichern und bei Bedarf mit anderen teilen. Auch ist es möglich, Änderungen &#8230; <a href="https://patrikschoenfeldt.de/2017/04/minimales-tutorial-fuer-gitunter-windows-teil-1/" class="more-link"><span class="screen-reader-text">Einstieg in Git<br />(unter Windows)</span> weiterlesen</a>]]></description>
										<content:encoded><![CDATA[<p>Nachtrag (2019): Ich empfehle mittlerweile die <a href="https://rogerdudler.github.io/git-guide/index.de.html">git-Anleitung von Roger Dudler</a>.</p>
<p>In diesem Beitrag geht es um die Benutzung von Git unter Windows. Git ist ein Programm zur Versionsverwaltung. Wenn man ein Projekt hat, das aus mehreren Dateien besteht, kann man einen Projektstatus jederzeit sichern und bei Bedarf mit anderen teilen. Auch ist es möglich, Änderungen zwischen Versionen anzuzeigen oder auch rückgängig zu machen: Man hat sozusagen ein Backup der alten Versionen und kann jederzeit mit ihnen Vergleichen. Wenn mehrere Beteiligte gleichzeitig auf ihren Rechnern an einer Datei arbeiten, hilft Git auch, die verschiedenen Änderungen zusammen zu führen.</p>
<p>In diesem Tutorial wird davon ausgegangen, dass der Benutzer auf ein existierendes Projekt (&#8222;Repository&#8220;) zugreifen will, das auf einem Git-Server gehostet wird. Gratis Hosting für Git-Projekte bieten unter anderem <a href="https://bitbucket.org/">BitBucket </a>oder <a href="https://github.com">GitHub</a>. Da ich den Text für Gelegenheitsznutzer und Windows verfasse, benutze ich nach Möglichkeit nur die grafische Oberfläche. (Wenn man bestimmte Aufgaben oft zu erledigen hat, halte ich Kommandozeilenwerkzeuge eigentlich für benutzerfreundlicher als grafische Oberflächen. Grafische Oberflächen sind bei selterner Benutzung aber eine prima Gedankenstütze.)</p>
<p><span id="more-836"></span></p>
<p>Da Git meist nicht vorinstlliert ist, muss man es vor benutzung installieren. Windows-Nutzern sei hierfür das offizielle <a href="https://git-scm.com/download/win">Git-für-Windows-Setup</a> empfohlen. Die Voreinstellungen des Setup-Proramms sind gut gewählt, weiche nur davon ab, wenn du weißt, was du tust. (Wenn du dieses Tutorial brauchst, ist das wahrscheinlich nicht der Fall.)</p>
<p>Nach der Installation könnteGit direkt verwendet werden. Zuerst gehen wir jetzt aber einmalig in die Kommandozeile. Uploads werden von Git mit einem Namen und eine E-Mail-Adresse markiert, um die Herkunft der Änderungen zu zeigen. Die folgenden beiden Befehle (mit passender E-Mail-Adresse und Benutzernamen) in die Kommandozeile (&#8222;Eingabeaufforderung&#8220;) einfügen und fertig.</p>
<blockquote><p>git config &#8211;global user.email user@server.invalid</p>
<p>git config &#8211;global user.name &#8222;Vorname Nachname&#8220;</p></blockquote>
<p>(An dieser Stelle ging es über die Kommandozeile dann doch schneller. Das Argument Gedankenstütze zählt bei einmaliger Benutzung ja nicht.) Im Startmenü (oder auf dem Startbildschirm) sollte &#8222;<em>Git GUI&#8220;</em> auftauchen. Frisch gestartet sieht sie unbenutzt noch so aus:</p>
<p><a href="/wordpress/wp-content/uploads/2017/04/git-gui-main.png"><img fetchpriority="high" decoding="async" class="aligncenter size-medium wp-image-838" src="/wordpress/wp-content/uploads/2017/04/git-gui-main-300x176.png" alt="" width="300" height="176" srcset="https://patrikschoenfeldt.de/wordpress/wp-content/uploads/2017/04/git-gui-main-300x176.png 300w, https://patrikschoenfeldt.de/wordpress/wp-content/uploads/2017/04/git-gui-main.png 451w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Wenn später eigene Änderungen hochgeladen werden sollen, muss der eigene SSH-Key beim Git-Server hochgeladen werden. Bei GitHub findet man eine Eingabemaske unter <a href="https://github.com/settings/keys">https://github.com/settings/keys</a>. Den eigenen <em>Key</em> findet man unter &#8222;<em>Show SSH Key</em>&#8220; im Menü &#8222;<em>Help</em>&#8220; der <em>Git GUI</em>. (Wer vorher noch kein SSH genutzt hat, muss per &#8222;Generate Key&#8220; einen erstellen.) Angezeigt wird der persönliche, öffentliche Schlüssel für den aktuell genutzen Computer. Er ist nicht geheim sondern dient dem Identitätsbeweis. Daher könnt ihr meinen auch gern sehen:</p>
<p><a href="/wordpress/wp-content/uploads/2017/04/git-gui-ssh-key.png"><img decoding="async" class="aligncenter size-medium wp-image-842" src="/wordpress/wp-content/uploads/2017/04/git-gui-ssh-key-300x214.png" alt="" width="300" height="214" srcset="https://patrikschoenfeldt.de/wordpress/wp-content/uploads/2017/04/git-gui-ssh-key-300x214.png 300w, https://patrikschoenfeldt.de/wordpress/wp-content/uploads/2017/04/git-gui-ssh-key.png 371w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Jetzt wird es ernst: Über &#8222;Clone Existing Repository&#8220; (in der Hauptansicht der <em>Git GUI</em>) kann ein bestehendes Projekt auf den eigenen Computer kopiert werden. Wenn man einen SSH-Key hinterlegt hat, empfiehlt es sich, hier auch eine SSH-Adresse anzugeben. (Das ist im nächsten Screenshot der Fall.) Um nur immer einen aktuellen Stand zu laden ohne eigene Änderungen zu teilen, kann man stattdessen einen HTTP-Link nehmen. Achtung: Das Zielverzeichnis darf noch nicht existieren. (Am bequemsten ist es vermutlich, wenn man sich per &#8222;Browse&#8220;-Funktion zum richtien Ort manöviert und dann den Namen des Zielverzeichnisses eintippt.)</p>
<p><a href="/wordpress/wp-content/uploads/2017/04/git-gui-clone.png"><img decoding="async" class="aligncenter size-medium wp-image-837" src="/wordpress/wp-content/uploads/2017/04/git-gui-clone-300x133.png" alt="" width="300" height="133" srcset="https://patrikschoenfeldt.de/wordpress/wp-content/uploads/2017/04/git-gui-clone-300x133.png 300w, https://patrikschoenfeldt.de/wordpress/wp-content/uploads/2017/04/git-gui-clone.png 618w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>SSH-Fingerabdruck dürfte beim ersten Mal unbekannt sein. Gewissenhafte Nutzer überprüfen ihn (<a href="https://help.github.com/articles/github-s-ssh-key-fingerprints/">GitHub SSH Keys</a>). Akzeptiert wird der Key durch Eintippen von &#8222;yes&#8220; in das Textfeld.</p>
<p><a href="/wordpress/wp-content/uploads/2017/04/git-gui-projekt.png"><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-840" src="/wordpress/wp-content/uploads/2017/04/git-gui-projekt-300x165.png" alt="" width="300" height="165" srcset="https://patrikschoenfeldt.de/wordpress/wp-content/uploads/2017/04/git-gui-projekt-300x165.png 300w, https://patrikschoenfeldt.de/wordpress/wp-content/uploads/2017/04/git-gui-projekt-768x422.png 768w, https://patrikschoenfeldt.de/wordpress/wp-content/uploads/2017/04/git-gui-projekt.png 899w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>Nach dem Clone öffnet sich das Projekt-Fenster der <em>Git GUI</em>. Außerdem befinden sich die Dateien des Projekts auf der Festplatte. Dort kann man mit ihnen arbeiten und sie Verändern. Git wird jetzt erst einmal nicht mehr gebraucht. Man arbeitet einfach mit den lokalen Dateien, bearbeitet sie zum Beispiel mit einem Texteditor. Nur das verzeichnis &#8222;.git&#8220; (normalerweise versteckt) sollte man tunlichst nicht anfassen: Hierin legt Git seine Statusinforationen ab.</p>
<p><a href="/wordpress/wp-content/uploads/2017/04/inovesa-files-windows.png"><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-844" src="/wordpress/wp-content/uploads/2017/04/inovesa-files-windows-300x237.png" alt="" width="300" height="237" srcset="https://patrikschoenfeldt.de/wordpress/wp-content/uploads/2017/04/inovesa-files-windows-300x237.png 300w, https://patrikschoenfeldt.de/wordpress/wp-content/uploads/2017/04/inovesa-files-windows-768x608.png 768w, https://patrikschoenfeldt.de/wordpress/wp-content/uploads/2017/04/inovesa-files-windows.png 950w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>Irgendwann ist das Tagwerk getan &#8211; oder man will einfach einen aktuellen Stand sichern oder teilen. Wenn das der Fall ist, kann man das über die <em>Git GUI</em> tun. Die Hauptansicht sollte jetzt eine Übersicht an zuletzt geöffneten Projekten abieten:</p>
<p><a href="/wordpress/wp-content/uploads/2017/04/git-gui-main-used.png"><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-839" src="/wordpress/wp-content/uploads/2017/04/git-gui-main-used-300x254.png" alt="" width="300" height="254" srcset="https://patrikschoenfeldt.de/wordpress/wp-content/uploads/2017/04/git-gui-main-used-300x254.png 300w, https://patrikschoenfeldt.de/wordpress/wp-content/uploads/2017/04/git-gui-main-used.png 453w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>Per Klick auf eines der zuletzt geöffneten Projekte (&#8222;Repositories&#8220;) gelangt man leicht wieder in die Projektansicht. Diese listet nun die gemachten Änderungen auf.</p>
<p><em><a href="/wordpress/wp-content/uploads/2017/04/git-gui-projekt-benutzt.png"><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-847" src="/wordpress/wp-content/uploads/2017/04/git-gui-projekt-benutzt-300x159.png" alt="" width="300" height="159" srcset="https://patrikschoenfeldt.de/wordpress/wp-content/uploads/2017/04/git-gui-projekt-benutzt-300x159.png 300w, https://patrikschoenfeldt.de/wordpress/wp-content/uploads/2017/04/git-gui-projekt-benutzt-768x408.png 768w, https://patrikschoenfeldt.de/wordpress/wp-content/uploads/2017/04/git-gui-projekt-benutzt.png 904w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></em></p>
<p>Man kann sie nun begutachten und als Projektstand speichern. Hierzu klickt man auf Dateien mit &#8222;Unstaged Changes&#8220;, sie tauchen daraufhin bei den &#8222;Staged Changes&#8220; auf. Um die Übersicht zu behalten, sollte man jetzt noch kurz die Änderungen in der &#8222;Commit Message&#8220; zusammenfassen. Aschließend wird der Stand per Klick auf auf den &#8222;Commit&#8220;-Button (unten neben der gerade geschriebenen Zusammenfassung) gespeichert. Man kann nun jederzeit wieder auf diesen Stand zurückkehren. Wer den Weg über SSH gegangen ist, kann seine Änderungen per Klick auf &#8222;Push&#8220; auch auf den Server hochladen.</p>
<p>Wenn auf dem Server Änderungen von anderen Benutzern vorhanden sind, wird das &#8222;Push&#8220; nicht gelingen: Die fremden Änderungen müssen zunächst abgeholt und mit den eigenen zusammengeführt werden. Wie das geht, erkläre ich jetzt aber nicht mehr.</p>

]]></content:encoded>
					
					<wfw:commentRss>https://patrikschoenfeldt.de/2017/04/minimales-tutorial-fuer-gitunter-windows-teil-1/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Redesign, ssl und Auswertung der VDVC-Umfrage</title>
		<link>https://patrikschoenfeldt.de/2015/09/redesign-ssl-und-auswertung-der-vdvc-umfrage/</link>
					<comments>https://patrikschoenfeldt.de/2015/09/redesign-ssl-und-auswertung-der-vdvc-umfrage/#respond</comments>
		
		<dc:creator><![CDATA[Patrik Schönfeldt]]></dc:creator>
		<pubDate>Sun, 20 Sep 2015 19:24:37 +0000</pubDate>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">https://patrikschoenfeldt.de/wordpress/?p=737</guid>

					<description><![CDATA[Im Hintergrund laufen die Scripte für die letzten Analysen der VDVC-Jahresumfrage. (Letztes Jahr habe ich mir dafür einige Wochen frei genommen, dieses Jahr muss es nebenher laufen.) Und während ich auf die Ersetzungen der im Freitext eingegebenen Titel durch die “richtigen” Schreibweisen warte, habe ich meine Webseite flott gemacht. (Vermutlich ist es einfach besonders effektiv, &#8230; <a href="https://patrikschoenfeldt.de/2015/09/redesign-ssl-und-auswertung-der-vdvc-umfrage/" class="more-link"><span class="screen-reader-text">Redesign, ssl und Auswertung der VDVC-Umfrage</span> weiterlesen</a>]]></description>
										<content:encoded><![CDATA[<p>Im Hintergrund laufen die Scripte für die letzten Analysen der <a href="http://vdvc.de/blog/2015/01/01/umfrage-2014-abgeschlossen/">VDVC-Jahresumfrage</a>. (Letztes Jahr habe ich mir dafür einige Wochen frei genommen, dieses Jahr muss es nebenher laufen.) Und während ich auf die Ersetzungen der im Freitext eingegebenen Titel durch die “richtigen” Schreibweisen warte, habe ich meine Webseite flott gemacht. (Vermutlich ist es einfach besonders effektiv, die <a href="https://github.com/VDVC/Survey/blob/master/daten/schreibweisen.tsv">Tabelle mit den Schreibweisen</a> in <code>sed</code> einzuspeisen.)</p>
<p>Besonders genervt hat mich bei der Webseite SSL. Eine hauptsächlich verschlüsselte Seite mit unverschlüsselten Bildern fühlt sich laut Firefox-Icon unsicherer an als eine komplett unverschlüsselte Seite. Das ist natürlich sehr unästhetisch und da ich absolute Links zu Bildern gesetzt hatte, war die Behebung manuell zu erledigen.</p>
<p>Bei der Umfrage (der Teil mit <code>sed</code>) hat mich vor allem “Mount&amp;Blade: Warband” genervt. Ich musste das “&amp;” in der Variablen escapen, die ich vorher per regexp aus der Tabelle geholt habe. Die Lösung:</p>
<blockquote><p><code>while read p; do<br />
    replaceme=$(echo "${p#*'    '}" | sed 's/&amp;/\\&amp;/')<br />
    replaceby=$(echo "${p%'    '*}" | sed 's/&amp;/\\&amp;/')<br />
    sed -i "s#$replaceme#$replaceby#gI" $datenfileout<br />
done < $duplikatsliste</code>
</p></blockquote>
<p>Wenn das jetzt durchläuft, bin ich zumindest ein gutes Stück weiter.</p>

]]></content:encoded>
					
					<wfw:commentRss>https://patrikschoenfeldt.de/2015/09/redesign-ssl-und-auswertung-der-vdvc-umfrage/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>GnuPG-Schlüsselstruktur</title>
		<link>https://patrikschoenfeldt.de/2015/02/gnupg-schluesselstruktur/</link>
					<comments>https://patrikschoenfeldt.de/2015/02/gnupg-schluesselstruktur/#respond</comments>
		
		<dc:creator><![CDATA[Patrik Schönfeldt]]></dc:creator>
		<pubDate>Sat, 14 Feb 2015 13:28:05 +0000</pubDate>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[GnuPG]]></category>
		<guid isPermaLink="false">http://patrikschoenfeldt.de/wordpress/?p=695</guid>

					<description><![CDATA[Neulich wurde mir gesagt, ich hätte „einen Haufen“ GPG-Keys. Da das stimmt, gibt es anlässlich des heutigen cryptovalentine&#8217;s day eine Aufstellung: Für alltäglichen Mailverkehr interessant sind vor allem die beiden Keys, von denen ich jeweils einen für eine Mailadresse verwende: Patrik Schönfeldt (mail@patrikschoenfeldt.de) Fingerprint=89C4 340D 292A 5215 8389 BAAB 2DAC 3458 9558 2294 Patrik Schönfeldt &#8230; <a href="https://patrikschoenfeldt.de/2015/02/gnupg-schluesselstruktur/" class="more-link"><span class="screen-reader-text">GnuPG-Schlüsselstruktur</span> weiterlesen</a>]]></description>
										<content:encoded><![CDATA[<p><a href="/wordpress/wp-content/uploads/2015/02/ilovefs-heart-small-en.png"><img loading="lazy" decoding="async" src="/wordpress/wp-content/uploads/2015/02/ilovefs-heart-small-en.png" alt="ilovefs-heart-small-en" width="150" height="90" class="alignright size-full wp-image-696" /></a>Neulich wurde mir gesagt, ich hätte „einen Haufen“ GPG-Keys. Da das stimmt, gibt es anlässlich des heutigen <a href="https://www.fsf.org/blogs/community/will-you-be-my-cryptovalentine">cryptovalentine&#8217;s day</a> eine Aufstellung:</p>
<p>Für alltäglichen Mailverkehr interessant sind vor allem die beiden Keys, von denen ich jeweils einen für eine Mailadresse verwende:<br />
<code>Patrik Schönfeldt (mail@patrikschoenfeldt.de)<br />
Fingerprint=89C4 340D 292A 5215 8389  BAAB 2DAC 3458 9558 2294</code></p>
<p><code>Patrik Schönfeldt (patrik.schoenfeldt@vdvc.de)<br />
Fingerprint=DF1E 85A4 1E4B B9E0 3731  F47E E910 9892 D1E9 B3AD</code></p>
<p>Nur für Signaturen anderer Keys gibt es folgenden Key:<br />
<code>Patrik Schönfeldt <gnupg@patrikschoenfeldt.de><br />
Fingerprint=922A E025 4C43 63F8 3D00  A306 8946 BCDE EADF 86F0</code><br />
Dieser ist an einem sicheren Ort gespeichert und bestätigt z.B. die Echtheit der Primärkeys. Die Gültigkeit ist 2015/2016. Wer einen Schlüssel von mir signieren möchte: Dieser ist der beste für diesen Zweck.</p>
<p>Mein alter Key (damals einer für alles) wurde durch die bisher genannten abgelöst.<br />
<code>Patrik Schönfeldt (Key for 2011 to 2015, patrik.schoenfeldt@gmx.net)<br />
Fingerprint=393B DD4B FA25 5092 68BC  9081 AD1B D149 64F8 EC43</code><br />
Er wird dieses Jahr auslaufen, und hat noch Mailadressen angegeben, die ich eigentlich gar nicht mehr benutze. Da er aber häufiger signiert wurde als die anderen Keys, werde ich ihn nicht widerrufen, damit er mittelbar das Vertrauen in die neueren Schlüssel bestätigt.</p>
<p>Es gibt noch andere Schlüssel, aber dazu habe ich keine privaten Schlüssel mehr. Widerrufen ist ist also nicht mehr drin.</p>

]]></content:encoded>
					
					<wfw:commentRss>https://patrikschoenfeldt.de/2015/02/gnupg-schluesselstruktur/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Samsung ML-1660 und Linux</title>
		<link>https://patrikschoenfeldt.de/2013/04/samsung-ml-1660-und-linux/</link>
					<comments>https://patrikschoenfeldt.de/2013/04/samsung-ml-1660-und-linux/#respond</comments>
		
		<dc:creator><![CDATA[Patrik Schönfeldt]]></dc:creator>
		<pubDate>Sat, 27 Apr 2013 10:20:24 +0000</pubDate>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Linux]]></category>
		<guid isPermaLink="false">http://patrikschoenfeldt.de/wordpress/?p=480</guid>

					<description><![CDATA[Da die ersten Hits bei der Suche nach Linux und dem Samsung ML-1660 (meinem Drucker) immer noch auf Samsungs Binärtreiber verweisen: Es gibt eine einfachere Möglichkeit, den Printer zu nutzen. Es gibt einen freien Treiber für Cups, mit dem Namen SpliX. Dieser ist als Paket splix z.B. unter Ubuntu oder Fedora verfügbar. Wenn man das &#8230; <a href="https://patrikschoenfeldt.de/2013/04/samsung-ml-1660-und-linux/" class="more-link"><span class="screen-reader-text">Samsung ML-1660 und Linux</span> weiterlesen</a>]]></description>
										<content:encoded><![CDATA[<p>Da die ersten Hits bei der Suche nach <em>Linux</em> und dem <em>Samsung ML-1660</em> (meinem Drucker) immer noch auf Samsungs Binärtreiber verweisen: Es gibt eine einfachere Möglichkeit, den Printer zu nutzen. Es gibt einen freien Treiber für Cups, mit dem Namen <a href="http://splix.ap2c.org/">SpliX</a>. Dieser ist als Paket <em>splix</em> z.B. unter Ubuntu oder Fedora verfügbar. Wenn man das installiert, läuft der Drucker ganz ohne manuelles Entpacken von zig Dateien.</p>

]]></content:encoded>
					
					<wfw:commentRss>https://patrikschoenfeldt.de/2013/04/samsung-ml-1660-und-linux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Steam unter Debian mit chroot</title>
		<link>https://patrikschoenfeldt.de/2013/02/steam-unter-debian-mit-chroot/</link>
					<comments>https://patrikschoenfeldt.de/2013/02/steam-unter-debian-mit-chroot/#comments</comments>
		
		<dc:creator><![CDATA[Patrik Schönfeldt]]></dc:creator>
		<pubDate>Thu, 07 Feb 2013 10:20:10 +0000</pubDate>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Planet VDVC]]></category>
		<category><![CDATA[Steam]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<guid isPermaLink="false">http://patrikschoenfeldt.de/wordpress/?p=463</guid>

					<description><![CDATA[Update 02. Juni 2013: Seit spätestens Ende Mai 2013 ist Steam in den offiziellen Debian-Repositories (aktuell nur experimental) verfügbar. Der Umweg mit dem Ubuntu-Chroot ist aber ohnehin nicht mehr nötig, weil Testing mittlerweile aktuell genug ist. Seit Ende November ist Steam für Linux erhältlich, sogar mit Counter-Strike: Source (seit vorgestern). Doch offiziell unterstützt wird leider &#8230; <a href="https://patrikschoenfeldt.de/2013/02/steam-unter-debian-mit-chroot/" class="more-link"><span class="screen-reader-text">Steam unter Debian mit chroot</span> weiterlesen</a>]]></description>
										<content:encoded><![CDATA[<p><strong>Update 02. Juni 2013:</strong> Seit spätestens Ende Mai 2013 ist Steam in den offiziellen Debian-Repositories (aktuell nur experimental) verfügbar. Der Umweg mit dem Ubuntu-Chroot ist aber ohnehin nicht mehr nötig, weil Testing mittlerweile aktuell genug ist.</p>
<hr />
<p>Seit Ende November ist <a href="http://patrikschoenfeldt.de/wordpress/2012/11/steam-fur-linux-erhaltlich/">Steam für Linux erhältlich</a>, sogar mit <a href="http://www.phoronix.com/scan.php?page=news_item&#038;px=MTI5NDI"><em>Counter-Strike: Source</em> (seit vorgestern)</a>. Doch offiziell unterstützt wird leider nur Ubuntu in der Version 12.04. Für die meisten Linuxnutzer ist das kein Problem, weil es meistens trotzdem läuft. Mit Debian ist das leider nicht der Fall. Ein bekanntes Workaround ist das Setzen von Umgebungsvariablen, was aber leider den Paketmanager umgeht. Eine in meinen Augen elegantere Möglichkeit ist die Benutzung von chroot.</p>
<p><figure id="attachment_466" aria-describedby="caption-attachment-466" style="width: 300px" class="wp-caption aligncenter"><a href="http://patrikschoenfeldt.de/wordpress/wp-content/uploads/2013/02/steam.png"><img loading="lazy" decoding="async" src="http://patrikschoenfeldt.de/wordpress/wp-content/uploads/2013/02/steam-300x129.png" alt="Screenshot: Steam" width="300" height="129" class="size-medium wp-image-466" srcset="https://patrikschoenfeldt.de/wordpress/wp-content/uploads/2013/02/steam-300x129.png 300w, https://patrikschoenfeldt.de/wordpress/wp-content/uploads/2013/02/steam.png 961w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><figcaption id="caption-attachment-466" class="wp-caption-text">Steam unter Debian</figcaption></figure></p>
<p>Die Installation der Chroot-Umgebung mit Ubuntu ist denkbar einfach.<span id="more-463"></span> (Zu den angegebenen Befehlen: #: als Root ausführen, $: als User ausführen; in eckigen Klammern meint in der Chroot-Umgebung.) Es empfiehlt sich, direkt nach der Installation die Repositories zu bearbeiten und dem Nutzer (in meinem Fall <em>patrik</em>) die Nutzung des chroots zu erlauben:<br />
<code><br />
#: debootstrap --arch i386 precise /srv/chroot/ubuntu/ http://archive.ubuntu.com/ubuntu<br />
#: echo -e "deb http://archive.ubuntu.com/ubuntu precise main\n<br />
            deb http://archive.ubuntu.com/ubuntu precise-updates main\n<br />
            deb http://archive.ubuntu.com/ubuntu precise-security main\n"<br />
> /srv/chroot/ubuntu/etc/apt/sources.list<br />
#: echo -e "[Ubuntu 12.04]\n<br />
            description=Ubuntu Precise\n<br />
            directory=/srv/chroot/ubuntu\n<br />
            aliases=precise,default\n<br />
            users=patrik\n"<br />
>> /etc/schroot/schroot.conf<br />
</code></p>
<p>Zur Vorbereitung der neuen Umgebung sollte man zudem die Benutzereinstellungen in die neue Umgebung einfügen. Ich habe das teilweise per mounts gemacht, teilweise einfach kopiert:<br />
<code><br />
#: echo -e "# Ubuntu chroot\n<br />
            /home /srv/chroot/ubuntu/home none bind 0 0\n<br />
            /tmp /srv/chroot/ubuntu/tmp none bind 0 0\n<br />
            /dev /srv/chroot/ubuntu/dev none bind 0 0\n<br />
            /proc /srv/chroot/ubuntu/proc proc defaults 0 0\n<br />
            /run/shm /srv/chroot/ubuntu/run/shm none bind 0 0\n"<br />
>> /etc/fstab<br />
#: cp /etc/group /srv/chroot/ubuntu/etc/group<br />
#: cp /etc/passwd /srv/chroot/ubuntu/etc/passwd<br />
#: cp /etc/shadow /srv/chroot/ubuntu/etc/shadow<br />
#: cp /etc/hosts /srv/chroot/ubuntu/etc/hosts<br />
#: mount -a<br />
</code></p>
<p>Um in der Chroot-Umgebung auch auf den XServer zugreifen zu können, kann man (als Nutzer!) xhost erlauben, alle lokal laufenden Prozesse anzuzeigen:<br />
<code>xhost + local:</code></p>
<p>Damit läuft das Chroot-System auch schon. (Ja, ich hätte auch einfach ein Script bauen können, dann hätte niemand Befehle abtippen oder kopieren und einfügen müssen. Aber man soll ja auch was lernen.) Allerdings hatte zumindest ich Probleme mit der (nicht installierten) Lokalisierung. Also geht es erst einmal ab in die neue Umgebung:<br />
<code><br />
#: dchroot -d<br />
</code><br />
Dort angekommen, habe ich zuerst die Locale auf C gesetzt, um dann ohne Fehlermeldung in der Chroot die Locales installieren zu können. Direkt darauf folgen xterm (das installiert schon mal automatisch Xserver, etc mit) und wget. Beides ist nützlich für die spätere Installation von Steam. Außerdem installiere ich jockey-common und python-apt, weil Steam sonst später sudo startet, was ich nicht benutze(n möchte).<br />
<code><br />
[#:] export LANG=C.UTF-8<br />
[#:] export LANGUAGE=C<br />
[#:] apt-get update<br />
[#:] apt-get upgrade<br />
[#:] apt-get install language-pack-de<br />
[#:] export LANG=de_DE.UTF-8<br />
[#:] export LANGUAGE=de_DE<br />
[#:] apt-get install xterm wget<br />
[#:] apt-get install jockey-common python-apt<br />
</code></p>
<p>Jetzt kann Steam auch schon installiert werden. Direkt danach werden die Abhängigkeiten nachinstalliert.<br />
<code><br />
[#:] wget http://media.steampowered.com/client/installer/steam.deb<br />
[#:] dpkg -i steam.deb<br />
[#:] apt-get -f install<br />
</code></p>
<p>Damit ist Steam installiert. Um es nutzen zu können, muss die Chroot-Umgebung aber noch wissen, wo der Xserver zu finden ist. Um sicher zu gehen, dass es klappt, habe ich vor dem Start von Steam noch eben die DISPLAY-Variable gesetzt.<br />
<code><br />
$: dchroot -d<br />
[$:] export DISPLAY=:0<br />
[$:] steam<br />
</code></p>
<p>Gratulation! Jetzt sollte Steam in der Chroot-Umgebung laufen. Allerdings ist das noch alles andere als komfortabel. Um nicht jedes Mal ins Terminal gehen zu müssen, legen wir ein kleines Skript an. Es liegt /usr/local/bin/do_dchroot und hat folgenden Inhalt:<br />
<code><br />
#! /bin/bash<br />
/usr/bin/dchroot -d "`echo $0 | sed 's|^.*/||'` $*<br />
</code></p>
<p>Dieses Skript ruft automatisch Befehle in der Chroot-Umgebung auf, die den Namen des Skripts haben. Ein direktes Aufrufen würde also „do_dchroot“ innerhalb der Chroot-Umgenung aufrufen. Das ist natürlich nicht nützlich, aber mit einem kleinen Kniff wird es sehr praktisch:<br />
<code><br />
#: ln -s /usr/local/bin/do_dchroot /usr/local/bin/steam<br />
</code><br />
Man kann Symlinks mit beliebigen Namen auf das Skript<sup>[<a href="#steam-unter-debian-mit-chroot-n-1" class="footnoted" id="to-steam-unter-debian-mit-chroot-n-1">1</a>]</sup> verweisen lassen, die dann automatisch den Namen des Links im Chroot ausführen.</p>
<p>Wenn ich nichts vergessen haben sollte, müsste Steam jetzt genau so laufen, als wäre es normal unter Ubuntu installiert.</p>
<p><strong>Update 11. Februar 2013:</strong> Einige Flüchtigkeitsfehler behoben.</p>

<ol class="footnotes">
	<li class="footnote" id="steam-unter-debian-mit-chroot-n-1"><strong><sup>[1]</sup></strong>Gefunden habe ich diese Idee bei <a href="http://ubuntuforums.org/showthread.php?t=24575">Ubuntuforums</a><a class="note-return" href="#to-steam-unter-debian-mit-chroot-n-1">&#x21A9;</a></li></ol>
]]></content:encoded>
					
					<wfw:commentRss>https://patrikschoenfeldt.de/2013/02/steam-unter-debian-mit-chroot/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Der PC ist tot</title>
		<link>https://patrikschoenfeldt.de/2012/09/der-pc-ist-tot/</link>
					<comments>https://patrikschoenfeldt.de/2012/09/der-pc-ist-tot/#comments</comments>
		
		<dc:creator><![CDATA[Patrik Schönfeldt]]></dc:creator>
		<pubDate>Sat, 29 Sep 2012 09:42:00 +0000</pubDate>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Markt]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[User-Interface]]></category>
		<category><![CDATA[Windows]]></category>
		<guid isPermaLink="false">http://patrikschoenfeldt.de/wordpress/?p=418</guid>

					<description><![CDATA[Windows 8 kommt. Damit opfert Microsoft den Desktop-Markt, um seinen Fuß in die Tür zum Markt für mobile Geräte zu bekommen. Das zumindest könnte eine Erklärung sein. Das User-Interface von Windows 8 ist definitiv nicht für die Bedienung mit Maus und Tastatur ausgelegt. Ich habe schon vieles benutzt oder ausprobiert, Windows seit Version 3.0, Gnome, &#8230; <a href="https://patrikschoenfeldt.de/2012/09/der-pc-ist-tot/" class="more-link"><span class="screen-reader-text">Der PC ist tot</span> weiterlesen</a>]]></description>
										<content:encoded><![CDATA[<p>Windows 8 kommt. Damit opfert Microsoft den Desktop-Markt, um seinen Fuß in die Tür zum Markt für mobile Geräte zu bekommen. Das zumindest könnte eine Erklärung sein.</p>
<p>Das User-Interface von Windows 8 ist definitiv nicht für die Bedienung mit Maus und Tastatur ausgelegt. Ich habe schon vieles benutzt oder ausprobiert, Windows seit Version 3.0, Gnome, KDE, Enlightenment, XFCE und diverse andere Oberflächen für Linux. Windows  8 ist das erste System, bei dem ich ohne Erklärung nicht einmal ein Fenster schließen konnte. Warum Microsoft den Nutzern so etwas antut? Vermutlich, weil sie es können – die Marktmacht ist groß genug. Fakt ist, dass die meisten die neue Version wohl als Überraschung auf einem neuen Computer entdecken werden.</p>
<p>Doch einen Firma, so groß sie auch sein mag, wird nicht zum Spaß ihre Kunden verärgern. Meine Erklärung: Microsoft hat erkannt, dass viele Menschen keinen PC brauchen und eigentlich auch gar keinen wollen. Sie haben ihren Computer, um E-Mails abzurufen und im Internet zu Surfen. Als sie ihn (oder den Vorgänger) gekauft haben, brauchte man dazu noch einen Computer. Man hat ihnen beigebracht: Um online zu sein, benötigt man einen Computer und ein Modem. Das Modem in seiner ursprünglichen Form ist inzwischen weggefallen, dass es keinen ausgewachsenen PC mehr braucht, haben viele aber noch nicht realisiert. Und selbst wenn das falsch sein sollte: Der mobile Markt wird an Bedeutung gewinnen. Und dieser läuft bisher faktisch ohne Microsoft ab.</p>
<p>Wenn es dann aber so weit ist, dass Tabletts zum Standardequipment gehören, will man in Redmond sagen können: Wir haben hier etwas, das funktioniert genau so, wie ihr es vom Desktop kennt. Hätte Microsoft für Tabletts und Desktops zwei verschiedene (jeweils besser geeignete) Oberflächen designt, würden sich die Käufer frei zwischen Apple, Android und Microsoft entscheiden. An <em>eine</em> neue Umgebung müssen sich ohnehin gewöhnen. Der Mensch ist ein Gewohnheitstier und auf dem PC kann Microsoft dem Nutzer einfacher vorgeben, das eigene Tablett-System zu erlernen.</p>
<p>Der Plan kann aber auch nach hinten los gehen: Wenn die Nutzer schon beim ersten Anblick von Windows 8 merken, dass sie sich eh umgewöhnen müssen – und so den Absprung von Windows wagen.</p>

]]></content:encoded>
					
					<wfw:commentRss>https://patrikschoenfeldt.de/2012/09/der-pc-ist-tot/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>DRM und kulturelle Verantwortung</title>
		<link>https://patrikschoenfeldt.de/2012/05/drm-und-kulturelle-verantwortung/</link>
					<comments>https://patrikschoenfeldt.de/2012/05/drm-und-kulturelle-verantwortung/#respond</comments>
		
		<dc:creator><![CDATA[Patrik Schönfeldt]]></dc:creator>
		<pubDate>Wed, 02 May 2012 06:11:42 +0000</pubDate>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[DRM]]></category>
		<category><![CDATA[Kultur]]></category>
		<category><![CDATA[Planet VDVC]]></category>
		<guid isPermaLink="false">http://patrikschoenfeldt.de/wordpress/?p=334</guid>

					<description><![CDATA[DRM-Maßnahmen werden immer strenger, Gebrauchthandel soll unterbunden werden. Während auf dem PC zum Alltag gehört, dass bezahlte Spiele via Steam, Origin und Co an den Erstnutzer gebunden werden, sollen Gerüchten zufolge sowohl auf der nächsten XBox als auch auf der nächsten Playstation keine gebrauchten Games mehr laufen. Während diese technischen Maßnahmen den Spieler per Software &#8230; <a href="https://patrikschoenfeldt.de/2012/05/drm-und-kulturelle-verantwortung/" class="more-link"><span class="screen-reader-text">DRM und kulturelle Verantwortung</span> weiterlesen</a>]]></description>
										<content:encoded><![CDATA[<p>DRM-Maßnahmen werden immer strenger, Gebrauchthandel soll unterbunden werden. Während auf dem PC zum Alltag gehört, dass bezahlte Spiele via Steam, Origin und Co an den Erstnutzer gebunden werden, sollen Gerüchten zufolge sowohl auf der nächsten XBox als auch auf der nächsten Playstation keine gebrauchten Games mehr laufen. Während diese technischen Maßnahmen den <a href="http://www.zeit.de/digital/games/2012-04/games-kopierschutz-vertrauen/">Spieler per Software entmündigen</a>, fordert Crysis-Entwickler Crytek ein gesetzliches <a href="http://www.gulli.com/news/18680-entwicklerstudio-crytek-fordert-verbot-von-gebrauchtspielen-kommentar-2012-04-27">Verbot von Gebrauchtspielen</a>.</p>
<p>Auf diese Weise untergräbt die Branche, die so sehr um die <a href="http://spielkultur.ea.de/kategorien/jugendschutz/wieder-killerspieldebatte-bei-nominierungen-zum-deutschen-computerspielpreis">Akzeptanz „ihres“ Mediums als Kulturgut</a> kämpft, eben diesen Anspruch, den sie selber stellt. Kultur lehrt sehr viel über die Gesellschaft, was sie denkt, fühlt und fürchtet. Nicht nur dort, wo vermutlich jeder es erwartet, sondern auch in Horrorfilmen und Ego-Shootern. Gozilla zum Beispiel ist Symbol für die zerstörerische Gewalt nuklearer Waffen, unter deren Eindruck sich Japan in den 1950er Jahren befand, King Kong greift die Sklaverei in Amerika als Thema auf und SiFi-Shootern thematisieren typischerweise die Ambivalenz von Nutzen und Gefahr neuer Technologie. Kultur ist Teil des gesellschaftlichen Gedächtnisses, kein Wegwerfprodukt. Daher wird sie in Museen, Archiven und  Bibliotheken für die Nachwelt bewahrt. Sie bildet ab, was die Gesellschaft bewegt, und behandelt ihre Ängste.<span id="more-334"></span></p>
<p><figure id="attachment_336" aria-describedby="caption-attachment-336" style="width: 300px" class="wp-caption alignleft"><a href="http://patrikschoenfeldt.de/wordpress/wp-content/uploads/2012/05/Copyright-Gap.png"><img loading="lazy" decoding="async" src="http://patrikschoenfeldt.de/wordpress/wp-content/uploads/2012/05/Copyright-Gap-300x182.png" alt="" title="Copyright-Gap" width="300" height="182" class="size-medium wp-image-336" srcset="https://patrikschoenfeldt.de/wordpress/wp-content/uploads/2012/05/Copyright-Gap-300x182.png 300w, https://patrikschoenfeldt.de/wordpress/wp-content/uploads/2012/05/Copyright-Gap.png 520w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><figcaption id="caption-attachment-336" class="wp-caption-text">Quelle: Spiegel Online (Beschriftung ergänzt)</figcaption></figure>Während US-Forscher kritisieren, dass lange <a href="http://www.spiegel.de/netzwelt/netzpolitik/0,1518,829393,00.html">Schutzfristen der Verfügbarkeit von Büchern schaden</a>, ist das Bild bei digitalen Medien viel dramatischer. Während Bücher  lange haltbar, unbegrenzt lesbar und sogar ohne Mühen zu kopieren sind, ist das bei Software nicht mehr der Fall. DRM, ursprünglich propagiert als Mittel gegen illegale Kopien, könnte zum Kulturkiller werden. Wenn auch – so ist zu hoffen – nicht für die gesamte Gesellschaft, so doch für jeden einzelnen von uns.</p>
<p>Es gibt viele Liebhaber, die klassische Konsolen sammeln, reparieren und in Stand halten. Und wer hat nicht noch seine ersten Spiele zuhause auf dem Regal stehen? All das wird nicht mehr funktionieren, wenn zum Spielen irgendwo auf der Welt ein Server laufen müsste, dessen Betrieb sich für den Anbieter nicht mehr lohnt. Nicht mehr lohnt für den „Rechteinhaber“ könnte man sagen – und dabei genau der Wahrheit ins Auge blicken, die man nicht verstehen will: Die Rechte liegen bei jemand anderem, nicht bei mir, dem zahlenden Kunden. Und auch wenn laut EU-Generalanwalt selbst der <a href="http://www.heise.de/resale/artikel/EU-Generalanwalt-staerkt-Position-von-Gebrauchtsoftwarehaendlern-1558082.html">Handel mit gebrauchten Lizenzen legal</a> ist, so unterbindet das sogenannte <em>Digital Rights Management</em> jedwedes Recht auf technischer Ebene. DRM könnte in diesem Sinne besser übersetzt werden mit <em>Decay of Rightfully used Media</em>. Die Kulturschaffenden selbst haben ihren Werken ein Verfallsdatum aufgeprägt.</p>

]]></content:encoded>
					
					<wfw:commentRss>https://patrikschoenfeldt.de/2012/05/drm-und-kulturelle-verantwortung/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Windows mit Hardware-3D in der VM</title>
		<link>https://patrikschoenfeldt.de/2012/03/windows-mit-hardware-3d-in-der-vm/</link>
					<comments>https://patrikschoenfeldt.de/2012/03/windows-mit-hardware-3d-in-der-vm/#respond</comments>
		
		<dc:creator><![CDATA[Patrik Schönfeldt]]></dc:creator>
		<pubDate>Wed, 21 Mar 2012 21:48:52 +0000</pubDate>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Planet VDVC]]></category>
		<category><![CDATA[Xen]]></category>
		<guid isPermaLink="false">http://patrikschoenfeldt.de/wordpress/?p=302</guid>

					<description><![CDATA[Ein Forenbeitrag über Xen und 3D hat mich schon vor längerer Zeit dazu gebracht, mein „Wintendo“ in eine VM umzuziehen. Der Vorteil ist, dass man auf diese Weise Linux und Windows gleichzeitig starten kann – und innerhalb von Sekundenbruchteilen das Betriebssystem wechseln. Mit der richtigen Hardware kann das virtuelle Windows sogar auf die echte Systemkomponenten &#8230; <a href="https://patrikschoenfeldt.de/2012/03/windows-mit-hardware-3d-in-der-vm/" class="more-link"><span class="screen-reader-text">Windows mit Hardware-3D in der VM</span> weiterlesen</a>]]></description>
										<content:encoded><![CDATA[<p>Ein Forenbeitrag über <a href="http://extreme.pcgameshardware.de/linux-und-sonstige-betriebssysteme/108786-xen-und-3d.html">Xen und 3D</a> hat mich schon vor längerer Zeit dazu gebracht, mein „Wintendo“<sup>[<a href="#windows-mit-hardware-3d-in-der-vm-n-1" class="footnoted" id="to-windows-mit-hardware-3d-in-der-vm-n-1">1</a>]</sup> in eine VM umzuziehen. Der Vorteil ist, dass man auf diese Weise Linux und Windows gleichzeitig starten kann – und innerhalb von Sekundenbruchteilen das Betriebssystem wechseln. Mit der richtigen Hardware kann das virtuelle Windows sogar auf die echte Systemkomponenten zugreifen und eignet sich damit, auch moderne 3D-Spiele zu starten.</p>
<p>Die Einrichtung ist eigentlich nicht weiter schwer. Man benötigt nur ein passendes Mainboard mit <a href="http://wiki.xensource.com/xenwiki/VTdHowTo">IOMMU-Unterstützung</a>, zwei Grafikkarten (eine für jedes Betriebssystem) und eine Linux-Distribution, die mindestens Kernel 3.2 mit bringt. (Es geht natürlich auch mit anderen Distributionen, aber dann muss man selber Kernel backen.) Die Schritte<sup>[<a href="#windows-mit-hardware-3d-in-der-vm-n-2" class="footnoted" id="to-windows-mit-hardware-3d-in-der-vm-n-2">2</a>]</sup> sind recht schnell durchgeführt:<span id="more-302"></span></p>
<ol>
<li>Xen über Paketmanager installieren</li>
<li>Computer neu starten – mit Xen.</li>
<li>Wenn das läuft, kann man in der „/etc/default/grub“, den Default auf Grub ändern und die „grub.cfg“ neu konfigurieren lassen.</li>
<li>Der einfachste Möglichkeit, die Grafikhardware an eine VM abzugeben, ist via Kernelmodul. Das sollte mit jeder Distribution klappen, egal ob Xen nun direkt im Kernel enthalten ist oder später geladen wird. Das funktioniert am einfachsten per Skript. Hier das, welches ich benutze (Quelle: <a href="http://wiki.xensource.com/xenwiki/Assign_hardware_to_DomU_with_PCIBack_as_module">Xen-Wiki</a>):
<p class="code"><code>BDF=0000:05:02.0<br />
# Unbind a PCI function from its driver as necessary<br />
[ ! -e /sys/bus/pci/devices/$BDF/driver/unbind ] || \<br />
        echo -n $BDF > /sys/bus/pci/devices/$BDF/driver/unbind<br />
# Add a new slot to the PCI Backend's list<br />
echo -n $BDF > /sys/bus/pci/drivers/pciback/new_slot<br />
# Now that the backend is watching for the slot, bind to it<br />
echo -n $BDF > /sys/bus/pci/drivers/pciback/bind</code></p>
</li>
<li>Skript und Kernelmodul kann man ganz „quick and dirty“ über die „/etc/rc.d/rc.local“ laden:
<p class="code"><code>xend start<br />
modprobe -i xen-pciback<br />
/etc/xen/unbind-pci.sh</code></p>
</li>
<li>Zuletzt muss man nur noch das Config-File für die VM angelegt werden. Meines sieht so aus:
<p class="code"><code>name	= "vm-win7-01"<br />
localtime=1<br />
import os, re<br />
arch	=	os.uname()[4]<br />
if re.search('64', arch):<br />
    arch_libdir = 'lib64'<br />
else:<br />
    arch_libdir = 'lib'<br />
kernel	= "/usr/lib/xen/boot/hvmloader"<br />
builder	='hvm'<br />
memory	= 4096<br />
vcpus	= 2<br />
cpus = "2,3"<br />
pci_msitranslate=1<br />
# Should be at least 2KB per MB of domain memory, plus a few MB per vcpu.<br />
shadow_memory = 32<br />
acpi = 1<br />
apic = 1<br />
disk =	['file:/home/xen/domains/win7-01/hda.img,ioemu:hda,w',<br />
	 'file:/home/xen/disks/Windows_7_x64.iso,ioemu:hdc:cdrom,r'<br />
	]<br />
boot = 'c';<br />
device_model = '/usr/' + arch_libdir + '/xen/bin/qemu-dm'<br />
sdl=0<br />
vnc=1<br />
vncconsole=0<br />
vncpasswd=''<br />
serial='pty'<br />
gfx_passthru=0<br />
pci=['05:00.0','02:00.0,1','01:06.0']<br />
usb = 1</code></p>
<p>Wenn das Image („hda.img“, eine leere Datei) vorhanden ist, lässt sich das Windows mit Hardwarebeschleunigung auch schon vom DVD-iso installieren. Fertig.</li>
</ol>
<p>Ich habe Windows auch noch eine eigene Soundkarte und eine Netzwerkkarte spendiert. Sound, da ich keine Windows-Treiber für die emulierten Karten finden konnte und Netzwerk, damit sich beide Geräte nicht den Trafic wegnehmen. Das Resultat liefert eine ähnliche Performance wie Windows direkt auf der Hardware – die gefühlte Lesegeschwindigkeit von der Festplatte ist (wohl dank Imagefile, welches man im Ram precachen kann) etwas schneller, die Gesamtperformance aber etwas schlechter (sprich: kürzere Ladezeiten aber etwas weniger FPS). Insgesamt ist es eine erwähnenswerte Alternative zum klassischen Dualboot – allein weil man ohne Wartezeit umschalten kann.</p>

<ol class="footnotes">
	<li class="footnote" id="windows-mit-hardware-3d-in-der-vm-n-1"><strong><sup>[1]</sup></strong>Windows nur zum Zocken.<a class="note-return" href="#to-windows-mit-hardware-3d-in-der-vm-n-1">&#x21A9;</a></li>
	<li class="footnote" id="windows-mit-hardware-3d-in-der-vm-n-2"><strong><sup>[2]</sup></strong>Alle angegebenen Dateinamen sind für Fedora gültig, das ich selbst benutze. Angaben für Ubuntu werde ich mit dem Release von „Precise Pangolin“ (12.04) ergänzen, da der momentan von Ubuntu genutzte Kernel noch Handarbeit erfordert.<a class="note-return" href="#to-windows-mit-hardware-3d-in-der-vm-n-2">&#x21A9;</a></li></ol>
]]></content:encoded>
					
					<wfw:commentRss>https://patrikschoenfeldt.de/2012/03/windows-mit-hardware-3d-in-der-vm/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>pdfmerge</title>
		<link>https://patrikschoenfeldt.de/2012/03/pdfmerge/</link>
					<comments>https://patrikschoenfeldt.de/2012/03/pdfmerge/#respond</comments>
		
		<dc:creator><![CDATA[Patrik Schönfeldt]]></dc:creator>
		<pubDate>Mon, 19 Mar 2012 09:56:38 +0000</pubDate>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Bug]]></category>
		<category><![CDATA[Freie Software]]></category>
		<guid isPermaLink="false">http://patrikschoenfeldt.de/wordpress/?p=299</guid>

					<description><![CDATA[Ich habe einen Haufen von Vorlesungsskripten, jeweils für eine einzelne Vorlesungsstunde. Da es auf die Dauer anstrengend war, darin Stichworte nachzuschlagen, habe ich jetzt alle zu einem File zu vereinen. Folgender Kommentar des Scripts (pdfmerge) hat mich dabei zum Schmunzeln gebracht: **** This file had errors that were repaired or ignored. **** The file was &#8230; <a href="https://patrikschoenfeldt.de/2012/03/pdfmerge/" class="more-link"><span class="screen-reader-text">pdfmerge</span> weiterlesen</a>]]></description>
										<content:encoded><![CDATA[<p>Ich habe einen Haufen von Vorlesungsskripten, jeweils für eine einzelne Vorlesungsstunde. Da es auf die Dauer anstrengend war, darin Stichworte nachzuschlagen, habe ich jetzt alle zu einem File zu vereinen. Folgender Kommentar des Scripts (<a href="https://github.com/dmaphy/pdfmerge">pdfmerge</a>) hat mich dabei zum Schmunzeln gebracht:</p>
<blockquote><p>**** This file had errors that were repaired or ignored.<br />
**** The file was produced by:<br />
**** >>>> Microsoft® Office PowerPoint© 2007 <<<<
**** Please notify the author of the software that produced this
**** file that it does not conform to Adobe's published PDF
**** specification.</p></blockquote>

]]></content:encoded>
					
					<wfw:commentRss>https://patrikschoenfeldt.de/2012/03/pdfmerge/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
