
<?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>blog.olvr.org</title>
	<atom:link href="http://blog.olvr.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.olvr.org</link>
	<description>brought to you by olvr.org</description>
	<lastBuildDate>Mon, 05 Apr 2010 13:56:24 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Flickr Watch</title>
		<link>http://blog.olvr.org/2008/09/flickr-watch/</link>
		<comments>http://blog.olvr.org/2008/09/flickr-watch/#comments</comments>
		<pubDate>Wed, 10 Sep 2008 13:49:39 +0000</pubDate>
		<dc:creator>Ollie</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://blog.olvr.org/?p=50</guid>
		<description><![CDATA[
Flickr Watch is some PHP code I knocked up (using the Flickr API, via Dan Coulter’s phpFlickr class) to keep track of various users whose photos I like. It shows the last four photos from each person being tracked, along with a link to their photostream.
Everything is wired into a database for easy addition and [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-51" title="Flickr Watch" src="http://blog.olvr.org/wp-content/uploads/2010/04/9.jpg" alt="Screen shot from flickr watch" width="450" height="108" /></p>
<p>Flickr Watch is some PHP code I knocked up (using the Flickr API, via Dan Coulter’s<a href="http://phpflickr.com/"> phpFlickr class</a>) to keep track of various users whose photos I like. It shows the last four photos from each person being tracked, along with a link to their photostream.</p>
<p>Everything is wired into a database for easy addition and removal of users. To keep things simple, users are added by inputting a url that points to any part of their Flickr profile.</p>
<p>It&#8217;s a plodding replacement for Flickr&#8217;s contacts functionality, and not a very good one at that, but i thought it would be nice to link to it here for posterity&#8217;s sake. So, <a href="/stuff/flickr-watch/">here it is</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.olvr.org/2008/09/flickr-watch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Last.fm and Google Charts: Examples</title>
		<link>http://blog.olvr.org/2008/08/last-fm-google-charts-examples/</link>
		<comments>http://blog.olvr.org/2008/08/last-fm-google-charts-examples/#comments</comments>
		<pubDate>Sun, 24 Aug 2008 13:42:44 +0000</pubDate>
		<dc:creator>Ollie</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://blog.olvr.org/?p=47</guid>
		<description><![CDATA[Further examples for the Last.fm and Google Charts class. The images on this page are dynamically generated by the class.
All-time listening share of your 15 top artists
$chart1 = new lastfmChart();
$chart1-&#62;setDataFile(&#39;http://ws.audioscrobbler.com/1.0/user/mister-brown/topartists.xml&#39;);
$chart1-&#62;setType(&#39;pie&#39;);
$chart1-&#62;setTitle(&#39;Top Artists Shares&#39;);
$chart1-&#62;doChart();


Listening shares of this weeks top 10 artists:
$chart2 = new lastfmChart();
$chart2-&#62;setDataFile(&#39;http://ws.audioscrobbler.com/1.0/user/mister-brown/weeklyartistchart.xml&#39;);
$chart2-&#62;setType(&#39;pie&#39;);
$chart2-&#62;setDataPoints(&#39;10&#39;);
$chart2-&#62;setTitle(&#39;Weekly Artists Shares&#39;);
$chart2-&#62;setColors(&#39;0000FF&#39;);
$chart2-&#62;doChart();


Total listens of the 8 top artists this week:
$chart3 = new lastfmChart();
$chart3-&#62;setDataFile(&#39;http://ws.audioscrobbler.com/1.0/user/mister-brown/weeklyartistchart.xml&#39;);
$chart3-&#62;setType(&#39;bar&#39;);
$chart3-&#62;setDataPoints(&#39;8&#39;);
$chart3-&#62;setSize(&#39;400x300&#39;);
$chart3-&#62;setTitle(&#39;Weekly [...]]]></description>
			<content:encoded><![CDATA[<p>Further examples for the <a href="/2008/08/last-fm-google-charts/">Last.fm and Google Charts class</a>. The images on this page are dynamically generated by the class.</p>
<h2>All-time listening share of your 15 top artists</h2>
<pre><code>$chart1 = new lastfmChart();
$chart1-&gt;setDataFile(&#39;http://ws.audioscrobbler.com/1.0/user/mister-brown/topartists.xml&#39;);
$chart1-&gt;setType(&#39;pie&#39;);
$chart1-&gt;setTitle(&#39;Top Artists Shares&#39;);
$chart1-&gt;doChart();
</code></pre>
<p><img src="http://chart.apis.google.com/chart?chtt=Top+Artists+Shares&amp;cht=p&amp;chs=550x200&amp;chco=&amp;chd=s:DDDDDDCCCBBBBBB&amp;chl=Grandaddy%7CBritish+Sea+Power%7CTom+Waits%7CJoy+Zipper%7CMogwai%7CJohnny+Cash%7CMe+First+and+the+Gimme+Gimmes%7CThe+Decemberists%7CClap+Your+Hands+Say+Yeah%7CIsobel+Campbell+%26+Mark+Lanegan%7CIron+%26+Wine%7CRilo+Kiley%7CHope+of+the+States%7CLemon+Jelly%7CIncubus" alt="Top Artists Shares"/></p>
<h2>Listening shares of this weeks top 10 artists:</h2>
<pre><code>$chart2 = new lastfmChart();
$chart2-&gt;setDataFile(&#39;http://ws.audioscrobbler.com/1.0/user/mister-brown/weeklyartistchart.xml&#39;);
$chart2-&gt;setType(&#39;pie&#39;);
$chart2-&gt;setDataPoints(&#39;10&#39;);
$chart2-&gt;setTitle(&#39;Weekly Artists Shares&#39;);
$chart2-&gt;setColors(&#39;0000FF&#39;);
$chart2-&gt;doChart();
</code></pre>
<p><img src="http://chart.apis.google.com/chart?chtt=Weekly+Artists+Shares&amp;cht=p&amp;chs=550x200&amp;chco=0000FF&amp;chd=s:0I&amp;chl=Iron+%26+Wine+%2F+Calexico%7CIron+%26+Wine" alt="Weekly Artists Shares"/></p>
<h2>Total listens of the 8 top artists this week:</h2>
<pre><code>$chart3 = new lastfmChart();
$chart3-&gt;setDataFile(&#39;http://ws.audioscrobbler.com/1.0/user/mister-brown/weeklyartistchart.xml&#39;);
$chart3-&gt;setType(&#39;bar&#39;);
$chart3-&gt;setDataPoints(&#39;8&#39;);
$chart3-&gt;setSize(&#39;400x300&#39;);
$chart3-&gt;setTitle(&#39;Weekly Listens&#39;);
$chart3-&gt;setColors(&#39;CF0F0F&#39;);
$chart3-&gt;doChart();
</code></pre>
<p><img src="http://chart.apis.google.com/chart?chtt=Weekly+Listens&amp;cht=bhg&amp;chs=400x300&amp;chco=CF0F0F&amp;chd=s:K9&amp;chxt=x,y&amp;chxl=0:|0|6|1:|Iron+%26+Wine+%2F+Calexico%7CIron+%26+Wine" alt="Weekly Listens"/></p>
<h2>Number of all-time listens for top 15 artists:</h2>
<pre><code>$chart4 = new lastfmChart();
$chart4-&gt;setDataFile(&#39;http://ws.audioscrobbler.com/1.0/user/mister-brown/topartists.xml&#39;);
$chart4-&gt;setType(&#39;bar&#39;);
$chart4-&gt;setSize(&#39;400x520&#39;);
$chart4-&gt;setTitle(&#39;Top Artists&#39;);
$chart4-&gt;setColors(&#39;00AF33&#39;);
$chart4-&gt;doChart();
</code></pre>
<p><img src="http://chart.apis.google.com/chart?chtt=Top+Artists&amp;cht=bhg&amp;chs=400x520&amp;chco=00AF33&amp;chd=s:XXZdfglnt022459&amp;chxt=x,y&amp;chxl=0:|0|840|1:|Grandaddy%7CBritish+Sea+Power%7CTom+Waits%7CJoy+Zipper%7CMogwai%7CJohnny+Cash%7CMe+First+and+the+Gimme+Gimmes%7CThe+Decemberists%7CClap+Your+Hands+Say+Yeah%7CIsobel+Campbell+%26+Mark+Lanegan%7CIron+%26+Wine%7CRilo+Kiley%7CHope+of+the+States%7CLemon+Jelly%7CIncubus" alt="Top Artists"/></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.olvr.org/2008/08/last-fm-google-charts-examples/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Last.fm and Google Charts</title>
		<link>http://blog.olvr.org/2008/08/last-fm-google-charts/</link>
		<comments>http://blog.olvr.org/2008/08/last-fm-google-charts/#comments</comments>
		<pubDate>Sun, 24 Aug 2008 12:42:05 +0000</pubDate>
		<dc:creator>Ollie</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://blog.olvr.org/?p=31</guid>
		<description><![CDATA[Google let you dynamically generate charts and graphs using their Charts API. Last.fm (or more correctly Audioscrobbler) allow you to track your listening habits and then give access to the data via their web services.

This PHP class combines the two services and allows you to make charts showing your listening habits.
Usage
// include class
include 'lastfmChart.php';

// initiate [...]]]></description>
			<content:encoded><![CDATA[<p>Google let you dynamically generate charts and graphs using their <a href="http://code.google.com/apis/chart/">Charts API</a>. Last.fm (or more correctly <a href="http://www.audioscrobbler.net/">Audioscrobbler</a>) allow you to track your listening habits and then give access to the data via their <a href="http://www.audioscrobbler.net/data/webservices/">web services</a>.</p>
<p><img src="http://blog.olvr.org/wp-content/uploads/2008/08/2.png" alt="Bar chart of last.fm weekly listens" title="Weekly Listens" width="350" height="200" class="alignnone size-full wp-image-36" /></p>
<p>This PHP class combines the two services and allows you to make charts showing your listening habits.</p>
<h2>Usage</h2>
<pre><code><span>// include class</span>
include 'lastfmChart.php';

<span>// initiate a chart</span>
$chart = new lastfmChart();

<span>// choose a data source - there's a list at http://www.audioscrobbler.net/data/webservices/#User Profile Data</span>
$chart-&gt;setDataFile('http://ws.audioscrobbler.com/1.0/user/mister-brown/weeklyartistchart.xml');

<span>// set type of chart - 'pie' or 'bar' - defaults to pie</span>
$chart-&gt;setType('pie');

<span>// set the number of segments or bars - default is 15</span>
$chart-&gt;setDataPoints('10');

<span>// set the size of the output image</span>
<span>// defaults to 400x400 for bar, 550x200 for pie; max total number of pixels is 300,000</span>
$chart-&gt;setSize('600x150');

<span>// set a title for the chart</span>
$chart-&gt;setTitle('Weekly Artist Shares');

<span>// set a colour for the chart - defaults to yellow</span>
$chart-&gt;setColors('0000FF');

<span>// output the chart</span>
$chart-&gt;doChart();</code></pre>
<h2>Results</h2>
<p><img src="http://blog.olvr.org/wp-content/uploads/2008/08/3.png" alt="Pie chart of last.fm top artist shares" title="Top Artist Shares" width="444" height="149" class="alignnone size-full wp-image-42" /></p>
<h2>Further examples</h2>
<p>See some <a href="/2008/08/last-fm-google-charts-examples/">further examples</a> of what is possible with this class.</p>
<h2>Download</h2>
<p><a href="/wp-content/uploads/2010/04/last-fm-google-charts.txt">Download the source</a> for this class.</p>
<p>You are free to take this code, use it and modify it. I’m making no guarantees about the code though, and I wont be held responsible for any consequences of the use or misuse of it. You should read, understand and evaluate what the code does before you implement it yourself. You should also stick to the <a href="http://code.google.com/apis/chart/#usage">Google Chart API usage policy</a>, the <a href="http://www.audioscrobbler.net/data/webservices/">Audioscrobbler licence</a> and any other applicable terms. If you do use this code, a link back to this page would be appreciated. Have fun!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.olvr.org/2008/08/last-fm-google-charts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apache error log</title>
		<link>http://blog.olvr.org/2008/07/apache-error-log/</link>
		<comments>http://blog.olvr.org/2008/07/apache-error-log/#comments</comments>
		<pubDate>Wed, 23 Jul 2008 12:40:19 +0000</pubDate>
		<dc:creator>Ollie</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://blog.olvr.org/?p=29</guid>
		<description><![CDATA[Where is the Apache error log?
Under Debian Etch with Apache 2, the error log was at: /var/log/apache2/error.log. You need to be root to view the file.
To view the last few lines of the log (useful &#8211; this can get to be a long file), enter:
tail /var/log/apache2/error.log
]]></description>
			<content:encoded><![CDATA[<p>Where is the Apache error log?</p>
<p>Under Debian Etch with Apache 2, the error log was at: /var/log/apache2/error.log. You need to be root to view the file.</p>
<p>To view the last few lines of the log (useful &#8211; this can get to be a long file), enter:</p>
<p><kbd>tail /var/log/apache2/error.log</kbd></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.olvr.org/2008/07/apache-error-log/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enabling mod_rewrite</title>
		<link>http://blog.olvr.org/2008/07/enabling-mod-rewrite/</link>
		<comments>http://blog.olvr.org/2008/07/enabling-mod-rewrite/#comments</comments>
		<pubDate>Wed, 23 Jul 2008 12:34:24 +0000</pubDate>
		<dc:creator>Ollie</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://blog.olvr.org/?p=25</guid>
		<description><![CDATA[Apache&#8217;s mod_rewrite is used for changing the way a website URL maps to the underlying file system. It can be used to make URLs more human-readable, and to disguise the underlying workings of a website. For example, you might use mod_rewrite to change http://www.example.com/index.php?post_id=5 to http://www.example.com/5.
URL rewriting isn&#8217;t enabled by default if you install Apache [...]]]></description>
			<content:encoded><![CDATA[<p>Apache&#8217;s <a href="http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html">mod_rewrite</a> is used for changing the way a website URL maps to the underlying file system. It can be used to make URLs more human-readable, and to disguise the underlying workings of a website. For example, you might use mod_rewrite to change <em>http://www.example.com/index.php?post_id=5</em> to <em>http://www.example.com/5</em>.</p>
<p>URL rewriting isn&#8217;t enabled by default if you install Apache on Debian or Ubuntu &#8211; this is how to do it.</p>
<p>You&#8217;ll need to navigate to <code>/etc/apache2</code> and obtain root access.</p>
<p>First, create a symbolic link in the mods-enabled directory to the rewrite.load file in the mods-availabe directory:</p>
<p><kbd>ln -s mods-available/rewrite.load mods-enabled/</kbd></p>
<p>Next, if you are wanting to use <a href="http://en.wikipedia.org/wiki/.htaccess">.htaccess</a> files to carry out URL rewriting (likely), then you&#8217;ll need to let Apache know that it can use the rules in those files. So, edit the appropriate config file:</p>
<p><kbd>nano sites-enabled/000-default</kbd></p>
<p>Look for the <a href="http://httpd.apache.org/docs/1.3/mod/core.html#allowoverride">AllowOverride directive</a> , and change it from &#8220;None&#8221; to &#8220;All&#8221;.</p>
<p>Finally, you&#8217;ll need to restart Apache to make the changes take effect:</p>
<p><kbd>/etc/init.d/apache2 restart</kbd></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.olvr.org/2008/07/enabling-mod-rewrite/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CD to FLAC to MP3</title>
		<link>http://blog.olvr.org/2008/07/cd-flac-mp3/</link>
		<comments>http://blog.olvr.org/2008/07/cd-flac-mp3/#comments</comments>
		<pubDate>Wed, 09 Jul 2008 12:27:14 +0000</pubDate>
		<dc:creator>Ollie</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://blog.olvr.org/?p=17</guid>
		<description><![CDATA[I&#8217;ve started using FLAC (Free Lossless Audio Codec) when I rip my CDs. FLAC compresses the audio, but no data is lost. Converting from one lossy music format to another isn&#8217;t a good idea, but there&#8217;s no problem going from lossless to lossy. So when, in 2020, I decide I want my music in mp9 [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve started using <a href="http://flac.sourceforge.net/">FLAC</a> (Free Lossless Audio Codec) when I rip my CDs. FLAC compresses the audio, but no data is lost. Converting from one lossy music format to another isn&#8217;t a good idea, but there&#8217;s no problem going from lossless to lossy. So when, in 2020, I decide I want my music in mp9 format for my new portable player, I won&#8217;t need to dig out all my CDs and rip then again. On the down side, the files are pretty big, but space is cheap these days.</p>
<h2>Ripping CDs to FLAC</h2>
<p>I use <a href="http://cdexos.sourceforge.net/">CDex</a> . In the configuration dialogue, choose the Encoder tab. Choose External Encoder and browse for flac.exe in the encoder path. Enter the following in the Parameter string box:</p>
<pre><code>--force-raw-format --endian=little --channels=2 --sign=signed --sample-rate=44100 --bps=16 -8 -V -A tukey(0,5) -o %2 -T &quot;artist=%a&quot; -T &quot;title=%t&quot; -T &quot;album=%b&quot; -T &quot;date=%y&quot; -T &quot;tracknumber=%tn&quot; -T &quot;genre=%g&quot; -</code></pre>
<p>The bitrate option is irrelevant, the file extension is flac. Check Hide DOS box window and On-the-fly encoding. Make sure Send WAV header to stdin is not checked. On the Generic tab, set ID3 tag version to None.</p>
<h2>Converting to MP3</h2>
<p>FLAC is great, but I still want MP3s for my portable player.</p>
<p>To convert FLAC to MP3, use <a href="http://home.vxu.se/mdati00/frontah/">Frontah</a>. Download and unzip it to a folder. Track flac.exe down and copy it into the Frontah folder. Also <a href="http://rarewares.org/mp3-lame-bundle.php">download lame.exe</a> and put it into the Frontah folder.</p>
<h2>Hat-tips</h2>
<ul>
<li><a href="http://www.pfarrell.com/music/slimserver/cdextip.html">Using CDex with Flac hints</a> &#8211; pfarrell.com</li>
<li><a href="http://lee.org/blog/2005/04/26/how-to-use-cdex-and-flac-together/">How to use CDex and <span class="caps">FLAC</span> together</a> &#8211; Lee.org</li>
<li><a href="http://www.philsaunders.com/convert_flac_to_mp3/">How to Convert <span class="caps">FLAC</span> Audio Files to MP3 for Free</a> &#8211; PhilSaunders.com</li>
<li><a href="http://www.hydrogenaudio.org/forums/index.php?showtopic=52249">CDex-Flac &#8212;&gt; incorrect file length and bitrate</a> &#8211; Hydrogen Audio</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.olvr.org/2008/07/cd-flac-mp3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting up dual monitors with Ubuntu</title>
		<link>http://blog.olvr.org/2007/05/dual-monitors-ubuntu/</link>
		<comments>http://blog.olvr.org/2007/05/dual-monitors-ubuntu/#comments</comments>
		<pubDate>Sat, 26 May 2007 12:18:42 +0000</pubDate>
		<dc:creator>Ollie</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://blog.olvr.org/?p=13</guid>
		<description><![CDATA[Configuring a dual screen setup isn’t as easy in Ubuntu as it is in Windows, but it’s not too much harder. All you need to do is edit a text file and be willing to use a terminal.
The text file we will be editing is called xorg.conf and is the configuration file for the X [...]]]></description>
			<content:encoded><![CDATA[<p>Configuring a dual screen setup isn’t as easy in Ubuntu as it is in Windows, but it’s not too much harder. All you need to do is edit a text file and be willing to use a terminal.</p>
<p>The text file we will be editing is called <span class="computer-term">xorg.conf</span> and is the configuration file for the <em>X server</em>. An <em>X server</em> is the program that interfaces between the computer and user, providing input and output functions, so this file is used when tweaking many input and output devices.</p>
<p>First we need to navigate to the directory where <span class="computer-term">xorg.conf</span> can be found. At the terminal, enter:</p>
<p><kbd>cd /etc/X11</kbd></p>
<p>You can use the <kbd>ls</kbd> function to list all of the files in the directory, and see that <span class="computer-term">xorg.conf</span> is there.</p>
<p>Next, make a copy of the current version of <span class="computer-term">xorg.conf</span>. This can be restored to get things working again if things go wrong later. We are working in a protected area of the operating system and so we need to use the <kbd>sudo</kbd> command. Enter the following:</p>
<p><kbd>sudo cp xorg.conf xorg.conf.backup</kbd></p>
<p>Now we can start editing <span class="computer-term">xorg.conf</span>. Ubuntu&#8217;s basic graphical text editor is called <span class="computer-term">gedit</span>, so at the terminal type:</p>
<p><kbd>sudo gedit xorg.conf</kbd></p>
<p>The <span class="computer-term">xorg.conf</span> file will open in a new window.</p>
<p>First look for the section with heading <code>Section &quot;Monitor&quot;</code>. Mine looks like this:</p>
<p><code>Section &quot;Monitor&quot;<br />
Identifier     &quot;SDM-S73&quot;<br />
Option         &quot;DPMS&quot;<br />
EndSection</code></p>
<p>Copy this section and paste it just below. Change the identifiers in both sections, so that we have <kbd><span class="caps">SDM</span>-S73 #1</kbd> and <kbd><span class="caps">SDM</span>-S73 #2</kbd>. This will give you something like:</p>
<p><code>Section &quot;Monitor&quot;<br />
Identifier     &quot;SDM-S73 *#1*&quot;<br />
Option         &quot;DPMS&quot;<br />
EndSection</code></p>
<p><code>Section &quot;Monitor&quot;<br />
Identifier     &quot;SDM-S73 *#2*&quot;<br />
Option         &quot;DPMS&quot;<br />
EndSection</code></p>
<p>Next, repeat with the section headed <code>Section &quot;Device&quot;</code>. This represents your graphics card. Copy and paste, and change the identifiers to add <kbd>#1</kbd> and <kbd>#2</kbd>. This time, we also need to add a couple of lines to each section. To both, we need to add the line:</p>
<p><code>BusID     &quot;PCI:1:0:0&quot;</code></p>
<p>This tells the X server where this graphics card can be found. This is the correct entry for my system, where one <span class="caps">NVIDIA</span> graphics card is running both monitors, which is in the only <span class="caps">AGP</span> slot on the motherboard. If your setup is different from this and the above is not working, you can discover the bus locations of any of your graphics cards by typing <kbd>lspci -X</kbd> at a terminal. Look for those with labels that describe something like your graphics card(s).</p>
<p>In this section, we also need to add a <code>Screen</code> line. To the first copy, add <kbd>Screen 0</kbd>; to the second, <kbd>Screen 1</kbd>. You should have something along the lines of this:</p>
<p><code>Section &quot;Device&quot;<br />
Identifier     &quot;NVIDIA Corporation NV36.2 [GeForce FX 5700] *#1*&quot;<br />
Driver         &quot;nvidia&quot;<br />
*BusID          &quot;PCI:1:0:0&quot;*<br />
*Screen 0*<br />
EndSection</code></p>
<p><code>Section &quot;Device&quot;<br />
Identifier     &quot;NVIDIA Corporation NV36.2 [GeForce FX 5700] *#2*&quot;<br />
Driver         &quot;nvidia&quot;<br />
*BusID          &quot;PCI:1:0:0&quot;*<br />
*Screen 1*<br />
EndSection</code></p>
<p>Next, we need to change <code>Section &quot;Screen&quot;</code> part. Again, copy and paste this section. In the first one, change the identifier by adding <kbd>#1</kbd> to the end. You also need to add <kbd>#1</kbd> to the end of the entries for <code>Device</code> and <code>Monitor</code>. In the second copy of this section, do exactly the same, but add <kbd>#2</kbd> to <code>Identifier</code>, <code>Device</code> and <code>Monitor</code>. This should look a little like this:</p>
<p><code>Section &quot;Screen&quot;<br />
*Identifier     &quot;Default Screen #1&quot;*<br />
*Device         &quot;NVIDIA Corporation NV36.2 [GeForce FX 5700] #1&quot;*<br />
*Monitor        &quot;SDM-S73 #1&quot;*<br />
DefaultDepth    24<br />
SubSection     &quot;Display&quot;<br />
Depth       1<br />
Modes      &quot;1280x1024&quot; &quot;1024x768&quot; &quot;832x624&quot; &quot;800x600&quot; &quot;720x400&quot; &quot;640x480&quot;<br />
EndSubSection<br />
SubSection     &quot;Display&quot;<br />
Depth       4<br />
Modes      &quot;1280x1024&quot; &quot;1024x768&quot; &quot;832x624&quot; &quot;800x600&quot; &quot;720x400&quot; &quot;640x480&quot;<br />
EndSubSection<br />
SubSection     &quot;Display&quot;<br />
Depth       8<br />
Modes      &quot;1280x1024&quot; &quot;1024x768&quot; &quot;832x624&quot; &quot;800x600&quot; &quot;720x400&quot; &quot;640x480&quot;<br />
EndSubSection<br />
SubSection     &quot;Display&quot;<br />
Depth       15<br />
Modes      &quot;1280x1024&quot; &quot;1024x768&quot; &quot;832x624&quot; &quot;800x600&quot; &quot;720x400&quot; &quot;640x480&quot;<br />
EndSubSection<br />
SubSection     &quot;Display&quot;<br />
Depth       16<br />
Modes      &quot;1280x1024&quot; &quot;1024x768&quot; &quot;832x624&quot; &quot;800x600&quot; &quot;720x400&quot; &quot;640x480&quot;<br />
EndSubSection<br />
SubSection     &quot;Display&quot;<br />
Depth       24<br />
Modes      &quot;1280x1024&quot; &quot;1024x768&quot; &quot;832x624&quot; &quot;800x600&quot; &quot;720x400&quot; &quot;640x480&quot;<br />
EndSubSection<br />
EndSection</code></p>
<p><code>Section &quot;Screen&quot;<br />
*Identifier     &quot;Default Screen #2&quot;*<br />
*Device         &quot;NVIDIA Corporation NV36.2 [GeForce FX 5700] #2&quot;*<br />
*Monitor        &quot;SDM-S73 #2&quot;*<br />
DefaultDepth    24<br />
SubSection     &quot;Display&quot;<br />
Depth       1<br />
Modes      &quot;1280x1024&quot; &quot;1024x768&quot; &quot;832x624&quot; &quot;800x600&quot; &quot;720x400&quot; &quot;640x480&quot;<br />
EndSubSection<br />
SubSection     &quot;Display&quot;<br />
Depth       4<br />
Modes      &quot;1280x1024&quot; &quot;1024x768&quot; &quot;832x624&quot; &quot;800x600&quot; &quot;720x400&quot; &quot;640x480&quot;<br />
EndSubSection<br />
SubSection     &quot;Display&quot;<br />
Depth       8<br />
Modes      &quot;1280x1024&quot; &quot;1024x768&quot; &quot;832x624&quot; &quot;800x600&quot; &quot;720x400&quot; &quot;640x480&quot;<br />
EndSubSection<br />
SubSection     &quot;Display&quot;<br />
Depth       15<br />
Modes      &quot;1280x1024&quot; &quot;1024x768&quot; &quot;832x624&quot; &quot;800x600&quot; &quot;720x400&quot; &quot;640x480&quot;<br />
EndSubSection<br />
SubSection     &quot;Display&quot;<br />
Depth       16<br />
Modes      &quot;1280x1024&quot; &quot;1024x768&quot; &quot;832x624&quot; &quot;800x600&quot; &quot;720x400&quot; &quot;640x480&quot;<br />
EndSubSection<br />
SubSection     &quot;Display&quot;<br />
Depth       24<br />
Modes      &quot;1280x1024&quot; &quot;1024x768&quot; &quot;832x624&quot; &quot;800x600&quot; &quot;720x400&quot; &quot;640x480&quot;<br />
EndSubSection<br />
EndSection</code></p>
<p>Finally, we need to edit the <code>Section &quot;ServerLayout&quot;</code> part of the file. It needs to specify the positions of the screens, and turn the xinerama option on (this manages dual screens). You need to change this section to read something like the following:</p>
<p><code>Section &quot;ServerLayout&quot;<br />
Identifier          &quot;Default Layout&quot;<br />
*Screen         &quot;Default Screen #1&quot;*<br />
*Screen         &quot;Default Screen #2&quot; RightOf &quot;Default Screen #1&quot;*<br />
InputDevice    &quot;Generic Keyboard&quot;<br />
InputDevice    &quot;Configured Mouse&quot;<br />
InputDevice    &quot;stylus&quot; &quot;SendCoreEvents&quot;<br />
InputDevice    &quot;cursor&quot; &quot;SendCoreEvents&quot;<br />
InputDevice    &quot;eraser&quot; &quot;SendCoreEvents&quot;<br />
*Option &quot;xinerama&quot; &quot;on&quot;*<br />
*Option &quot;clone&quot; &quot;off&quot;*<br />
EndSection</code></p>
<p>When this is done, hit the save button and exit gedit.</p>
<p>Finally, we need to restart the X server to apply the changes. To do this, simply press <em>ctrl+alt+backspace</em> and wait. Hopefully things start up again and you have your desktop spread across two monitors!</p>
<p><strong>What if things go wrong?</strong></p>
<p>If things <em>do</em> go wrong (you&#8217;ll see a blue screen with an error message), don&#8217;t panic! Things are certainly not beyond repair, in fact you have two options to fix things. First of all, press <kbd>return</kbd> a few times to get rid of the error messages and logs and get back to a command prompt. You&#8217;ll then need to type your user name and password to log in.</p>
<p>If you are fairly confident using the terminal at this point, you can edit <span class="computer-term">xorg.conf</span> from here. Simply navigate to the <span class="computer-term">/etc/X11</span> folder, and use the <span class="computer-term">nano</span> editor. This is a basic text editor that you can use to tweak your <span class="computer-term">xorg.conf</span> file. At the terminal, type the following.</p>
<p><kbd>sudo nano xorg.conf</kbd></p>
<p>Then make some changes, and use <em>ctrl-X</em> to save and exit.</p>
<p>If you&#8217;re much happier editing in a graphical interface, we can restore the backup copy of <span class="computer-term">xorg.conf</span> we made earlier. This is also useful if things are so far gone that you want to start again. At the terminal, change directory to <span class="computer-term">/etc/X11</span>. Then enter the following to restore the backup:</p>
<p><kbd>sudo cp xorg.conf.backup xorg.conf</kbd></p>
<p>When you have either finished editing or have restored the backup, you will need to start the X server up again. To do this, type <kbd>startx</kbd> at the terminal and hit enter.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.olvr.org/2007/05/dual-monitors-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

