<?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>mcmlxxii &#187; Linux</title>
	<atom:link href="http://mcmlxxii.co.uk/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://mcmlxxii.co.uk</link>
	<description></description>
	<lastBuildDate>Tue, 13 Mar 2012 19:53:40 +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>High forked-daapd cpu usage?</title>
		<link>http://mcmlxxii.co.uk/2012/03/13/forked-daapd-cpu/</link>
		<comments>http://mcmlxxii.co.uk/2012/03/13/forked-daapd-cpu/#comments</comments>
		<pubDate>Tue, 13 Mar 2012 16:26:17 +0000</pubDate>
		<dc:creator>mcmlxxii</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[cpu usage]]></category>
		<category><![CDATA[daap]]></category>
		<category><![CDATA[forked-daapd]]></category>
		<category><![CDATA[rhythmbox]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://mcmlxxii.co.uk/?p=229</guid>
		<description><![CDATA[So there I was playing with Rhythbox and bemoaning the non-existant DLNA support when I noticed (even though it&#8217;s always been there) the DAAP plugin. &#8220;What is this DAAP of which you speak?&#8221; I thought, and ended up installing mt-daapd. Turns out DAAP is rather good, and there&#8217;s even a very useful Android app for [...]]]></description>
			<content:encoded><![CDATA[<p>So there I was playing with Rhythbox and bemoaning the non-existant <a href="http://en.wikipedia.org/wiki/Digital_Living_Network_Alliance">DLNA</a> support when I noticed (even though it&#8217;s always been there) the DAAP plugin. &#8220;What is this DAAP of which you speak?&#8221; I thought, and ended up installing mt-daapd. Turns out <a href="http://en.wikipedia.org/wiki/Digital_Audio_Access_Protocol">DAAP</a> is rather good, and there&#8217;s even a very useful <a href="https://play.google.com/store/apps/details?id=org.mult.daap">Android app</a> for it, so I&#8217;m quite keen to continue with it.</p>
<p>Now mt-daapd hasn&#8217;t been maintained for years, and <a href="http://blog.technologeek.org/2009/06/12/217" target="_blank">according to the man</a> who forked the project and created (by his own admission) the terribly named forked-daapd you&#8217;d need to be a confirmed stick in the mud to continue using the older version. And as forked-daapd is in the Ubuntu Precise repositories, it got installed. Initial tinkering showed positive signs of life so I left it doing it&#8217;s thing and went to bed.</p>
<p>The following morning as I padded into the lounge I noticed the normally quiet fan on the media server sounding quite breathless, and one htop later could see the cpu at 100%. A quick</p>
<p><code>ls -l /proc/`pidof forked-daapd`/fd</code></p>
<p>showed forked-daapd holding open a Microsoft Word document. I ran a</p>
<p><code>find /media/music -name \*.doc -exec rm {} \;</code></p>
<p>(don&#8217;t run this on your home dir) to blitz any .docs in the music directory and restarted forked-daapd (in fact I had to kill -9 the daap server as it was still avidly reading the Word doc). I had to run through a similar process with some old Thumbs.db files that forked-daapd wouldn&#8217;t parse or let go of, but all now appears well.</p>
<p>So in conclusion, if you&#8217;re running forked-daapd and it&#8217;s pegging your cpu at 100% for a long time, check which files it&#8217;s holding open. Naturally unlike me you won&#8217;t have a music folder full of junk.</p>
]]></content:encoded>
			<wfw:commentRss>http://mcmlxxii.co.uk/2012/03/13/forked-daapd-cpu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Attachments missing with altermime and postfix</title>
		<link>http://mcmlxxii.co.uk/2010/11/09/attachments-missing-with-altermime-and-postfix/</link>
		<comments>http://mcmlxxii.co.uk/2010/11/09/attachments-missing-with-altermime-and-postfix/#comments</comments>
		<pubDate>Tue, 09 Nov 2010 18:50:37 +0000</pubDate>
		<dc:creator>mcmlxxii</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Altermime]]></category>
		<category><![CDATA[attachments]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[Entourage]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[outlook]]></category>
		<category><![CDATA[Postfix]]></category>
		<category><![CDATA[truncated]]></category>

		<guid isPermaLink="false">http://mcmlxxii.co.uk/?p=223</guid>
		<description><![CDATA[We recently experienced a problem with attachments going missing when using altermime to add a disclaimer to emails. The problem was only evident when the client was Outlook or Entourage (mange tout Rodney, mange tout). It was a real head scratcher as some emails would go through fine, others would be oddly truncated. I even [...]]]></description>
			<content:encoded><![CDATA[<p>We recently experienced a problem with attachments going missing when using <strong>altermime</strong> to add a disclaimer to emails. The problem was only evident when the client was <strong>Outlook</strong> or <strong>Entourage</strong> (mange tout Rodney, mange tout). It was a real head scratcher as some emails would go through fine, others would be oddly truncated.</p>
<p>I even resorted to &#8216;catting&#8217; out the email to file before and after applying the disclaimer, and then running diff on the resulting pair of files, but there was apparently no difference bar of course the added disclaimer text.</p>
<p>After protracted googling by myself and a colleague, we found that the Microsoft clients, when parsing the emails prior to sending (which all clients do to chop the lines down to the RFC specified length) <strong>allow single full stops to appear by themselves on their own lines</strong>. Now Postfix handles these fine <em>when the email comes in over SMTP</em>. However, when it comes out of the disclaimer script, it is injected back into the mail queue with the sendmail command. Seems that this sees the full stop and accepts it as the end of the email, thereby neatly truncating it <em>sans attachment</em> and often without some of the text.</p>
<p>To get around this, we added a single line to the disclaimer script, just prior to the sendmail command:</p>
<p><code>sed -i 's/^\.$/. /g' in.$$</code></p>
<p>where in.$$ is the mail. This adds a single space after the full stop which gets around the problem. I hope this saves someone a few hours.</p>
<p>Edit: After spotting a comment on howtoforge, it seems there&#8217;s a flag you can set for sendmail to stop it seeing single dots as EOF:</p>
<p>     -i          Ignore dots alone on lines by themselves in incoming mes-<br />
                 sages.  This should be set if you are reading data from a<br />
                 file.</p>
<p>which is a lot neater than the fix above. Just sendmail -i in.$$</p>
]]></content:encoded>
			<wfw:commentRss>http://mcmlxxii.co.uk/2010/11/09/attachments-missing-with-altermime-and-postfix/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Siemens SE 587 Dynamic DNS Update script</title>
		<link>http://mcmlxxii.co.uk/2009/09/20/siemens-se-587-dynamic-dns-update-script/</link>
		<comments>http://mcmlxxii.co.uk/2009/09/20/siemens-se-587-dynamic-dns-update-script/#comments</comments>
		<pubDate>Sun, 20 Sep 2009 10:07:02 +0000</pubDate>
		<dc:creator>mcmlxxii</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[afraid]]></category>
		<category><![CDATA[automatic]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[dynamic]]></category>
		<category><![CDATA[freedns]]></category>
		<category><![CDATA[IP address]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[router]]></category>
		<category><![CDATA[siemens]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://mcmlxxii.co.uk/?p=177</guid>
		<description><![CDATA[Quick script I knocked up to update dynamic dns record at freedns.afraid.org, querying the router for its IP address. Uses expect to login via telnet to the router and curl to GET the http update url. #!/bin/bash # Siemens SE 587 freedns update script # Jonathan Cutting mcmlxxii.co.uk # 20/9/2009 # Config router_login="your_login_name" router_password="your_login_password" router_address="192.168.1.1" [...]]]></description>
			<content:encoded><![CDATA[<p>Quick script I knocked up to update dynamic dns record at freedns.afraid.org, querying the router for its IP address. Uses expect to login via telnet to the router and curl to GET the http update url.</p>
<p><code>#!/bin/bash<br />
# Siemens SE 587 freedns update script<br />
# Jonathan Cutting mcmlxxii.co.uk<br />
# 20/9/2009</code></p>
<p><code># Config<br />
router_login="your_login_name"<br />
router_password="your_login_password"<br />
router_address="192.168.1.1"<br />
afraid_url="your_dynamic_dns_url"<br />
afraid_update_url="http://freedns.afraid.org/dynamic/update.php?YOUR_UPDATE_CODE"<br />
# End config</code></p>
<p><code>
<pre>dns_record=$(dig +short $afraid_url)
ip_address=$(expect -c "
    set timeout 15
    spawn telnet $router_address
    expect gin:
    send \"$router_login\r\"
    expect word:
    send \"$router_password\r\"
    expect >
    send \"ip show interface ipwan\r\"
    expect >
    exit
" | grep Ipaddr | awk '{print $3}' | sed -e 's/^M//')</pre>
<p></code></p>
<p><code>
<pre>if [ $ip_address != $dns_record ]
then
    date
    curl $afraid_update_url
fi
</pre>
<p></code></p>
]]></content:encoded>
			<wfw:commentRss>http://mcmlxxii.co.uk/2009/09/20/siemens-se-587-dynamic-dns-update-script/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Turning Firefox into a web screensaver using a bash script</title>
		<link>http://mcmlxxii.co.uk/2009/04/19/turning-firefox-into-a-web-screensaver-using-a-bash-script/</link>
		<comments>http://mcmlxxii.co.uk/2009/04/19/turning-firefox-into-a-web-screensaver-using-a-bash-script/#comments</comments>
		<pubDate>Sun, 19 Apr 2009 21:44:26 +0000</pubDate>
		<dc:creator>mcmlxxii</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[command line]]></category>
		<category><![CDATA[command line options]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[screensaver]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[xulrunner]]></category>

		<guid isPermaLink="false">http://mcmlxxii.co.uk/?p=164</guid>
		<description><![CDATA[There&#8217;s a little program available for windows that lets you turn your browser into a screensaver, looping through various web content. However, there are 2 things wrong with it. Firstly it costs money. Secondly it doesn&#8217;t run on linux. So what? &#8211; we have bash &#8211; and after a bit of digging around this morning [...]]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s a little program available for windows that lets you turn your browser into a screensaver, looping through various web content. However, there are 2 things wrong with it. Firstly it costs money. Secondly it doesn&#8217;t run on linux.</p>
<p>So what? &#8211; we have bash &#8211; and after a bit of digging around this morning and combining a few bits and pieces this is my version for Ubuntu <img src='http://mcmlxxii.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Firstly, in order to run firefox full screen we need the <a href="http://www.krickelkrackel.de/autohide/" target="_blank">AutoHide plugin</a>, which appears to have been written by someone with an interesting sense of humour.</p>
<p>Secondly, a small alteration needs to be made to the  javascript prefs file (.mozilla/firefox/$profile/prefs.js, $profile =  your profile). THIS MUST BE DONE WITH THE BROWSER CLOSED as Firefox overwrites the file on shutdown. Add these two lines at the end of the file:</p>
<p><code>user_pref("browser.link.open_external", 1);<br />
user_pref("browser.link.open_newwindow", 1);</code></p>
<p>Now that&#8217;s done there&#8217;s just a little bash script. Feel free to hack but if you improve it please let me know! I just saved the following few lines as a file &#8220;Webscreen&#8221; in my home directory:</p>
<p><code> </code></p>
<pre>#!/bin/bash

remoteclient=$(find /usr/lib/ -type f -name mozilla-xremote-client | grep -m 1 xulrunner)

if [ `ps -e | grep firefox | wc -l` -eq 0 ]; then

    /usr/bin/firefox -fullscreen &#038;
    sleep 5

fi

while [ `ps -e | grep firefox | wc -l` -gt 0 ]; do

    urls=$(cat /home/huff/Desktop/pages)

    for i in $urls
        do
        $remoteclient -a firefox "openurl($i)"

        if [ $? -gt 0 ]; then
            echo "Firefox not running or ignoring me, bailing out...."
            killall firefox
            exit 0
        fi
        sleep 15
        done
done
exit 0</pre>
<p>Note the path to the mozilla-xremote-client &#8211; this is correct on Ubuntu Jaunty but I had to use find to well, you know, find it:<br />
<code><br />
find /usr/lib -iname \*mozilla-xremote\*</code></p>
<p>As can be seen the script takes the pages you want to cycle through from a text file called (I felt quite pleased with this) &#8220;pages&#8221; on the Desktop, one url on each line such as:</p>
<p><code></p>
<p>http://bbc.co.uk</p>
<p>http://flickr.com</p>
<p>http://yoursite.whatever.com</p>
<p></code></p>
<p>and scrolls through the selection every 15 seconds.</p>
<p>The last detail is to<br />
<code><br />
chmod +x ~/Webscreen<br />
</code></p>
<p>and add a Custom Application Launcher to the panel. Thanks to mozilla for continuing the <a href="http://www.mozilla.org/unix/remote.html" target="_blank">command line options</a> started by Netscape and the cool AutoHide plugin, this was pretty easy. Hope it helps someone.</p>
]]></content:encoded>
			<wfw:commentRss>http://mcmlxxii.co.uk/2009/04/19/turning-firefox-into-a-web-screensaver-using-a-bash-script/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Gedit document words autocompletion plugin</title>
		<link>http://mcmlxxii.co.uk/2009/02/01/gedit-document-words-autocompletion-plugin/</link>
		<comments>http://mcmlxxii.co.uk/2009/02/01/gedit-document-words-autocompletion-plugin/#comments</comments>
		<pubDate>Sun, 01 Feb 2009 00:22:54 +0000</pubDate>
		<dc:creator>mcmlxxii</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[8.10]]></category>
		<category><![CDATA[autocomplete]]></category>
		<category><![CDATA[autocompletion]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[editor]]></category>
		<category><![CDATA[gedit]]></category>
		<category><![CDATA[ibex]]></category>
		<category><![CDATA[intrepid]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[text]]></category>

		<guid isPermaLink="false">http://mcmlxxii.co.uk/?p=153</guid>
		<description><![CDATA[I followed a submission to reddit the other day highlighting a few choice plugins for gedit, as I am fond of using the default GNOME text editor. One plugin in particular caught my eye, the document words autocompletion plugin, written by Perriman. Retyping my inventive variable names (not to mention the oft flowery default php [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://mcmlxxii.co.uk/wp-content/uploads/2009/02/geditdocwords.jpg"><img class="size-medium wp-image-154 alignright" title="geditdocwords" src="http://mcmlxxii.co.uk/wp-content/uploads/2009/02/geditdocwords-300x174.jpg" alt="Gedit autocompletion plugin in action" width="300" height="174" /></a></p>
<p>I followed a submission to reddit the other day highlighting a <a href="http://www.makeuseof.com/tag/top-plugins-to-extend-and-make-gedit-a-more-useful-text-editor-linux/">few choice plugins</a> for gedit, as I am fond of using the default GNOME text editor. One plugin in particular caught my eye, the document words autocompletion plugin, written by Perriman. Retyping my inventive variable names (not to mention the oft flowery default php function names) is both error-prone and onerous and this plugin is the perfect remedy.</p>
<p>The following applies to Ubuntu Intrepid. I&#8217;m using 64 bit, but there&#8217;s no difference for 32 bit.</p>
<p>The plugin is not packaged in with the gedit-plugins package and needs to be compiled. It depends on quite a few packages. I chose to cheat a little when installing the required development libraries by first installing the build dependencies for gedit itself. If you haven&#8217;t already installed it, the build-essential package will install the most commonly used compilation tools too:</p>
<p><code>sudo apt-get install build-essential<br />
sudo apt-get build-dep gedit gedit-plugins</code></p>
<p>Then download the source. The document auto completion plugin depends on Perriman&#8217;s gtksourcecompletion, which also needs to be compiled first. The source is available from <a href="http://sourceforge.net/project/showfiles.php?group_id=212508&amp;package_id=255603&amp;release_id=647663">this Sourceforge page</a>.</p>
<p>Once extracted and in the directory:</p>
<p><code>./configure --prefix=/usr<br />
make<br />
sudo make install</code></p>
<p>The plugin itself is also on Sourceforge, the 0.51 version is now on the <a href="http://sourceforge.net/project/showfiles.php?group_id=212508&amp;release_id=657711&amp;package_id=257859">download page</a>.  Again, once extracted and in the directory:</p>
<p><code>./configure --prefix=/usr<br />
make<br />
sudo make install</code></p>
<p>and assuming there are no errors, the plugin should appear in the gedit plugins list (Edit &gt; Preferences &gt; Plugins). Now all I need to do it try to train my left hand pinky not to keep stabbing the tab key for autocompletion!</p>
]]></content:encoded>
			<wfw:commentRss>http://mcmlxxii.co.uk/2009/02/01/gedit-document-words-autocompletion-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP class using Imagick &#8211; resize, reflect or drop shadow</title>
		<link>http://mcmlxxii.co.uk/2009/01/06/php-class-imagick-resize-reflect-drop-shadow/</link>
		<comments>http://mcmlxxii.co.uk/2009/01/06/php-class-imagick-resize-reflect-drop-shadow/#comments</comments>
		<pubDate>Tue, 06 Jan 2009 15:19:05 +0000</pubDate>
		<dc:creator>mcmlxxii</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[imagemagick]]></category>
		<category><![CDATA[imagick]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[photo]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php5]]></category>
		<category><![CDATA[upload]]></category>

		<guid isPermaLink="false">http://mcmlxxii.co.uk/?p=124</guid>
		<description><![CDATA[I&#8217;ve been spending a bit of time getting to know PHP classes over the Christmas holiday, and I&#8217;ve written a couple to test out my knowledge. The first is an image uploading class, which checks for various problems with files prior to moving them to a destination directory. It checks: that the file actually exists [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://mcmlxxii.co.uk/wp-content/uploads/2009/01/3156767211_5f3b53513b.jpg"><img class="alignright size-medium wp-image-133" title="Imagick used to generate reflection" src="http://mcmlxxii.co.uk/wp-content/uploads/2009/01/3156767211_5f3b53513b-155x300.jpg" alt="Imagick used to generate reflection" width="140" height="270" /></a>I&#8217;ve been spending a bit of time getting to know PHP classes over the Christmas holiday, and I&#8217;ve written a couple to test out my knowledge.<br />
The first is an image uploading class, which checks for various problems with files prior to moving them to a destination directory. It checks:</p>
<ul>
<li>that the file actually exists</li>
<li>the size to ensure it doesn&#8217;t exceed a predetermined maximum</li>
<li>that the destination directory exists and is writable</li>
<li>that the file is actually a photo file</li>
<li>to see that the photo is in an accepted format (tif, jpg, gif, png)</li>
</ul>
<p>before moving the file. The next class gives various options for manipulating the image, resizing, rounding corners, adding a reflection etc. all using the Imagick class, which is installed with php5-imagick (available from the ubuntu repos and other reputable linux software emporiums!). The reflection and drop shadow parts of the class owe a great deal to Mikko Koppanen who provides some great Imagick examples and code snippets on <a href="http://valokuva.org/" target="_blank">his blog</a>. I&#8217;ve uploaded the classes, including an index file that can be used as an example in the absence of proper documentation!</p>
<p>I&#8217;ve uploaded a working version of the test files shown below as a demo to a website of mine: <a href="http://blaxhall.com/classes">try it here.</a></p>
<p><a href='http://mcmlxxii.co.uk/wp-content/uploads/2010/02/files.zip'>Available to dowload</a> as a zip archive including the four empty directories the example script needs to run. Any suggestions for improvement gladly received.</p>
]]></content:encoded>
			<wfw:commentRss>http://mcmlxxii.co.uk/2009/01/06/php-class-imagick-resize-reflect-drop-shadow/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Nvidia 180 on Ubuntu Intrepid Ibex</title>
		<link>http://mcmlxxii.co.uk/2008/12/26/nvidia-180-on-ubuntu-intrepid-ibex/</link>
		<comments>http://mcmlxxii.co.uk/2008/12/26/nvidia-180-on-ubuntu-intrepid-ibex/#comments</comments>
		<pubDate>Fri, 26 Dec 2008 00:11:37 +0000</pubDate>
		<dc:creator>mcmlxxii</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[180]]></category>
		<category><![CDATA[8.10]]></category>
		<category><![CDATA[gutsy]]></category>
		<category><![CDATA[hardy]]></category>
		<category><![CDATA[intrepid]]></category>
		<category><![CDATA[nvidia]]></category>
		<category><![CDATA[titlebar]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://mcmlxxii.co.uk/?p=109</guid>
		<description><![CDATA[EDIT: It seems the packages needed are in Intrepid updates now, so as long as they are enabled in System &#62; Applications &#62; Software Sources they should be installed with a simple sudo apt-get update &#38;&#38; sudo apt-get install nvidia-glx-180 As a long-time (since Gutsy) follower of Ubuntu bug 99508, the one about the badly [...]]]></description>
			<content:encoded><![CDATA[<p>EDIT: It seems the packages needed are in <a href="https://bugs.launchpad.net/ubuntu/+source/compiz/+bug/99508/comments/285" target="_blank">Intrepid updates</a> now, so as long as they are enabled in System &gt; Applications &gt; Software Sources they should be installed with a simple sudo apt-get update &amp;&amp; sudo apt-get install nvidia-glx-180</p>
<p>As a long-time (since Gutsy) follower of Ubuntu bug <a href="https://bugs.launchpad.net/ubuntu/+source/compiz/+bug/99508" target="_blank">99508</a>, <a href="http://mcmlxxii.co.uk/wp-content/uploads/2008/12/hardytitlebar.jpg"><img class="size-medium wp-image-110 alignright" title="Titlebar" src="http://mcmlxxii.co.uk/wp-content/uploads/2008/12/hardytitlebar-300x213.jpg" alt="Gnome-terminal showing titlebar problems" width="180" height="128" /></a> the one about the badly drawn window decoration (see right), I was thrilled to see that Nvidia&#8217;s 180 Beta driver fixed the problem. The driver is packaged up and available in the alpha of Jaunty&#8217;s next release, 9.04. However, running the alpha as your main OS is folly, not to mention a pain in the butt if you just want to get something done and it&#8217;s a bit broken at that moment.</p>
<p>One can always install nvidia&#8217;s driver from a shell using the installer provided, but I&#8217;m always happier using a .deb, and luckily the 180 debs are coming to Intrepid&#8217;s backports. Just not yet. So if you want to try the 180 driver, you can use the Jaunty .debs.</p>
<p><a href="http://mcmlxxii.co.uk/wp-content/uploads/2008/12/compiz.jpg"><img class="alignleft size-medium wp-image-118" title="compiz" src="http://mcmlxxii.co.uk/wp-content/uploads/2008/12/compiz-300x187.jpg" alt="compiz" width="210" height="131" /></a>I&#8217;ve tested it on my laptop under Intrepid, with its integral Nvidia 6100 Go chipset, and it works very well. <a href="http://ubuntuforums.org/showthread.php?t=1002500&amp;highlight=nvidia" target="_blank">Some Jaunty testers</a> have reported increased temperatures and odd black spots, but all is ok here. In fact I ran a full screen video on each desktop under compiz (left) without issue.<br />
The debs are available from the Jaunty repos, and the packages required are <a href="http://packages.ubuntu.com/jaunty/nvidia-glx-180" target="_blank">nvidia-glx-180</a> and <a href="http://packages.ubuntu.com/jaunty/nvidia-180-kernel-source" target="_blank">nvidia-180-kernel-source</a>. At present, these contain the 180.11 beta driver &#8211; there is a newer one available from nvidia and no doubt the packages in the Jaunty repos will be updated shortly. Once downloaded, a few commands (i386 users will need to alter the architecture part of the filename):</p>
<p><code>sudo apt-get remove nvidia-glx-177<br />
cd Desktop (if this is where the debs are)<br />
sudo dpkg -i nvidia-180-kernel-source_180.11-0ubuntu1_amd64.deb<br />
sudo dpkg -i nvidia-glx-180_180.11-0ubuntu1_amd64.deb<br />
</code></p>
<p>And a reboot and (fingers x!) you&#8217;re done <img src='http://mcmlxxii.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://mcmlxxii.co.uk/2008/12/26/nvidia-180-on-ubuntu-intrepid-ibex/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>No! Please don&#8217;t do it!</title>
		<link>http://mcmlxxii.co.uk/2008/11/13/dont-do-it/</link>
		<comments>http://mcmlxxii.co.uk/2008/11/13/dont-do-it/#comments</comments>
		<pubDate>Thu, 13 Nov 2008 18:48:45 +0000</pubDate>
		<dc:creator>mcmlxxii</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[command line]]></category>
		<category><![CDATA[dovecot]]></category>
		<category><![CDATA[funny]]></category>

		<guid isPermaLink="false">http://mcmlxxii.co.uk/?p=82</guid>
		<description><![CDATA[There are some highly entertaining examples on the net of command line program output, but it&#8217;s great when you&#8217;re doing some system maintenance in Linux on your own machine and a gem unexpectedly crops up: :~$ sudo /etc/init.d/dovecot restart [sudo] password: * Restarting IMAP/POP3 mail server dovecot Warning: Last died with error (see error log [...]]]></description>
			<content:encoded><![CDATA[<p>There are some highly entertaining examples on the net of command line program output, but it&#8217;s great when you&#8217;re doing some system maintenance in Linux on your own machine and a gem unexpectedly crops up:</p>
<p><code>:~$ sudo /etc/init.d/dovecot restart<br />
[sudo] password:<br />
 * Restarting IMAP/POP3 mail server dovecot<br />
Warning: Last died with error (see error log for more information): Time just moved backwards by 11 seconds. This might cause a lot of problems, so I'll just kill myself now. http://wiki.dovecot.org/TimeMovedBackwards<br />
</code></p>
<p>NO! Please, it&#8217;s not worth it! <img src='http://mcmlxxii.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://mcmlxxii.co.uk/2008/11/13/dont-do-it/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Synaptics touchpad, SHMConfig, xorg.conf and Ubuntu Intrepid 8.10</title>
		<link>http://mcmlxxii.co.uk/2008/11/07/synaptics-touchpad-shmconfig-xorgconf-and-ubuntu-intrepid-810/</link>
		<comments>http://mcmlxxii.co.uk/2008/11/07/synaptics-touchpad-shmconfig-xorgconf-and-ubuntu-intrepid-810/#comments</comments>
		<pubDate>Fri, 07 Nov 2008 08:55:04 +0000</pubDate>
		<dc:creator>mcmlxxii</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[8.10]]></category>
		<category><![CDATA[ibex]]></category>
		<category><![CDATA[intrepid]]></category>
		<category><![CDATA[SHMConfig]]></category>
		<category><![CDATA[synaptics]]></category>
		<category><![CDATA[touchpad]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[xorg.conf]]></category>

		<guid isPermaLink="false">http://mcmlxxii.co.uk/?p=67</guid>
		<description><![CDATA[EDIT &#8211; Please note that this post only refers to the 64 bit version of Ubuntu. Some significant changes have been happening to the X server over the past couple of releases of Ubuntu. One of the most noticeable alterations has been the removal of the xorg.conf file from the default Ubuntu install (edit &#8211; [...]]]></description>
			<content:encoded><![CDATA[<p>EDIT &#8211; Please note that this post only refers to the 64 bit version of Ubuntu.</p>
<p>Some significant changes have been happening to the X server over the past couple of releases of Ubuntu. One of the most noticeable alterations has been the <strong>removal</strong> of the <strong>xorg.conf</strong> file from the default Ubuntu install (edit &#8211; it was removed during the development cycle but reappeared in the release version).</p>
<p>It is a great thing that X is now at the stage where it knows devices well enough to <strong>configure</strong> them with no user input, but occasionally a device may be incorrectly set up, or one may want to <strong>customise</strong> beyond default settings.</p>
<p>Such is the case with my <strong>synaptics touchpad</strong>. I really like the fact that in Linux I can configure the touchpad to trigger a middle mouse button event when it is tapped with 3 fingers. Left click &#8211; one finger, right click &#8211; two fingers, middle click &#8211; three fingers. In addition, I want to be able to <strong>disable</strong> the touchpad while <strong>typing</strong>.</p>
<p><span id="more-67"></span></p>
<p>In the past, disabling the touchpad temporarily when the keyboard is in use was done by adding a line:</p>
<p><code>SHMConfig On</code></p>
<p>to the synaptics device section of the xorg.conf (/etc/X11/xorg.conf), and running the command:</p>
<p><code>syndaemon -i 0.7 -m 50 -d</code></p>
<p>at the start of every session (best done by adding it to System&gt;Preferences&gt;Sessions as a new startup program). Things are done slightly differently now, and there is no need to add the line to xorg.conf. Or at least there isn&#8217;t if you use the synaptics driver provided by Ubuntu developer William Grant on <a href="http://ubuntuforums.org/showthread.php?t=948250">this forum thread</a>, .deb available <a href="http://launchpadlibrarian.net/18664539/xserver-xorg-input-synaptics_0.15.2-0ubuntu7~wgrant3_amd64.deb">here</a>.</p>
<p>You may have to remove the existing driver first:</p>
<p><code>sudo apt-get remove xserver-xorg-input-synaptics</code></p>
<p>I had to lock the version to prevent the default Intrepid driver appearing as an update. This can easily be done in Synaptic Package Manager, by searching for synaptics, highlighting the xserver-xorg-input-synaptics package and selecting Package&gt;Lock Version. Now after restarting the X server (Ctrl, Alt and Backspace)  and issuing the syndaemon command, the touchpad should be disabled when typing without having to enable SHMConfig.</p>
<p>In order to adjust the various custom settings for the  synaptics touchpad, one can enter a section in xorg.conf. One also needs a ServerLayout section, similar to the one below.</p>
<p><code>Section "InputDevice"<br />
Identifier	"Synaptics Touchpad"<br />
Driver		"synaptics"<br />
Option		"SendCoreEvents"	"true"<br />
Option		"Device"	"/dev/psaux"<br />
Option		"Protocol"	"auto-dev"<br />
Option		"LeftEdge"	"1900"<br />
Option		"RightEdge"	"5000"<br />
Option		"TopEdge"	"1400"<br />
Option		"BottomEdge"	"4500"<br />
Option		"FingerLow"	"25"<br />
Option		"FingerHigh"	"35"<br />
Option		"MaxTapTime"	"180"<br />
Option		"MaxTapMove"	"220"<br />
Option		"ClickTime"	"0"<br />
Option		"VertEdgeScroll"	"1"<br />
Option		"VertScrollDelta"	"45"<br />
Option		"HorizEdgeScroll"	"1"<br />
Option		"HorizScrollDelta"	"45"<br />
Option		"MinSpeed"	"0.08"<br />
Option		"MaxSpeed"	"0.60"<br />
Option		"AccelFactor"	"0.003"<br />
Option		"EdgeMotionMinSpeed"	"200"<br />
Option		"EdgeMotionMaxSpeed"	"200"<br />
Option		"TapButton1"	"1"<br />
Option		"TapButton2"	"3"<br />
Option		"TapButton3"	"2"<br />
EndSection<br />
</code><br />
<code><br />
Section "ServerLayout"<br />
Identifier	"Default Layout"<br />
Inputdevice	"Synaptics Touchpad"<br />
EndSection<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://mcmlxxii.co.uk/2008/11/07/synaptics-touchpad-shmconfig-xorgconf-and-ubuntu-intrepid-810/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>FirstClass. On 64 bit AMD64 Ubuntu.</title>
		<link>http://mcmlxxii.co.uk/2008/10/25/firstclass-on-64-bit-amd64-ubuntu/</link>
		<comments>http://mcmlxxii.co.uk/2008/10/25/firstclass-on-64-bit-amd64-ubuntu/#comments</comments>
		<pubDate>Sat, 25 Oct 2008 12:32:49 +0000</pubDate>
		<dc:creator>mcmlxxii</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[amd64 64 bit]]></category>
		<category><![CDATA[firstclass]]></category>
		<category><![CDATA[libqtmt]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.mcmlxxii.co.uk/2008/10/25/firstclass-on-64-bit-amd64-ubuntu/</guid>
		<description><![CDATA[For my OU course in Web Applications Development, I have to use a piece of software called FirstClass, from OpenText. Thankfully the nice people at OpenText have packaged up a version for Debian and Ubuntu, version 8.315-2 (one major release behind Windows admittedly, but perfectly usable). If you’re using a 32 bit version the install [...]]]></description>
			<content:encoded><![CDATA[<p>For my OU course in Web Applications Development, I have to use a piece of software called FirstClass, from OpenText. Thankfully the nice people at OpenText have packaged up a version for Debian and Ubuntu, version 8.315-2 (one major release behind Windows admittedly, but perfectly usable). If you’re using a 32 bit version the install couldn’t be easier.</p>
<p>However, I switched to 64bit Linux some time ago now. After emailing OpenText to see if they will be compiling a 64 bit version and receiving a positive negative, I’ve discovered a quick and simple way to get it working without leaving a mess of libraries.</p>
<p><span id="more-46"></span></p>
<p>The only problem (at least on Ubuntu 8.04) seems to be the Qt libraries. Luckily FirstClass doesn’t just look in /usr/lib/ for these, it also has a nose around /usr/lib32 (a directory that appears automatically in Ubuntu 64 bit after installing Flash player, the only other 32bit app I use). If it isn’t there, simply:</p>
<p><code>sudo mkdir /usr/lib32</code></p>
<p>Next we need the .deb package for the 32bit libqtmt libraries. Head over to <a href="http://packages.ubuntu.com/hardy/i386/libqt3-mt/download">http://packages.ubuntu.com/hardy/i386/libqt3-mt/download</a> and choose a mirror, saving the deb somewhere obvious, Desktop will do. Using Archive Manager instead of Gdebi package installer, crack open the deb and navigate through the data folder to the lib folder. Drag and drop the lib folder on your desktop (this should extract it) and issue:</p>
<p><code>sudo cp -R /home/$your_username/Desktop/lib/* /usr/lib32/</code></p>
<p>That’s it! FirstClass still bitches a little when you fire it up from the terminal, but seems to work flawlessly inspite of that. Pity it’s such an ugly resource hog, but you can’t have everything.</p>
]]></content:encoded>
			<wfw:commentRss>http://mcmlxxii.co.uk/2008/10/25/firstclass-on-64-bit-amd64-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

