<?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>langui.sh &#187; linux</title>
	<atom:link href="http://langui.sh/tag/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://langui.sh</link>
	<description>Fun hacks, WP plugins, photography, and PKI junk.  Languishing since 2008.</description>
	<lastBuildDate>Tue, 20 Jul 2010 22:12:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/>		<item>
		<title>Bypass Hulu Regional Restrictions in Mac OS X</title>
		<link>http://langui.sh/2009/11/16/circumventing-hulu-regional-restrictions-in-mac-os-x/</link>
		<comments>http://langui.sh/2009/11/16/circumventing-hulu-regional-restrictions-in-mac-os-x/#comments</comments>
		<pubDate>Mon, 16 Nov 2009 21:18:55 +0000</pubDate>
		<dc:creator>Paul Kehrer</dc:creator>
				<category><![CDATA[Posts]]></category>
		<category><![CDATA[hulu]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[vpn]]></category>

		<guid isPermaLink="false">http://langui.sh/?p=780</guid>
		<description><![CDATA[Hulu is a great site to find new shows and catch up on old, but due to various contracts no one outside the US can use it. This irritated some friends of mine from Canada, England, Germany, et cetera. So I decided to write up one (very reliable) way to circumvent the Hulu geolocation checks [...]]]></description>
			<content:encoded><![CDATA[<p>Hulu is a great site to find new shows and catch up on old, but due to various contracts no one outside the US can use it.  This irritated some friends of mine from Canada, England, Germany, et cetera.  So I decided to write up one (very reliable) way to circumvent the Hulu geolocation checks &#8212; using a VPN.<sup class='footnote'><a href='#fn-780-1' id='fnref-780-1'>1</a></sup></p>
<h3>Accessing Hulu Outside The US</h3>
<p>In this case, we&#8217;ll be using a small VM and the open source VPN server pptpd.  All the server side instructions below are applicable to both OS X and Windows, but the client setup is only specified for Mac OS X.</p>
<h3>Server Setup</h3>
<p>First, obtain a VM from a reputable (and fast) US vendor.  The VM must be located in the US since that&#8217;s our required origin.  I personally use <a href="http://www.slicehost.com">Slicehost</a>, but there are many others.  Once you get your login be sure you change the root password.</p>
<p>Install pptpd.  If you&#8217;re running on Ubuntu or Debian you can simply run</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> pptpd</pre></div></div>

<p>Once you have pptpd installed, we&#8217;ll need to add a user.  The default pptpd configuration is fine, but we&#8217;ll need to edit /etc/ppp/chap-secrets. When you edit the file (using vi, nano, emacs, et cetera) you&#8217;ll see this:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># Secrets for authentication using CHAP</span>
<span style="color: #666666; font-style: italic;"># client        server  secret                  IP addresses</span></pre></div></div>

<p>Client is your username, server is &#8220;pptpd&#8221;, secret is your password in plaintext, and IP addresses is a range of allowed IPs.  If you&#8217;re unconcerned about who might attempt to access your VPN, you can simply use a wildcard (*).  Once you&#8217;ve populated this file with data it will look something like this:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># Secrets for authentication using CHAP</span>
<span style="color: #666666; font-style: italic;"># client	server	secret			IP addresses</span>
testuser	pptpd	mypassword		<span style="color: #000000; font-weight: bold;">*</span></pre></div></div>

<p>We need to set up IPv4 forwarding, so edit /etc/sysctl.conf and uncomment the line below from the file (remove the #).</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#net.ipv4.ip_forward=1</span></pre></div></div>

<p>This will enable the behavior after a reboot, but you can enable it right now by running:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #000000;">1</span> <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>proc<span style="color: #000000; font-weight: bold;">/</span>sys<span style="color: #000000; font-weight: bold;">/</span>net<span style="color: #000000; font-weight: bold;">/</span>ipv4<span style="color: #000000; font-weight: bold;">/</span>ip_forward</pre></div></div>

<p>Now run these commands:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">/</span>sbin<span style="color: #000000; font-weight: bold;">/</span>iptables <span style="color: #660033;">-t</span> nat <span style="color: #660033;">-A</span> POSTROUTING <span style="color: #660033;">-o</span> eth0 <span style="color: #660033;">-j</span> MASQUERADE
<span style="color: #000000; font-weight: bold;">/</span>sbin<span style="color: #000000; font-weight: bold;">/</span>iptables <span style="color: #660033;">-A</span> FORWARD <span style="color: #660033;">-i</span> eth0 <span style="color: #660033;">-o</span> ppp0 <span style="color: #660033;">-m</span> state <span style="color: #660033;">--state</span> RELATED,ESTABLISHED <span style="color: #660033;">-j</span> ACCEPT
<span style="color: #000000; font-weight: bold;">/</span>sbin<span style="color: #000000; font-weight: bold;">/</span>iptables <span style="color: #660033;">-A</span> FORWARD <span style="color: #660033;">-i</span> ppp0 <span style="color: #660033;">-o</span> eth0 <span style="color: #660033;">-j</span> ACCEPT</pre></div></div>

<p>Once you&#8217;ve run these you can save them so they execute every time your VM boots by following <a href="http://rackerhacker.com/2009/11/16/automatically-loading-iptables-on-debianubuntu/">these quick instructions</a>.  This completes the server side setup.</p>
<h3>Client Setup</h3>
<p>Now it&#8217;s time to configure the Mac to utilize the VPN server.  Bear in mind that all traffic to the internet will be routed through your VPN server when this is active, so you&#8217;ll only want to connect to your VPN when watching Hulu.<sup class='footnote'><a href='#fn-780-2' id='fnref-780-2'>2</a></sup></p>
<p>Open System Preferences and go to Network.  Click the plus sign in the lower left and choose add to add a VPN PPTP interface.  Then set the server address (the IP of your VM) and account name (&#8220;testuser&#8221; from above).<br />
<a href="http://cdn.langui.sh/2009/11/network_screen.png"><img class="alignnone size-medium wp-image-836" title="network_screen" src="http://cdn.langui.sh/2009/11/network_screen-300x264.png" alt="network_screen" width="300" height="264" /></a></p>
<p>After filling out those fields, click authentication settings and type your password, then click Okay.</p>
<p><a href="http://cdn.langui.sh/2009/11/network_screen.png"></a><a href="http://cdn.langui.sh/2009/11/advanced.png"><img style="border: 0px initial initial;" title="advanced" src="http://cdn.langui.sh/2009/11/advanced-300x185.png" alt="advanced" width="300" height="185" /></a></p>
<p>Finally, click advanced, then click DNS and click the plus sign.  Add 4.2.2.1 as a DNS server.<sup class='footnote'><a href='#fn-780-3' id='fnref-780-3'>3</a></sup></p>
<p><a href="http://cdn.langui.sh/2009/11/advanced.png"></a><a href="http://cdn.langui.sh/2009/11/dns_fix.png"><img style="border: 0px initial initial;" title="dns_fix" src="http://cdn.langui.sh/2009/11/dns_fix-300x234.png" alt="dns_fix" width="300" height="234" /></a></p>
<p>Save these changes and then you can click connect to test it out.  Your traffic should all be routed through the VPN and since the endpoint is located in the US Hulu should work just fine!
<div class='footnotes'>
<div class='footnotedivider'></div>
<ol>
<li id='fn-780-1'>There are many other ways, including just proxying Hulu traffic from the browser and Flash plugin, but I&#8217;m not going to cover those methods. <span class='footnotereverse'><a href='#fnref-780-1'>&#8617;</a></span></li>
<li id='fn-780-2'> This can be alleviated by using a split tunnel if you want to go to the trouble. <span class='footnotereverse'><a href='#fnref-780-2'>&#8617;</a></span></li>
<li id='fn-780-3'>Our PPTP server doesn&#8217;t announce its own DNS by default. <span class='footnotereverse'><a href='#fnref-780-3'>&#8617;</a></span></li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://langui.sh/2009/11/16/circumventing-hulu-regional-restrictions-in-mac-os-x/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SSL VHosting On The Same IP (aka SNI)</title>
		<link>http://langui.sh/2009/11/03/ssl-vhosting-on-the-same-ip-aka-sni/</link>
		<comments>http://langui.sh/2009/11/03/ssl-vhosting-on-the-same-ip-aka-sni/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 21:01:54 +0000</pubDate>
		<dc:creator>Paul Kehrer</dc:creator>
				<category><![CDATA[Posts]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[sni]]></category>
		<category><![CDATA[ssl]]></category>

		<guid isPermaLink="false">http://langui.sh/?p=747</guid>
		<description><![CDATA[Server Name Indication (SNI), an extension to TLS, allows browsers that support it to connect to SSL hosts that do not have dedicated IPs (much like standard http virtual hosting has worked for years). This extension, however, must be supported on both the server and client side. Microsoft has not yet chosen to support it [...]]]></description>
			<content:encoded><![CDATA[<p>Server Name Indication (SNI), an extension to TLS, allows browsers that support it to connect to SSL hosts that do not have dedicated IPs (much like standard http virtual hosting has worked for years).  This extension, however, must be supported on both the server and client side.  Microsoft has not yet chosen to support it (maybe IIS 8?), but the Apache project did with the 2.2.12 release.  Recently, Ubuntu 9.10 Server became the first server distribution to ship with Apache and OpenSSL built with the appropriate flags, so if you&#8217;d like to follow along you can use a 9.10 VM.</p>
<p>In the ideal case everything is the same as a regular vhost, but you&#8217;ll first need to enable SSL.  On Ubuntu this requires you to run <b>a2enmod</b> and type &#8220;ssl&#8221;.  After that you&#8217;ll need to add</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;"><span style="color: #00007f;">NameVirtualHost</span> *:<span style="color: #ff0000;">443</span></pre></div></div>

<p>to the root conf, then make your VirtualHost much like a normal one.  A very basic pair of vhosts is seen below.</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;">&lt;<span style="color: #000000; font-weight:bold;">VirtualHost</span> *:<span style="color: #ff0000;">443</span>&gt;
	<span style="color: #00007f;">ServerAdmin</span> webmaster@localhost
&nbsp;
	<span style="color: #00007f;">DocumentRoot</span> /my/doc/root
	<span style="color: #00007f;">ServerName</span> mydomain.com
	SSLEngine <span style="color: #0000ff;">On</span>
	SSLCertificateFile /path/to/domain.crt 
	SSLCertificateKeyFile /path/to/domain.key
&lt;/<span style="color: #000000; font-weight:bold;">VirtualHost</span>&gt;
&lt;<span style="color: #000000; font-weight:bold;">VirtualHost</span> *:<span style="color: #ff0000;">443</span>&gt;
	<span style="color: #00007f;">ServerAdmin</span> webmaster@localhost
&nbsp;
	<span style="color: #00007f;">DocumentRoot</span> /my/doc/root
	<span style="color: #00007f;">ServerName</span> mydomain2.com
	SSLEngine <span style="color: #0000ff;">On</span>
	SSLCertificateFile /path/to/domain2.crt 
	SSLCertificateKeyFile /path/to/domain2.key
&lt;/<span style="color: #000000; font-weight:bold;">VirtualHost</span>&gt;</pre></div></div>

<p>These vhosts should be placed in different includes ideally, but it isn&#8217;t required.  If you just want to test with a self-signed certificate you can create one with</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">openssl req <span style="color: #660033;">-new</span> <span style="color: #660033;">-nodes</span> <span style="color: #660033;">-keyout</span> mykey.key <span style="color: #660033;">-out</span> mycert.cer <span style="color: #660033;">-days</span> <span style="color: #000000;">3650</span> <span style="color: #660033;">-x509</span></pre></div></div>

<p>You&#8217;ll need to specify the domain name you want in the &#8220;Common Name&#8221; section.</p>
<p>Once you&#8217;ve got all this done you can restart apache and test it out!  If you test on a browser that doesn&#8217;t support SNI (IE on XP) you&#8217;ll get the SSL cert for the first vhost apache parses.  To disable accessing it on non-SNI hosts you can add</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;">SSLStrictSNIVHostCheck <span style="color: #0000ff;">on</span></pre></div></div>

<p>to the root conf.  This will cause a 403 error for those browsers.</p>
<p>If you&#8217;d like to see an example implementation of SNI you can check out my IDN domains <a href="http://xn--j4h.ws">https://☢.ws/</a> and <a href="https://xn--k4h.ws/">https://☣.ws/</a>.  These sites are hosted on the same IP with different SSL certificates.  I have strict host checking turned on so visiting them with a non-SNI capable browser will result in a 403 error.<sup class='footnote'><a href='#fn-747-1' id='fnref-747-1'>1</a></sup>
<div class='footnotes'>
<div class='footnotedivider'></div>
<ol>
<li id='fn-747-1'>See the Wikipedia article about <a href="http://en.wikipedia.org/wiki/Server_Name_Indication">Server Name Indication</a> for more information on supported browsers. <span class='footnotereverse'><a href='#fnref-747-1'>&#8617;</a></span></li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://langui.sh/2009/11/03/ssl-vhosting-on-the-same-ip-aka-sni/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Upgrading Ubuntu Server to 9.10</title>
		<link>http://langui.sh/2009/10/29/upgrading-ubuntu-server-to-9-10/</link>
		<comments>http://langui.sh/2009/10/29/upgrading-ubuntu-server-to-9-10/#comments</comments>
		<pubDate>Thu, 29 Oct 2009 15:44:33 +0000</pubDate>
		<dc:creator>Paul Kehrer</dc:creator>
				<category><![CDATA[Posts]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://langui.sh/?p=737</guid>
		<description><![CDATA[A quick reminder for those who don&#8217;t know or have forgotten how to upgrade an Ubuntu server: sudo apt-get install update-manager-core sudo do-release-upgrade Follow the instructions, reboot, and you&#8217;re done!]]></description>
			<content:encoded><![CDATA[<p>A quick reminder for those who don&#8217;t know or have forgotten how to upgrade an Ubuntu server:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> update-manager-core
<span style="color: #c20cb9; font-weight: bold;">sudo</span> do-release-upgrade</pre></div></div>

<p>Follow the instructions, reboot, and you&#8217;re done!</p>
]]></content:encoded>
			<wfw:commentRss>http://langui.sh/2009/10/29/upgrading-ubuntu-server-to-9-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu 9.10 Article Updated</title>
		<link>http://langui.sh/2009/10/25/ubuntu-9-10-article-updated/</link>
		<comments>http://langui.sh/2009/10/25/ubuntu-9-10-article-updated/#comments</comments>
		<pubDate>Sun, 25 Oct 2009 18:47:34 +0000</pubDate>
		<dc:creator>Paul Kehrer</dc:creator>
				<category><![CDATA[Posts]]></category>
		<category><![CDATA[karmic koala]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://langui.sh/?p=718</guid>
		<description><![CDATA[I&#8217;ve just updated my Ubuntu 9.10 in VMware article with a better process. If you&#8217;re looking to install Karmic Koala when it&#8217;s released on 10/29 check it out!]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just updated my <a href="/2009/10/05/ubuntu-9-10-in-vmware/">Ubuntu 9.10 in VMware</a> article with a better process.  If you&#8217;re looking to install Karmic Koala when it&#8217;s released on 10/29 check it out!</p>
]]></content:encoded>
			<wfw:commentRss>http://langui.sh/2009/10/25/ubuntu-9-10-article-updated/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ubuntu 9.10 In VMware &#8211; Updated</title>
		<link>http://langui.sh/2009/10/05/ubuntu-9-10-in-vmware/</link>
		<comments>http://langui.sh/2009/10/05/ubuntu-9-10-in-vmware/#comments</comments>
		<pubDate>Mon, 05 Oct 2009 18:12:28 +0000</pubDate>
		<dc:creator>Paul Kehrer</dc:creator>
				<category><![CDATA[Posts]]></category>
		<category><![CDATA[karmic koala]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[vmware]]></category>

		<guid isPermaLink="false">http://langui.sh/?p=694</guid>
		<description><![CDATA[Update 2: Preliminary 10.04 instructions are available here. No real obstacles for those running the latest Fusion/Workstation. Update: If you&#8217;re using VMware Fusion 3.0 or any VMware Tools version 8.2.3-204229 or better you can follow a drastically simplified process. sudo apt-get install build-essential, choose install VMware Tools from the menu, copy tar to desktop, untar, [...]]]></description>
			<content:encoded><![CDATA[<p>Update 2: Preliminary 10.04 instructions are available <a href="/2010/02/27/ubuntu-10-04-in-vmware-fusion/">here</a>. No real obstacles for those running the latest Fusion/Workstation.</p>
<p>Update: If you&#8217;re using VMware Fusion 3.0 or any VMware Tools version 8.2.3-204229 or better you can follow a drastically simplified process.  <b>sudo apt-get install build-essential</b>, choose install VMware Tools from the menu, copy tar to desktop, untar, sudo ./vmware-install.pl and follow the instructions.  Simple!</p>
<p>With the release of the Ubuntu 9.10 RC it&#8217;s time to revisit installing Ubuntu into a VMware VM.  I&#8217;m using VMware Fusion 2.0.x, but behavior should be largely the same for any recent VMware release.</p>
<p>First, create a new VM and point the installation disk at your Ubuntu 9.10 ISO.  At this time I would not recommend using &#8220;easy install&#8221;, so uncheck that and continue.  If you wish to use the graphical installer you&#8217;ll need to increase the RAM allocated to your VM from 512MB to 768MB.<sup class='footnote'><a href='#fn-694-1' id='fnref-694-1'>1</a></sup></p>
<p>Now you can boot your VM and follow the graphical installer.  Once complete your VM will hopefully reboot properly and ask you if you want to force the CD to disconnect (you do).  If this doesn&#8217;t occur, force the guest to shut down, disconnect the ISO in the settings, then boot the VM again.</p>
<p>The official VMware Tools do not work properly due to the newer kernel (2.6.31), so we&#8217;ll need to build the <a href="http://sourceforge.net/projects/open-vm-tools/develop">open-vm-tools</a> for this kernel.  Follow the steps below to build them yourself or simply <a href="http://c0396982.cdn.cloudfiles.rackspacecloud.com/open-vm-modules-2.6.31-14-generic_2009.07.22-179896-2+2.6.31-14.48_amd64.deb">download</a> the AMD64 deb package I have already built for the modules.<sup class='footnote'><a href='#fn-694-2' id='fnref-694-2'>2</a></sup></p>
<ol>
<li>Obtain the build prerequisities<sup class='footnote'><a href='#fn-694-3' id='fnref-694-3'>3</a></sup>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> open-vm-tools build-essential open-vm-toolbox</pre></div></div>

</li>
<li>Run module assistant to build the modules

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> m-a</pre></div></div>

</li>
<li>Choose select and activate open-vm<br />
<a href="http://cdn.langui.sh/2009/10/Screen-shot-2009-10-25-at-12.37.06-PM.png"><img src="http://cdn.langui.sh/2009/10/Screen-shot-2009-10-25-at-12.37.06-PM-150x150.png" alt="Select open-vm" title="Select open-vm" width="150" height="150" class="alignnone size-thumbnail wp-image-714" /></a></li>
<li>Click okay, then select build<br />
<a href="http://cdn.langui.sh/2009/10/Screen-shot-2009-10-25-at-12.41.35-PM.png"><img src="http://cdn.langui.sh/2009/10/Screen-shot-2009-10-25-at-12.41.35-PM-150x150.png" alt="Screen shot 2009-10-25 at 12.41.35 PM" title="Options" width="150" height="150" class="alignnone size-thumbnail wp-image-716" /></a><br />
<a href="http://cdn.langui.sh/2009/10/Screen-shot-2009-10-25-at-12.37.37-PM.png"><img src="http://cdn.langui.sh/2009/10/Screen-shot-2009-10-25-at-12.37.37-PM-150x150.png" alt="Screen shot 2009-10-25 at 12.37.37 PM" title="Building" width="150" height="150" class="alignnone size-thumbnail wp-image-715" /></a></li>
<li>Once it completes it will ask if you want to install.  Choose yes, then quit out of m-a and reboot.</li>
<li>After a reboot check to see that the vm modules inserted into the kernel properly.

<div class="wp_syntax"><div class="code"><pre class="none" style="font-family:monospace;">vmware@vmware-desktop:~$ lsmod | grep vm
vmsync                  5104  0 
vmmemctl               10120  0 
vmhgfs                 59080  0 
vmci                   33952  0</pre></div></div>

</li>
</ol>
<p>If you see the 4 modules listed above then you should have functioning copy/paste, auto-resolution switching, and even shared folders.  However, to enable shared folders you&#8217;ll need to follow these steps:</p>
<ol>
<li>Enable shared folders and add a folder in the VM settings<sup class='footnote'><a href='#fn-694-4' id='fnref-694-4'>4</a></sup></li>
<li>Run this command:<sup class='footnote'><a href='#fn-694-5' id='fnref-694-5'>5</a></sup>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">mount</span> <span style="color: #660033;">-t</span> vmhgfs <span style="color: #660033;">-v</span> <span style="color: #660033;">-o</span> ro .host:<span style="color: #000000; font-weight: bold;">/</span>sharedfoldername <span style="color: #000000; font-weight: bold;">/</span>path<span style="color: #000000; font-weight: bold;">/</span>to<span style="color: #000000; font-weight: bold;">/</span>mnt</pre></div></div>

</li>
</ol>
<p>Let me know in the comments if you have issues or have improvements to the process.  Waiting for the official VMware Tools release is boring!
<div class='footnotes'>
<div class='footnotedivider'></div>
<ol>
<li id='fn-694-1'>It may not be necessary to increase it a full 256MB, but the 512MB default causes the install to fail as of the release candidate. <span class='footnotereverse'><a href='#fnref-694-1'>&#8617;</a></span></li>
<li id='fn-694-2'>If you choose to install the package, you&#8217;ll need to do step 1 and then skip to step 6. <span class='footnotereverse'><a href='#fnref-694-2'>&#8617;</a></span></li>
<li id='fn-694-3'>open-vm-toolbox is only required for desktops <span class='footnotereverse'><a href='#fnref-694-3'>&#8617;</a></span></li>
<li id='fn-694-4'>If you get a message about &#8220;Unable to update run-time folder sharing status: The command is not recognized by the Guest OS tools&#8221; you can ignore this error. <span class='footnotereverse'><a href='#fnref-694-4'>&#8617;</a></span></li>
<li id='fn-694-5'>You can change ro to rw if you want your shared folder to be read/write capable <span class='footnotereverse'><a href='#fnref-694-5'>&#8617;</a></span></li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://langui.sh/2009/10/05/ubuntu-9-10-in-vmware/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Upgrading Ubuntu Server 8.10 (Intrepid) to 9.04 (Jaunty)</title>
		<link>http://langui.sh/2009/04/26/upgrading-ubuntu-server-810-intrepid-to-904-jaunty/</link>
		<comments>http://langui.sh/2009/04/26/upgrading-ubuntu-server-810-intrepid-to-904-jaunty/#comments</comments>
		<pubDate>Sun, 26 Apr 2009 19:25:33 +0000</pubDate>
		<dc:creator>Paul Kehrer</dc:creator>
				<category><![CDATA[Posts]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://langui.sh/?p=558</guid>
		<description><![CDATA[Now that Ubuntu 9.04 (Jaunty Jackalope) is out I decided to upgrade a few of my servers from 8.10 (Intrepid Ibex) to the latest release. To upgrade via the command line follow these steps (as root or via sudo): aptitude update aptitude safe-upgrade aptitude install update-manager-core This will get your system upgraded to the latest [...]]]></description>
			<content:encoded><![CDATA[<p>Now that Ubuntu 9.04 (Jaunty Jackalope) is out I decided to upgrade a few of my servers from 8.10 (Intrepid Ibex) to the latest release.  To upgrade via the command line follow these steps (as root or via sudo):</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">aptitude</span> update
<span style="color: #c20cb9; font-weight: bold;">aptitude</span> safe-upgrade
<span style="color: #c20cb9; font-weight: bold;">aptitude</span> <span style="color: #c20cb9; font-weight: bold;">install</span> update-manager-core</pre></div></div>

<p>This will get your system upgraded to the latest packages of 8.10 and install the scripts to move to Jaunty.  Be sure you have screen installed as well &#8212; Ubuntu does not like having upgrades interrupted so you want to be able to resume if your session is interrupted for any reason.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">screen</span> do-release-upgrade</pre></div></div>

<p>It will download and check a few things and then warn you about operating an upgrade over ssh (along with starting an extra ssh daemon on port 9004).  Simply follow the instructions from there and you&#8217;ll have a fully upgraded server!<sup class='footnote'><a href='#fn-558-1' id='fnref-558-1'>1</a></sup></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>lsb-release 
<span style="color: #007800;">DISTRIB_ID</span>=Ubuntu
<span style="color: #007800;">DISTRIB_RELEASE</span>=<span style="color: #000000;">9.04</span>
<span style="color: #007800;">DISTRIB_CODENAME</span>=jaunty
<span style="color: #007800;">DISTRIB_DESCRIPTION</span>=<span style="color: #ff0000;">&quot;Ubuntu 9.04&quot;</span></pre></div></div>

<div class='footnotes'>
<div class='footnotedivider'></div>
<ol>
<li id='fn-558-1'>Bear in mind that during the upgrade you will occasionally be asked questions about config files, so don&#8217;t try to run this upgrade unattended. <span class='footnotereverse'><a href='#fnref-558-1'>&#8617;</a></span></li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://langui.sh/2009/04/26/upgrading-ubuntu-server-810-intrepid-to-904-jaunty/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu 9.04 (beta/RC/final) In VMware Fusion</title>
		<link>http://langui.sh/2009/04/04/ubuntu-904-beta-in-vmware-fusion/</link>
		<comments>http://langui.sh/2009/04/04/ubuntu-904-beta-in-vmware-fusion/#comments</comments>
		<pubDate>Sat, 04 Apr 2009 23:42:56 +0000</pubDate>
		<dc:creator>Paul Kehrer</dc:creator>
				<category><![CDATA[Posts]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://langui.sh/?p=486</guid>
		<description><![CDATA[Update 10/26/09 Ubuntu 9.10 (Karmic Koala) is about to be released, so check out the new guide for that version. Update 4/25/09 Ubuntu 9.04 (Jaunty Jackalope) final was released a few days ago so I grabbed it and rebuilt my VM. I don&#8217;t recommend using the &#8220;easy install&#8221; option at this time, so uncheck that [...]]]></description>
			<content:encoded><![CDATA[<p><b>Update 10/26/09</b> Ubuntu 9.10 (Karmic Koala) is about to be released, so check out the <a href="/2009/10/05/ubuntu-9-10-in-vmware/">new guide</a> for that version.</p>
<p><b>Update 4/25/09</b> Ubuntu 9.04 (Jaunty Jackalope) final was released a few days ago so I grabbed it and rebuilt my VM.  I don&#8217;t recommend using the &#8220;easy install&#8221; option at this time, so uncheck that and run through the Ubuntu installer by hand.  There are only 7 steps and you can leave everything default if you want.  Once installed you can follow the instructions below (including the vmmouse install) to get it all up and running.</p>
<p><b>Update 4/21/09:</b> RC is now out and to get mouse ungrab working you can simply run this command:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">aptitude</span> <span style="color: #c20cb9; font-weight: bold;">install</span> xserver-xorg-input-vmmouse</pre></div></div>

<p>Be sure to aptitude update to get the latest package lists.  I&#8217;ll do a new post when Ubuntu 9.04 is released in a few days.  Be sure to check the comments of this post for other takes on getting this working properly!</p>
<p>Now that Ubuntu 9.04 has gone into beta I decided to build up a quick VM for random testing purposes.  Installation is very straightforward: simply download the x86 or AMD64 CD image and install.  However, since this is a beta things are in heavy flux &#8212; I would highly recommend upgrading to the latest packages before installing the VMware Tools since several bugs (like the infinitely multiplying window when mounting the VMWare Tools image) have been fixed.</p>
<p>Select &#8220;Install VMware Tools&#8221; from the Virtual Machine menu and then copy the tar to your Ubuntu desktop.  Running the vmware-install.pl as superuser will net you a mostly functional system, but drag/drop files and mouse ungrab will not work.<sup class='footnote'><a href='#fn-486-1' id='fnref-486-1'>1</a></sup></p>
<p>To get VMHGFS working (drag/drop file sharing), you will need to follow these instructions:</p>
<ol>
<li>Navigate to vmware-tools-distrib/lib/modules/source and untar vmhgfs.tar.  Inside the vmhgfs-only directory that is created there is a file called page.c.</li>
<li>Edit this file and do the following<sup class='footnote'><a href='#fn-486-2' id='fnref-486-2'>2</a></sup>

<div class="wp_syntax"><div class="code"><pre class="diff" style="font-family:monospace;">-    page = __grab_cache_page<span style="">&#40;</span>mapping, index<span style="">&#41;</span>;
<span style="color: #00b000;">+    page = grab_cache_page_write_begin<span style="">&#40;</span>mapping, index, flags<span style="">&#41;</span>;</span></pre></div></div>

</li>
<li>Move the vmhgfs.tar file to vmhgfs-old.tar and create a new tar with the modified file

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">tar</span> cvf vmhgfs.tar vmhgfs-only</pre></div></div>

<li>Run the vmware-install.pl script (as superuser)</li>
</ol>
<p>At this time I haven&#8217;t managed to get mouse ungrab working, but let me know if you figure out a way!  The vmmouse driver for X.org is available via apt-get install xserver-xorg-input-vmmouse, but does not appear to work any better than the one that comes with VMware Tools 7.9.3.  Hopefully a driver compatible with X.org 7.5 shows up soon.
<div class='footnotes'>
<div class='footnotedivider'></div>
<ol>
<li id='fn-486-1'>You may need to run sudo apt-get install build-essential to get the basic build environment. I don&#8217;t remember if I did this when building mine. <span class='footnotereverse'><a href='#fnref-486-1'>&#8617;</a></span></li>
<li id='fn-486-2'>For those unfamiliar with diff syntax, remove the first line and replace it with the second line. <span class='footnotereverse'><a href='#fnref-486-2'>&#8617;</a></span></li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://langui.sh/2009/04/04/ubuntu-904-beta-in-vmware-fusion/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
