{"id":5162,"date":"2011-12-12T19:35:34","date_gmt":"2011-12-12T18:35:34","guid":{"rendered":"https:\/\/www.gambaru.de\/blog\/?p=5162"},"modified":"2019-10-15T01:35:53","modified_gmt":"2019-10-14T23:35:53","slug":"einen-masgeschneiderten-dwm-fenstermanager-von-sid-nach-squeeze-backporten","status":"publish","type":"post","link":"https:\/\/gambaru.de\/blog\/2011\/12\/12\/einen-masgeschneiderten-dwm-fenstermanager-von-sid-nach-squeeze-backporten\/","title":{"rendered":"Einen ma\u00dfgeschneiderten dwm-Fenstermanager von sid nach squeeze backporten"},"content":{"rendered":"<p>Obwohl ich denke, dass der Fenstermanager dwm in der Standardkonfiguration <a href=\"https:\/\/www.gambaru.de\/blog\/2011\/12\/10\/elitare-fenstermanager-sind-vielleicht-doch-einfacher-zu-bedienen-als-gedacht\/\">schnell zu erlernen<\/a> und au\u00dferdem schlicht und ressourcensparend ist, wollte ich dennoch 2-3 Dinge ver\u00e4ndern. Da Ver\u00e4nderungen bei dwm nur durch eine Neukompilierung m\u00f6glich sind, habe ich die Gelegenheit genutzt und mich wieder etwas mehr mit der Erstellung eigener Debianpakete besch\u00e4ftigt.<br \/>\nIch hatte in dem Beitrag \"<a href=\"https:\/\/www.gambaru.de\/blog\/2011\/06\/11\/wie-man-debian-pakete-aus-den-quellen-baut\/\">Wie man Debian Pakete aus den Quellen baut<\/a>\" mehrere Methoden vorgestellt, wie man eigene Software speziell f\u00fcr Debian kompilieren kann. Die Pbuilder-Methode gefiel mir davon am besten. Erfolgreich wurde damit ein <a href=\"https:\/\/www.gambaru.de\/blog\/2011\/06\/12\/mplayer-nur-fur-den-framebuffer\/\">Mplayer nur f\u00fcr den Framebuffer<\/a> und auch schon ein paar <a href=\"https:\/\/www.gambaru.de\/blog\/2011\/10\/01\/ein-versuch-debian-pakete-mit-pbuilder-backporten\/\">kleinere Backports<\/a> erstellt.<br \/>\nBevor ich meinen Weg zum Kompilieren und Anpassen von dwm vorstelle, wollte ich noch auf eine Alternative hinweisen. Im englischen Forum auf forums.debian.net gibt es schon eine sehr <a href=\"http:\/\/forums.debian.net\/viewtopic.php?f=16&amp;t=65110\">ausf\u00fchrliche Anleitung<\/a> zum Kompilieren und Konfigurieren von dwm, die den Standardweg mit <em>make<\/em> und den Debian-Weg mit <em>dpkg-buildpackage<\/em> zeigt. Wie auch immer, ich denke <a href=\"http:\/\/www.netfort.gr.jp\/~dancer\/software\/pbuilder-doc\/pbuilder-doc.html\">Pbuilder<\/a> ist noch einfacher.<\/p>\n<h2>Der elegante Weg mit pbuilder<\/h2>\n<h3>Vorbereitung<\/h3>\n<p><code>aptitude install pbuilder<\/code><br \/>\n<code>pbuilder create --distribution squeeze<\/code><\/p>\n<p><code><\/code>oder wenn man z.B. i386-Pakete mit seinem AMD64-System bauen m\u00f6chte<\/p>\n<p><code>pbuilder create --distribution squeeze --debootstrapopts --arch --debootstrapopts i386<\/code><\/p>\n<h3>Quellen freischalten<\/h3>\n<p><em>deb-src http:\/\/ftp.de.debian.org\/debian\/ sid main<\/em> in \/etc\/apt\/sources.list hinzuf\u00fcgen.<br \/>\nAls <strong>normaler<\/strong> Benutzer das Quellpaket herunterladen und in das Quellverzeichnis wechseln.<\/p>\n<p><code>apt-get source dwm<\/code><br \/>\n<code>cd dwm-5.9\/<\/code><\/p>\n<h2>Zwei M\u00f6glichkeiten<\/h2>\n<h3>M\u00f6glichkeit 1<\/h3>\n<p><code>cp config.def.h config.h<\/code><br \/>\n<code>vim config.h<\/code><\/p>\n<h3>M\u00f6glichkeit 2<\/h3>\n<p><code>cp config.def.h debian\/local\/config.apo.h<\/code><br \/>\n<code>vim config.apo.h<\/code><\/p>\n<p>Das Debian-Quellpaket bietet zum einen die M\u00f6glichkeit die Konfigurationsdatei wie gewohnt im Hauptverzeichnis editieren zu k\u00f6nnen oder aber im Debian-Verzeichnis. Der Paketverwalter von dwm hat hierzu einige Regeln angepasst, so dass beim Kompilieren auch alle Dateien im Verzeichnis debian\/local in der Form <em>config.*.h<\/em> ber\u00fccksichtigt werden.<br \/>\nDas hat sp\u00e4ter den enormen Vorteil, dass man gleichzeitig verschiedene Versionen von dwm \u00fcbersetzen und sp\u00e4ter mit Debians <a href=\"https:\/\/www.gambaru.de\/blog\/2011\/09\/11\/debians-alternativen-system\/\">update-alternatives Mechanismus<\/a> ausw\u00e4hlen kann.<\/p>\n<h2>Konfiguration<\/h2>\n<p>Ich habe die zweite M\u00f6glichkeit gew\u00e4hlt und die config Datei in debian\/local namens config.apo.h modifiziert und folgende Dinge ge\u00e4ndert.<\/p>\n<ol>\n<li><strong>Farbe von hellblau auf dunkelgrau \u00e4ndern<\/strong>\n<pre>static const char selbordercolor[] = \"#333333\";\nstatic const char selbgcolor[] = \"#333333\";<\/pre>\n<\/li>\n<li><strong>Anzahl der Tags von 9 auf 6 verringern<\/strong>\n<pre>static const char *tags[] = { \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", };\n<\/pre>\n<\/li>\n<li><strong>Anstelle der ALT-Taste die Super\/Windows-Taste benutzen<\/strong>\n<pre>#define MODKEY Mod4Mask<\/pre>\n<\/li>\n<li><strong>rxvt-unicode anstatt xterm benutzen<\/strong>\n<pre>static const char *termcmd[] = { \"urxvtc\", NULL };<\/pre>\n<\/li>\n<\/ol>\n<p>Das war es auch schon. Mir war insbesondere der Wechsel von xterm zu rxvt-unicode und von ALT zu Mod4 wichtig, da es einige Programme gibt, bei denen die voreingestellte ALT-Taste zu Problemen f\u00fchren kann.<\/p>\n<h2>Kompilieren<\/h2>\n<h3>Das Quellpaket aktualisieren<\/h3>\n<p><code>dpkg-source -b dwm-5.9\/<\/code><\/p>\n<h3>Als Benutzer root ausf\u00fchren<\/h3>\n<p><code>pbuilder build dwm_5.9-1.dsc<\/code><br \/>\nDas fertige I386-Squeeze-Paket f\u00e4llt in <em>\/var\/cache\/pbuilder\/result<\/em> heraus und muss danach nur noch auf dem Zielrechner mit <code>dpkg -i dwm_5.9-1_i386.deb<\/code> installiert werden.<br \/>\nMit dem Befehl <code>update-alternatives --config dwm<\/code> l\u00e4sst sich danach zwischen der Standardversion, der dwm.web und der dwm.apo Version umschalten.<\/p>\n<p><a href=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/12\/20111212_dwm_konfiguration_hal6001-1.png\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-5190 size-medium\" title=\"20111212_dwm_konfiguration_hal600\" src=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/12\/20111212_dwm_konfiguration_hal6001-1-300x225.png\" alt=\"\" width=\"300\" height=\"225\" srcset=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/12\/20111212_dwm_konfiguration_hal6001-1-300x225.png 300w, https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/12\/20111212_dwm_konfiguration_hal6001-1-768x576.png 768w, https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/12\/20111212_dwm_konfiguration_hal6001-1.png 1024w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<h2>Fazit<\/h2>\n<p>Ich denke die Pbuilder-Methode sollte man sich aus mehreren Gr\u00fcnden beim Bauen von Debianpaketen merken. Zum einen l\u00e4sst sich damit in einer \"Reinraum-Umgebung\" ein Paket sauber kompilieren. Man kann auf einer AMD64-Maschine mit Debian Unstable I386-Pakete f\u00fcr Debian Stable bauen und dar\u00fcber hinaus sogar mehrere Pbuilder-Umgebungen parallel installieren, in denen Pakete f\u00fcr Testing, Unstable oder auch Ubuntu gebaut werden k\u00f6nnen!<br \/>\nBeachten sollte man aber, dass dieser Backport noch nicht den offiziellen Anspr\u00fcchen gen\u00fcgt. Insbesondere wurde das Paket nicht richtig umbenannt, das Changelog nicht ge\u00e4ndert oder pers\u00f6nlich mit GnuPG signiert. Aber f\u00fcr den privaten Hausgebrauch sollte es reichen. \ud83d\ude09<br \/>\nAls optionale Ziele hatte ich mir noch vorgenommen <a href=\"http:\/\/surf.suckless.org\/\">surf<\/a>, den minimalistischen <a href=\"https:\/\/www.gambaru.de\/blog\/2011\/07\/13\/finde-den-besten-webkit-browser-oder-programmiere-ihn-einfach-in-20-minuten-selbst\/\">Webkit-Browser<\/a> aus der Suckless-Familie, und rxvt-unicode-256color \"backzuporten\", da es f\u00fcr beide keine Version in Squeeze gibt.<br \/>\nKurz gesagt: Surf l\u00e4sst sich genauso einfach von Sid nach Squeeze backporten, er funktioniert auch, es gibt aber einen schweren Bug beim Aufruf von Https-Seiten, der so mit Debian Unstable nicht auftritt. Backports sind also unter Umst\u00e4nden gar nicht so schwierig, man sollte aber immer auch im Hinterkopf behalten, das Probleme nicht nur beim \u00dcbersetzen auftreten k\u00f6nnen. Mehr Details zu rxvt-unicode-256color und dwm demn\u00e4chst auf diesem Kanal.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Obwohl ich denke, dass der Fenstermanager dwm in der Standardkonfiguration schnell zu erlernen und au\u00dferdem schlicht und ressourcensparend ist, wollte ich dennoch 2-3 Dinge ver\u00e4ndern. Da Ver\u00e4nderungen bei dwm nur durch eine Neukompilierung m\u00f6glich sind, habe ich die Gelegenheit genutzt und mich wieder etwas mehr mit der Erstellung eigener Debianpakete besch\u00e4ftigt. Ich hatte in dem &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/gambaru.de\/blog\/2011\/12\/12\/einen-masgeschneiderten-dwm-fenstermanager-von-sid-nach-squeeze-backporten\/\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eEinen ma\u00dfgeschneiderten dwm-Fenstermanager von sid nach squeeze backporten\u201c<\/span> weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[6],"tags":[53,65,69,187,202],"_links":{"self":[{"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/posts\/5162"}],"collection":[{"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/comments?post=5162"}],"version-history":[{"count":1,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/posts\/5162\/revisions"}],"predecessor-version":[{"id":10919,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/posts\/5162\/revisions\/10919"}],"wp:attachment":[{"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/media?parent=5162"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/categories?post=5162"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/tags?post=5162"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}