<?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>Views on Life &#187; Linux</title>
	<atom:link href="http://blog.cone.be/category/it/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.cone.be</link>
	<description>No Regrets.</description>
	<lastBuildDate>Tue, 27 Jul 2010 17:25:10 +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>gish linux how to install</title>
		<link>http://blog.cone.be/2010/05/25/gish-linux-how-to-install/</link>
		<comments>http://blog.cone.be/2010/05/25/gish-linux-how-to-install/#comments</comments>
		<pubDate>Tue, 25 May 2010 17:58:59 +0000</pubDate>
		<dc:creator>Gert</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Future]]></category>
		<category><![CDATA[Planet]]></category>

		<guid isPermaLink="false">http://blog.cone.be/?p=4160</guid>
		<description><![CDATA[While checking the Google Analytics for gertschepens.be, I noticed someone ending up there with a &#8220;gish linux how to install&#8221; search. Since I don&#8217;t answer that anywhere (nor do the interwebs), I thought Id do a lil Q&#38;A   This question isn&#8217;t really answered anywhere because its very straight forward!
The linux package is called gish153-1.tar.gz or something [...]]]></description>
			<content:encoded><![CDATA[<p>While checking the Google Analytics for <a href="http://www.gertschepens.be/2010-ubuntu-lucid-lynx-games">gertschepens.be</a>, I noticed someone ending up there with a &#8220;gish linux how to install&#8221; search. Since I don&#8217;t answer that anywhere (nor do the interwebs), I thought Id do a lil Q&amp;A <img src='http://blog.cone.be/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  This question isn&#8217;t really answered anywhere because its very straight forward!</p>
<p>The linux package is called <em>gish153-1.tar.gz</em> or something alike. You will of course need this to install the Gish! <img src='http://blog.cone.be/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Buy it at <a href="http://www.chroniclogic.com/gish.htm">http://www.chroniclogic.com/gish.htm</a> (its worth it!)</p>
<p>Installing it is pretty straight forward, as it is simply extracting the archive and putting it where you want to keep it. The <a href="http://en.wikipedia.org/wiki/Tar_(file_format)">.tar.gz</a> (or .tgz) file is an archive file; a lot like the more known .zip or .tar files and extracting them is really simple.</p>
<p>You can extract the file in several easy ways</p>
<ul>
<li>By double clicking it. This will open the file roller or whatever its linked to depending on what linux distro you have. Click extract, choose where you want to extract it and done.</li>
<li>By right clicking the file and selecting &#8220;Extract Here&#8221;; this will extract Gish in the map you have the archive in.</li>
<li>By navigating the commandline to the map where the Gish archive is and typing &#8220;tar -xvzf gish153-1.tar.gz&#8221;. If this doesnt work, check that the archive is in that map and check if the archive name in the command here is correct. This will extract the Gish archive in the map run the command in.</li>
</ul>
<p>After extracting, you ll have a map with all the Gish files in. You can simply run the &#8220;gish&#8221; file to play. You can store this map anywhere you want, but do it somewhere logical because you ll navigate there every time you want to play it.</p>
<p>And thats how its installed. Simple, no <img src='http://blog.cone.be/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Now, you ll probably also want to launch it from your Gnome menu and simply adding the link will have the Gish start without any graphics (this is because the paths are relative and the app as such doesnt find the files it needs.) You can create a new launcher using the menu editor under System &gt; Preferences &gt; Main menu; there select the Games menu and click &#8220;New Item&#8221;. You can quickly solve this by following the guide on their forums <a href="http://www.pontifex2.com/smf/index.php?PHPSESSID=dluj6on661gibe3m34723beln2&amp;topic=987.0">Gish Launcher in Ubuntu</a> or by using the following starting link for your app menu launcher command (The command assumes you have the Gish installed in your home directory; for example &#8220;/home/yourname/gish153&#8243;. If this is not where you put it; change that <img src='http://blog.cone.be/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Bash will probably be in /bin but if it doesnt work, do check that too.)</p>
<blockquote><p>/bin/bash -c &#8220;cd ~/gish153/ &amp;&amp; ./gish&#8221;</p></blockquote>
<p>The mechanics are that you have bash change the working directory to the right path and start the gish from there. Ill see about posting this to the forum thread too, but I honestly dont have the time right now to do the registration dance &amp; all..</p>
<p>Id never have thought of writing this, but since there was a search hit for it, I guess its something people have questions about. I hope its of use to someone!</p>
<p>Edit: As blogs are a fleeting medium, this is maintained at <a href="http://www.gertschepens.be/how-install-gish-linux">gertschepens.be</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cone.be/2010/05/25/gish-linux-how-to-install/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bitmappers @UbuntuMeeting &#8211; (Sunday May 16th, Cultuurcentrum, Genk)</title>
		<link>http://blog.cone.be/2010/05/12/bitmappers-ubuntumeeting-sunday-may-16th-cultuurcentrum-genk/</link>
		<comments>http://blog.cone.be/2010/05/12/bitmappers-ubuntumeeting-sunday-may-16th-cultuurcentrum-genk/#comments</comments>
		<pubDate>Wed, 12 May 2010 10:46:26 +0000</pubDate>
		<dc:creator>Gert</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Future]]></category>
		<category><![CDATA[Planet]]></category>

		<guid isPermaLink="false">http://blog.cone.be/?p=4136</guid>
		<description><![CDATA[True to tradition, the Bitmappers computer club (Hasselt) is hosting their 5th Ubuntu Meeting. This time, centered around the recently released Ubuntu 10.04 LTS &#8211; Lucid Lynx
Sunday May 16th, 10am till 6pm; @Cultuurcentrum, Genk.

As one of the sponsors, Open Future has provided several speakers and as such, I will be there, talking about Games in [...]]]></description>
			<content:encoded><![CDATA[<p>True to tradition, <a href="http://www.bitmappers.be/bmcms/index.php?option=com_content&#038;view=article&#038;id=108:release-meeting-nieuwe-ubuntu-versie-1004">the Bitmappers</a> computer club (Hasselt) is hosting their 5th Ubuntu Meeting. This time, centered around the recently released <a href="http://www.ubuntu.com/">Ubuntu 10.04 LTS &#8211; Lucid Lynx</a></p>
<p>Sunday May 16th, 10am till 6pm; @Cultuurcentrum, Genk.</p>
<p><a href="http://www.ubuntu-meeting.be/"><img src="http://www.ubuntu-meeting.be/images/banners/banner_180_150.png" width="180" height="150" alt="Ubuntu meeting 2010 @ Genk" border="0" /></a></p>
<p>As one of the sponsors, <a href="http://www.open-future.be/">Open Future</a> has provided several speakers and as such, I will be there, talking about <em>Games in Ubuntu</em>; a revamped version of the talk I gave <a href="http://www.gertschepens.be/2008-ubuntu-intrepid-ibex-games">earlier</a>, updated with amongst other things, a decent look at some indie games worth mentioning. And <em>Virtualisation for Beginners</em>; a talk about what virtualisation is, what do do with it and how to do it.</p>
<p>(And I promise to make at least one of them Really cool <img src='http://blog.cone.be/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> )</p>
<p>So follow their updates via <a href="http://twitter.com/UbuntuMeeting">@UbuntuMeeting</a>, check the details at <a href="http://www.ubuntu-meeting.be/">ubuntu-meeting.be</a> and come say hi!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cone.be/2010/05/12/bitmappers-ubuntumeeting-sunday-may-16th-cultuurcentrum-genk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Humble Indie Bundle</title>
		<link>http://blog.cone.be/2010/05/10/the-humble-indie-bundle/</link>
		<comments>http://blog.cone.be/2010/05/10/the-humble-indie-bundle/#comments</comments>
		<pubDate>Mon, 10 May 2010 18:14:06 +0000</pubDate>
		<dc:creator>Gert</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Planet]]></category>

		<guid isPermaLink="false">http://blog.cone.be/?p=4123</guid>
		<description><![CDATA[As a Linux user it is a frequent annoyance that I feel I dont get to play any of the good games. As a general consumer I am often irked at the price of stuff and more so at being treated as a criminal after paying for goods. Goods I might as well have downloaded; [...]]]></description>
			<content:encoded><![CDATA[<p>As a Linux user it is a frequent annoyance that I feel I dont get to play any of the good games. As a general consumer I am often irked at the price of stuff and more so at being treated as a criminal after paying for goods. Goods I might as well have downloaded; and even though I didnt, still get treated as if I did. Its a near permanent frustration.</p>
<p>Sometimes however, I see people who respect their customers and Sometimes, these people do Legendary stuffs!! <img src='http://blog.cone.be/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Im talking about the <a href="http://www.wolfire.com/humble">Humble Indie Bundle</a> I bought yesterday. I tweeted but I should ve blogged earlier. Its their fault though, I was too busy playing the Awesome games. A short pause today though to inform EVERYONE to check out their awesome special! One pack, containing World of Goo, Aquaria, Gish, Lugaru, Penumbra and Samorost 2!</p>
<blockquote><p>The Humble Indie Bundle is a unique kind of bundle that we are trying  out.</p>
<p>Pay what you want.  If you bought these five games  separately, it would cost around $80 but we&#8217;re letting you set the  price!</p>
<p>All of the games work great on Mac, Windows, and Linux.  We  didn&#8217;t want to leave anyone out.</p>
<p>There is no middle-man.  You can rest assured that 100% of  your purchase goes directly to the developers and non-profits as you  specify (minus credit card fees).</p>
<p>We don&#8217;t use DRM.  When you buy these games, they are yours.   Feel free to play them without an internet connection, back them up,  and install them on all of your Macs and PCs freely.</p>
<p>Your contribution supports the amazing <a href="http://www.childsplaycharity.org/">Child&#8217;s Play charity</a> and <a href="http://www.eff.org/">Electronic Frontier Foundation</a>.  By  default, the amount is split equally between the seven participants  (including Child&#8217;s Play and EFF), but you can tweak the split any way  you&#8217;d like.</p>
<p>And now, thanks to a humble donation from <a href="http://amanita-design.net/">Amanita Design</a>: all contributors  are given a free copy of Samorost 2!</p>
<p>Source: <a href="http://www.wolfire.com/humble">http://www.wolfire.com/humble</a></p></blockquote>
<p>        <object width="641" height="385"><param name="movie" value="http://www.youtube.com/v/M7Aw5C7WQ6g&#038;hl=en_US&#038;fs=1&#038;rel=0&#038;fmt=18"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/M7Aw5C7WQ6g&#038;hl=en_US&#038;fs=1&#038;rel=0&#038;fmt=18" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="641" height="385"></embed></object></p>
<p>The pack contains World of Goo (Amazing, Pretty, FUN!), Aquaria (Pretty, Havent played much), Gish (Amazing fun, Pretty and a real challenge!), Lugaru (didnt try yet), Penumbra (Great atmosphere, Havent played much &#8211; And if you like it, you can buy the other Penumbra games for $5 at their shop using a discount code included in the bundle!) and Samorost 2 (didnt try yet), all for the amazing price of whatever you think they re worth <img src='http://blog.cone.be/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>You ll have to hurry though, the offer only stands till tomorrow! (or so, check their contdown)</p>
<p>Its a great bunch of games, so <a href="http://www.wolfire.com/humble">Check It Out</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cone.be/2010/05/10/the-humble-indie-bundle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu; apt-url</title>
		<link>http://blog.cone.be/2010/04/30/ubuntu-apt-url/</link>
		<comments>http://blog.cone.be/2010/04/30/ubuntu-apt-url/#comments</comments>
		<pubDate>Fri, 30 Apr 2010 10:44:54 +0000</pubDate>
		<dc:creator>Gert</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.cone.be/?p=4096</guid>
		<description><![CDATA[The new Ubuntu has several niceties, one of them is the apt: link handler. You can put a link like &#60;a href=&#8221;apt:nexuiz&#8221;&#62; to create install links for software in the repos: Click here to install nexuiz
Cool! and Convenient!  
Learnt from the excellent http://blog.thesilentnumber.me/2010/04/ubuntu-1004-post-install-guide-what-to.html guide
]]></description>
			<content:encoded><![CDATA[<p>The new Ubuntu has several niceties, one of them is the apt: link handler. You can put a link like &lt;a href=&#8221;apt:nexuiz&#8221;&gt; to create install links for software in the repos: <a href="apt:nexuiz">Click here to install nexuiz</a></p>
<p>Cool! and Convenient! <img src='http://blog.cone.be/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Learnt from the excellent <a href="http://blog.thesilentnumber.me/2010/04/ubuntu-1004-post-install-guide-what-to.html">http://blog.thesilentnumber.me/2010/04/ubuntu-1004-post-install-guide-what-to.html</a> guide</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cone.be/2010/04/30/ubuntu-apt-url/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>gertschepens.be Bash</title>
		<link>http://blog.cone.be/2010/04/28/gertschepens-be-bash/</link>
		<comments>http://blog.cone.be/2010/04/28/gertschepens-be-bash/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 18:17:11 +0000</pubDate>
		<dc:creator>Gert</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.cone.be/?p=4088</guid>
		<description><![CDATA[I put up a page with the fun bash scripts I use regularly at gertschepens.be/bash.
It features 3 scripts:

pass
Generates random 10 char A-Za-z0-9_ password. Simple but Extremely convenient to generate annoying but moderately safe passwords.
Oberon
Connects to gateway home server over ssh. Checks if I am at home or outside by checking a webpage on that server, [...]]]></description>
			<content:encoded><![CDATA[<p>I put up a page with the fun bash scripts I use regularly at <a href="http://www.gertschepens.be/bash">gertschepens.be/bash</a>.</p>
<p>It features 3 scripts:</p>
<ul>
<li><a href="http://www.gertschepens.be/bash#pass">pass</a><br />
Generates random 10 char A-Za-z0-9_ password. Simple but Extremely convenient to generate annoying but moderately safe passwords.</li>
<li><a href="http://www.gertschepens.be/bash#Oberon">Oberon</a><br />
Connects to gateway home server over ssh. Checks if I am at home or outside by checking a webpage on that server, if it loads, it connects to the internal IP; if not it gets the IP adress from a webpage (I made Jopin for exactly this purpose) and connects to that with some extra tunnels in place.</li>
<li><a href="http://www.gertschepens.be/bash#remote_tar">remote_tar</a><br />
I use this as a crude way to set up a dated backup. The script connects over ssh, tars the content you request and saves the resulting archive to your harddisk. You will need to input your password manually or use public key auth.</li>
</ul>
<p>For those whom it may help <img src='http://blog.cone.be/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cone.be/2010/04/28/gertschepens-be-bash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu Meeting</title>
		<link>http://blog.cone.be/2010/03/29/ubuntu-meeting/</link>
		<comments>http://blog.cone.be/2010/03/29/ubuntu-meeting/#comments</comments>
		<pubDate>Mon, 29 Mar 2010 13:50:59 +0000</pubDate>
		<dc:creator>Gert</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.cone.be/?p=3950</guid>
		<description><![CDATA[
I will be doing 2 talks at the Ubuntu meeting 2010 @ Genk, more about that later  
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.ubuntu-meeting.be/"><img src="http://www.ubuntu-meeting.be/images/banners/banner_180_150.png" width="180" height="150" alt="Ubuntu meeting 2010 @ Genk" border="0" /></a></p>
<p>I will be doing 2 talks at the Ubuntu meeting 2010 @ Genk, more about that later <img src='http://blog.cone.be/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cone.be/2010/03/29/ubuntu-meeting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vim and Emacs..</title>
		<link>http://blog.cone.be/2010/03/25/vim-and-emacs/</link>
		<comments>http://blog.cone.be/2010/03/25/vim-and-emacs/#comments</comments>
		<pubDate>Thu, 25 Mar 2010 17:53:26 +0000</pubDate>
		<dc:creator>Gert</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.cone.be/?p=3941</guid>
		<description><![CDATA[you know, there is a lot of shit about vi and emacs, but after working extensively with both; I came to the following conclusion..
The key sequence to save a file after editing..
vim

esc
shift + :
w
enter


emacs

ctrl + x
s


Which one is easier?
And yes, emacs (emacs-23.1.tar.gz) is 41M and vim (vim-7.2.tar.bz2) is 6,87M (7035 KB), and that is indeed [...]]]></description>
			<content:encoded><![CDATA[<p>you know, there is a lot of shit about vi and emacs, but after working extensively with both; I came to the following conclusion..</p>
<p>The key sequence to save a file after editing..</p>
<blockquote><p><strong>vim</strong></p>
<ol>
<li>esc</li>
<li>shift + :</li>
<li>w</li>
<li>enter</li>
</ol>
</blockquote>
<blockquote><p><strong>emacs</strong></p>
<ol>
<li>ctrl + x</li>
<li>s</li>
</ol>
</blockquote>
<p>Which one is easier?</p>
<p>And yes, emacs (emacs-23.1.tar.gz) is 41M and vim (vim-7.2.tar.bz2) is 6,87M (7035 KB), and that is indeed a big argument..</p>
<p>But my main pro emacs argument is the fact that the instructions are easy, convenient and most of all, more up to par with the modern usability standards.</p>
<p>Just sayin.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cone.be/2010/03/25/vim-and-emacs/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Jopin</title>
		<link>http://blog.cone.be/2010/03/05/jopin/</link>
		<comments>http://blog.cone.be/2010/03/05/jopin/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 00:12:07 +0000</pubDate>
		<dc:creator>Gert</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.cone.be/?p=3861</guid>
		<description><![CDATA[With the installing of the new server, I am writing the necessary blob of php to replace the home ip upload script with a blob of server side php + mysql. Its called Jopin, it has 70% of its intended 1.0 functionality and its Great!  
]]></description>
			<content:encoded><![CDATA[<p>With the installing of the new server, I am writing the necessary blob of php to replace the <a href="http://blog.cone.be/2008/09/04/login-to-remote-server/">home ip upload script</a> with a blob of server side php + mysql. Its called Jopin, it has 70% of its intended 1.0 functionality and its Great! <img src='http://blog.cone.be/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cone.be/2010/03/05/jopin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gnu Screen ; Different regions, Logging, Screen Window Types</title>
		<link>http://blog.cone.be/2009/12/01/gnu-screen-different-regions-logging-screen-window-types/</link>
		<comments>http://blog.cone.be/2009/12/01/gnu-screen-different-regions-logging-screen-window-types/#comments</comments>
		<pubDate>Tue, 01 Dec 2009 19:00:01 +0000</pubDate>
		<dc:creator>Gert</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Future]]></category>

		<guid isPermaLink="false">http://blog.cone.be/?p=3644</guid>
		<description><![CDATA[I wrote this Gnu Screen guide in December &#8216;08 with the previous incarnation of linux.com in mind. January 2009 however, linux.com started on its new and exciting path as a community site and the article just sat on my machine, waiting. So I decided to publish it on my blog in a four part series [...]]]></description>
			<content:encoded><![CDATA[<p><em>I wrote this Gnu Screen guide in December &#8216;08 with the previous incarnation of <a href="http://www.linux.com/">linux.com</a> in mind. January 2009 however, linux.com started on its new and exciting path as a community site and the article just sat on my machine, waiting. So I decided to publish it on my blog in a four part series over the following month. Maybe someone can use it <img src='http://blog.cone.be/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </em></p>
<p>Have you ever had to run a time consuming process (say mkfs or compiling something) over a shoddy ssh connection? Or cleanly run several commands in parallel without having several open connections to that server? Or maybe you were programming and wanted a mysql prompt, a bash prompt and several text editors open? How about that ssh tunnel you need open and dont want to close by accident? And did you ever need to perform the same task on several different machines? Or connect to a serial terminal? Or maybe you just want a log file of what you re doing..<br />
These are day to day situations any linux user will run into, that can be quite frustrating. That is, before you discover <a href="http://www.gnu.org/software/screen/">Gnu screen</a>!</p>
<p>&#8220;Screen is a full-screen window manager that multiplexes a physical terminal between several processes, typically interactive shells.&#8221; Or at least, thats what the site calls it. Sounds easy enough, but there are an amazing amount of different uses for this incredible piece of software. The above list is some of the uses I could readily think about &#8211; some of the ways I regularly use screen, but like any decent linux tool &#8211; the sky really is the limit! I&#8217;ll be looking into different issues, so lets jump into some of the practical solutions for those problems.</p>
<p><strong>The Fun Stuff &#8211; Different regions</strong><br />
Sometimes, having several windows is not enough.. It can help to have several different windows visible in your terminal and screen is able to provide you with that. As before, we need to open a screen session and open several windows. You could actually also do this with one window, but there wouldnt really be much point to it with one window. Once the new windows are opened, you can split the screen with the following shortcut.</p>
<pre>C-a S       (split)       Split the current region into two new ones.
C-a tab     (focus)       Switch the input focus to the next region.</pre>
<p>With these commands, you can create several regions and switch between them. These regions contain the same regular windows we spoke about before and as such, all normal commands can be used to control their contents. You can choose any window to be shown inside these regions. To close and further controll these regions, you can use the following shortcuts.</p>
<pre>C-a X       (remove)      Kill the current region.
C-a Q       (only)        Delete all regions but the current one.
C-a F       (fit)         Resize the window to the current region size.</pre>
<p>These are the default defined shortcuts for the regions. There are however more commands to control your regions, they just are not bound to shortcuts. For a comprehensive list of these other options, I advise you to comb trough the screen man page and do a search for &#8220;region&#8221;. There is ,however, one interesting command I don&#8217;t want you to miss! (Small blatant man copying coming up)</p>
<pre>resize
       Resize  the  current region. The space will be removed from or added to
       the region below or if thereâ€™s not enough space from the region  above.
              resize +N   increase current region height by N
              resize -N   decrease current region height by N
              resize  N   set current region height to N
              resize  =   make all windows equally high
              resize  max maximize current region height
              resize  min minimize current region height</pre>
<p>You will probably not want these windows the same size, so the resize command is really indispensable. Just like before, to use this commands, you have to call up the command line mode and input these commands there.</p>
<p><strong>The Fun Stuff &#8211; Logging</strong><br />
Screen provides a simple mechanism for logging a session. It suffices to enable the logging in any of the three ways described below. The Parameter</p>
<pre>-L    turns output logging on for this window.</pre>
<p>The shortcut</p>
<pre>C-a H       (log)         Begins/ends logging of the current window to the file "screenlog.n".</pre>
<p>Or the command.</p>
<pre>log [on|off]</pre>
<p>These commands enable logging to the standard &#8220;screenlog.%n&#8221; file, in the standard directory. Should this file already exist, screen will append the new data to the existing file.<br />
To configure the logging in more detail, screen also accepts the following two commands.</p>
<pre>logfile filename
logfile flush secs</pre>
<p>These commands allow the user to configure what name the logfile should have and how many seconds screen should wait before flushing the the logfile buffer to the system.</p>
<ul>
<li>Or maybe you just want a log file of what you re doing..</li>
</ul>
<p>And using the above command, keeping that logfile is as easy as adding a parameter or using a shortcut. In using this system, you will soon discover that the logging is a wonderful and valuable tool, but also that when it comes to color tags and advanced ascii based menus or effects, the logs might turn out less than optimal. I&#8217;m thinking about the SLES Yast tool or even the fancy scp or yum progress bar. These commands will &#8220;replay&#8221; trough the log files while you read them and this does not always look as nice as you d probably like it to. This is however unavoidable and as such quite normal.<br />
You might also want to look into the hardcopy concept; a de facto text based screenshot.</p>
<p><strong>The Fun Stuff &#8211; Screen Window Types</strong></p>
<p>And just when we thought we &#8216;d seen it all, after the vast array of different options, all the possibilities of screen.. There is still one more special option to mention. Screen has three different window types.</p>
<p>The first window type is the normal window type we&#8217;ve been using all along. The regular window with a traditional shell inside.</p>
<p>The second window is initiated by starting screen with as a first parameter a tty (character special device) device name, like for example /dev/ttya. This command connects screen directly to the character device and allows interaction with for example a null modem serial connection trough screen. To accommodate this, screen takes baud and other relevant settings as parameters. The info command now returns some of the modem control lines in the status line and the break command now sends the standard break signal over the device.</p>
<p>The third type is a telnet window. This is started using //telnet as a first parameter, followed by the host name and optionally a port as the third parameter. Screen will then act as a telnet client and interface with a remote telnet server. As with the device type, the telnet window returns telnet specific information when using the &#8220;info&#8221; command. The break command sends the telnet break signal to the server. This option is only available if screen was compiled with the BUILTIN_TELNET option.</p>
<ul>
<li>Or connect to a serial terminal?</li>
</ul>
<p>Its in the end as simple as ..</p>
<pre>screen /dev/ttyS0 19200 1n8</pre>
<p>This might not seem too spectacular as an option, but not needing an extra program and instead being able to use good &#8216;ol screen can be a good and quick solution for when you need this, instead of installing minicom or whatnot.<br />
And remember .. &#8220;A  weird  imagination  is most useful to gain full advantage of all the features.&#8221; (Listed as a bug under the screen man page.)</p>
<p><strong>The articles in this series were updated to <a href="http://www.gertschepens.be/gnu-screen-article">gertschepens.be</a>; These articles focus on the following topics..</strong></p>
<ul>
<li> The Simple stuff
<ul>
<li><a href="http://www.gertschepens.be/gnu-screen-invaluable-tool">Slightly more advanced stuff</a></em></li>
</ul>
</li>
<li> The fun stuff
<ul>
<li><a href="http://www.gertschepens.be/gnu-screen-command-parameter-multi-display-mode-copy-mode">Command Parameter, Multi display mode, Copy Mode</a></li>
<li><a href="http://www.gertschepens.be/gnu-screen-nethack-different-screen-windows-sending-commands-all-screen-windows">Nethack, Different screen windows, Sending commands to all screen windows</a></li>
<li><a href="http://www.gertschepens.be/gnu-screen-different-regions-logging-screen-window-types">Different regions, Logging, Screen Window Types</a></li>
<li> the .screenrc</li>
</ul>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.cone.be/2009/12/01/gnu-screen-different-regions-logging-screen-window-types/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gnu Screen ; Nethack, Different screen windows, Sending commands to all screen windows</title>
		<link>http://blog.cone.be/2009/11/24/gnu-screen-nethack-different-screen-windows-sending-commands-to-all-screen-windows/</link>
		<comments>http://blog.cone.be/2009/11/24/gnu-screen-nethack-different-screen-windows-sending-commands-to-all-screen-windows/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 19:00:03 +0000</pubDate>
		<dc:creator>Gert</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Future]]></category>

		<guid isPermaLink="false">http://blog.cone.be/?p=3642</guid>
		<description><![CDATA[I wrote this Gnu Screen guide in December &#8216;08 with the previous incarnation of linux.com in mind. January 2009 however, linux.com started on its new and exciting path as a community site and the article just sat on my machine, waiting. So I decided to publish it on my blog in a four part series [...]]]></description>
			<content:encoded><![CDATA[<p><em>I wrote this Gnu Screen guide in December &#8216;08 with the previous incarnation of <a href="http://www.linux.com/">linux.com</a> in mind. January 2009 however, linux.com started on its new and exciting path as a community site and the article just sat on my machine, waiting. So I decided to publish it on my blog in a four part series over the following month. Maybe someone can use it <img src='http://blog.cone.be/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </em></p>
<p>Have you ever had to run a time consuming process (say mkfs or compiling something) over a shoddy ssh connection? Or cleanly run several commands in parallel without having several open connections to that server? Or maybe you were programming and wanted a mysql prompt, a bash prompt and several text editors open? How about that ssh tunnel you need open and dont want to close by accident? And did you ever need to perform the same task on several different machines? Or connect to a serial terminal? Or maybe you just want a log file of what you re doing..<br />
These are day to day situations any linux user will run into, that can be quite frustrating. That is, before you discover <a href="http://www.gnu.org/software/screen/">Gnu screen</a>!</p>
<p>&#8220;Screen is a full-screen window manager that multiplexes a physical terminal between several processes, typically interactive shells.&#8221; Or at least, thats what the site calls it. Sounds easy enough, but there are an amazing amount of different uses for this incredible piece of software. The above list is some of the uses I could readily think about &#8211; some of the ways I regularly use screen, but like any decent linux tool &#8211; the sky really is the limit! I&#8217;ll be looking into different issues, so lets jump into some of the practical solutions for those problems.</p>
<p><strong>The Fun Stuff &#8211; Nethack</strong><br />
Because linux is all about FUN (or at least written by fun loving people), screen has a cool option where all messages are given nethack style, instead of the standard bland wording. Screen has to be compiled using the Nethack option, but most linux distributions do.<br />
The nethack option it toggled by the presence of the $NETHACKOPTIONS environment variable or a ~/.nethackrc file.</p>
<pre>No other window.</pre>
<p>becomes</p>
<pre>You cannot escape from window 0!</pre>
<p>or</p>
<pre>Creating logfile "screenlog.0".</pre>
<p>becomes</p>
<pre>You add to your scroll of logging named "screenlog.0".</pre>
<p>The nethack ones are actually More Fun, really!</p>
<p><strong>The Fun Stuff &#8211; Different screen windows</strong><br />
Up till now, we covered using screen and the posibilities of several sessions. But because switching between sessions is not really what you d call user friendly or quick, screen has an interesting mechanism called windows. One screen session can contain several windows and switching between these is simple using a number of shortcuts. The existing screen terminal is always the first window. To create a new window, use the following shortcut.</p>
<pre>C-a c
C-a C-c     (screen)      Create a new window with a shell and switch to that window.</pre>
<p>This creates a new window &amp; switches to that window. Now you have two (or more if you want) different windows in the same screen session. To switch between the different sessions, you can use the following shortcuts.</p>
<pre>C-a space
C-a n
C-a C-n     (next)        Switch to the next window.

C-a backspace
C-a h
C-a p
C-a C-p     (prev)        Switch to the previous window.</pre>
<p>This is a good way to switch between the windows, but it quickly grows old when you have a lot of open windows to switch between. To make things a bit more manageable; screen has several other shortcuts.</p>
<pre>C-a â€™       (select)      Prompt for a window name or number to switch to.C-a 0       (select 0)
  ...            ...
C-a 9       (select 9)
C-a -       (select -)    Switch to window number 0 - 9, or to the blank window.</pre>
<p>These help, but there is still a better way.</p>
<pre>C-a "       (windowlist -b)  Present a list of all windows for selection.</pre>
<p>This shortcut gives the user an interface where he can select an open window.</p>
<pre>Num Name                                                                                                        Flags
Â 0 bash                                                                                                            $
Â 1 bash                                                                                                            $
 2 bash                                                                                                            $</pre>
<p>And to keep this heap of windows organised, there are yet 2 more shortcuts.</p>
<pre> C-a A       (title)       Allow the user to enter a name for the current window.
 C-a N       (number)      Show the number (and title) of the current window.</pre>
<p>These are a lot of different shortcuts and mechanisms, but in the end &#8211; its all worth the effort! Lets take a look at the list of examples we made at the start of the article and solve another one!</p>
<ul>
<li>Or maybe you were programming and wanted a mysql prompt, a bash prompt and several text editors open?</li>
</ul>
<p>I dont think the practical side of this example needs much more explaining. Opening the screen session, creating the different windows, renaming the windows and using them appropriately should be straightforward enough. Setting the whole thing up only needs to be done once, since you can simply detach the session, However if you need this setup on a regular basis, you can configure your &#8220;.screenrc&#8221; to load it at startup. More on the .screenrc later.</p>
<p><strong>The Fun Stuff &#8211; Sending commands to all screen windows</strong><br />
Once you re used to the multiple windows, you might run into a situation where you want to send a same command to several of these open windows. Screen provides in the &#8220;at&#8221; command to do this. First you ll need to open command line mode.</p>
<pre>C-a :       (colon)       Enter command line mode.</pre>
<p>This way you can type a command once, but you ll still have to enter each separate window. But there is a better way. As an example we &#8216;ll send &#8220;ls -l&#8221; to all the windows.</p>
<pre>at "#" stuff "ls -l^M"</pre>
<p>This command is barely readable, so let&#8217;s pick it apart! The first part is &#8216;at [identifier][#|*|%] command&#8217;. The at command sends the text parameter to all the windows you specified in the identifier.  You can match the criteria to either the window name or number with #, the user name with * or the displays, using %. The next part is the command you want to run in the selected windows. We&#8217;re using &#8220;stuff&#8221; to stuff the command we want to execute into the input buffer of the selected windows. Stuff is really straightforward. It simply stuffs the string you gave as a parameter. Next problem is the command. Or rather having it executed! To get screen to put an &#8220;enter&#8221; after the command, to execute the command, add &#8220;^M&#8221; at the end. You can do a lot more with this than just sending an ls to the input. Any screen command, like renaming, moving windows around, whatnot .. is available in combination with &#8220;at&#8221;.<br />
This also applies to screen session using the -X parameter on the command line, for those special occasions where you just dont want to connect to the session or when you&#8217;re scripting something wholly exciting!<br />
Special thanks go out to <a href="http://nocturn.vsbnet.be/">ï»¿Guy Van Sanden</a>, who helped me figure out this command.</p>
<ul>
<li> And did you ever need to perform the same task on several different machines?</li>
</ul>
<p>The possibilities of this command are vast and this is only one of the many that come to mind. The first and most obvious is when you need to close a screen session with too much windows to close by hand. Stuffing an &#8220;exit^M&#8221; into the open windows until the screen sessions are alle effectively closed is quite usefull!<br />
The real luxury however is when you need to install the same software on several different machines. You start by opening ssh connections to the boxes you want to administer. You might consider using the .screenrc to open the connections and ssh keys to facilitate the loging in. Once logged in, you can send the appropriate commands (for example &#8220;sudo yum install htop&#8221;) to the different screen sessions, effectively managing all those machines at the same time. This is ofcourse something to use with extreme caution &#8211; imagine deleting the wrong directory on one of those boxes &#8211; but a conscient administrator should be able to use this to his advantage!</p>
<p><strong>The articles in this series were updated to <a href="http://www.gertschepens.be/gnu-screen-article">gertschepens.be</a>; These articles focus on the following topics..</strong></p>
<ul>
<li> The Simple stuff
<ul>
<li><a href="http://www.gertschepens.be/gnu-screen-invaluable-tool">Slightly more advanced stuff</a></em></li>
</ul>
</li>
<li> The fun stuff
<ul>
<li><a href="http://www.gertschepens.be/gnu-screen-command-parameter-multi-display-mode-copy-mode">Command Parameter, Multi display mode, Copy Mode</a></li>
<li><a href="http://www.gertschepens.be/gnu-screen-nethack-different-screen-windows-sending-commands-all-screen-windows">Nethack, Different screen windows, Sending commands to all screen windows</a></li>
<li><a href="http://www.gertschepens.be/gnu-screen-different-regions-logging-screen-window-types">Different regions, Logging, Screen Window Types</a></li>
<li> the .screenrc</li>
</ul>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.cone.be/2009/11/24/gnu-screen-nethack-different-screen-windows-sending-commands-to-all-screen-windows/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
