<?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>Nikola Plejić &#187; GNU/Linux</title>
	<atom:link href="http://nikola.plejic.com/blog/category/gnulinux/feed/" rel="self" type="application/rss+xml" />
	<link>http://nikola.plejic.com/blog</link>
	<description>Open Source (&#38;) Science</description>
	<lastBuildDate>Mon, 21 Mar 2011 13:10:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>Developing and Deploying ASP.NET MVC Applications On Ubuntu Linux with Mono, nginx and MySQL</title>
		<link>http://nikola.plejic.com/blog/asp-net-mvc-on-ubuntu-linux-mono-nginx-mysql/</link>
		<comments>http://nikola.plejic.com/blog/asp-net-mvc-on-ubuntu-linux-mono-nginx-mysql/#comments</comments>
		<pubDate>Mon, 21 Mar 2011 13:10:34 +0000</pubDate>
		<dc:creator>Nikola Plejić</dc:creator>
				<category><![CDATA[(Web) Development]]></category>
		<category><![CDATA[English posts]]></category>
		<category><![CDATA[GNU/Linux]]></category>

		<guid isPermaLink="false">http://nikola.plejic.com/blog/?p=386</guid>
		<description><![CDATA[Mono is moving forward at an impressive pace: the team at Novell and the Mono community deserve some massive respect. In the more recent versions, support for ASP.NET MVC emerged and the new Microsoft library became a part of the core. Combined with XSP (the Mono web server) and its FastCGI server, it became possible [...]

<h3>Povezani postovi:</h3>
Nema povezanih postova.]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-408" title="Mono" src="http://nikola.plejic.com/blog/wp-content/uploads/2011/03/mono.png" alt="Mono" width="167" height="41" align="left" />Mono is moving forward at an impressive pace: the team at Novell and the Mono community deserve some massive respect. In the more recent versions, support for ASP.NET MVC emerged and the new Microsoft library became a part of the core. Combined with XSP (the Mono web server) and its FastCGI server, it became possible to serve ASP.NET MVC applications from your Linux machines.</p>
<p><strong>This post is a quick summary of my first steps in creating a development environment and setting up a server for ASP.NET MVC on Linux.</strong> Tools of the trade will be Ubuntu 10.04 (Lucid Lynx), the nginx web server and XSP&#8217;s FastCGI server. I&#8217;ll assume you have a working setup featuring nginx and MySQL on your server &#8211; configuring these is beyond the scope of this article.<span id="more-386"></span></p>
<div style="padding-left: 30px;">
<p style="border-left: 3px solid #000; padding-left: 5px;">Much of this was never tested in a production environment. I have yet to develop a non-trivial application running on top of all of this and I can&#8217;t guarantee everything is bug-free and 100% functional. <a href="http://www.mono-project.com/Companies_Using_Mono">People are using Mono in production</a>, the whole thing looks and feels really solid, but definitely make sure you test everything before diving in.</p>
</div>
<h2>Mono.GetLastVersion();</h2>
<p><strong>Ubuntu depends on Mono quite a lot, so don&#8217;t expect to find the latest and greatest version in your package manager.</strong> There is some comfort in the form of <a href="http://badgerports.org/">Badgerports</a>, but it&#8217;s LTS-only, and it&#8217;s usually a bit behind the latest Mono stable. The solution is to compile Mono from source, which is actually a lot easier than it sounds.</p>
<div style="padding-left: 30px;">
<p style="border-left: 3px solid #000; padding-left: 5px;">If you feel you can live with an older version of Mono and are using a long-term supported release of Ubuntu, go ahead and grab the Badgerports repository and install their Mono packages. The crew is doing awesome work and the backport works great. Compiling stuff from scratch means you have to keep an eye out for security updates and recompile when necessary to keep your server safe, which can be stressful. If you really like living on the edge, follow the instructions below.</p>
</div>
<p>The whole process is made easy by a <a href="https://github.com/firegrass/mono-installer-script">nice shell script written by Patrick McEvoy</a> which does all the heavy lifting. The script is nicely written, so if you don&#8217;t like running random stuff from the web as root (and you shouldn&#8217;t!), feel free to take a peek, see what it does and do the whole thing by hand.</p>
<p>Clone the Git repo or fetch the script directly from GitHub and see what the script does by typing <code>./mono_build.sh -h</code> (you&#8217;ll have to <code>chmod +x mono-build-sh</code> if you already didn&#8217;t). <strong>The choice between the correct flags depends on what you&#8217;re configuring</strong>:</p>
<ul>
<li>for my development machine, I chose to build &#8220;just Mono&#8221; (the -r flag), and then added gnome-sharp and monodevelop afterwards (-m mono-addins gnome-sharp gnome-desktop-sharp monodevelop);</li>
<li>for my VPS, I chose to build &#8220;just Mono&#8221;, without any additional modules.</li>
</ul>
<p>Run the script with your selected parameters (don&#8217;t forget to specify the prefix!) and grab a cup of coffee as it could definitely take a while.</p>
<div style="padding-left: 30px;">
<p style="border-left: 3px solid #000; padding-left: 5px;">You may get compile errors while installing MonoDevelop. Depending on your current Mono configuration, you may need to uncheck certain MonoDevelop packages in the configure phase: I only checked &#8220;main&#8221;, &#8220;extras/MonoDevelop.Database&#8221; and &#8220;extras/MonoDevelop.Debugger.Gdb&#8221;; the &#8220;extras/BooBinding&#8221; and &#8220;extras/MonoDevelop.MonoDroid&#8221; packages I tried to install caused the compiler to choke. If you make a mistake in this phase, go to the MonoDevelop source directory, and do a <code>sudo ./configure --select</code>;  choose the packages and then try to recompile with <code>mono_build.sh</code>.</p>
</div>
<p>When finished, <strong>you should have a fully-functioning version of Mono in a directory of your own choice.</strong> Follow the instructions to enable and test your new installation, and buy Patrick a beer for his awesome work.</p>
<h2>Setting up nginx and FastCGI</h2>
<div style="padding-left: 30px;">
<p style="border-left: 3px solid #000; padding-left: 5px;">You don&#8217;t need to set up FCGI on your development machine &#8211; you can happily use the standalone XSP which was built as a development server. XSP loads automatically when you run your app from MonoDevelop.</p>
</div>
<p><strong><img class="alignleft size-full wp-image-412" title="nginx" src="http://nikola.plejic.com/blog/wp-content/uploads/2011/03/nginx.gif" alt="nginx" width="121" height="32" align="left" />XSP provides a FastCGI server, which is an excellent way to make Mono and nginx talk.</strong> For this to work, you&#8217;ll need to know the exact location of the <code>fastcgi-mono-serverX</code> (where X is one of { &#8220;&#8221;, &#8220;2&#8243;, &#8220;4&#8243; }, depending on the ASP.NET version you&#8217;d like to use). If you installed the Badgerports backport, it&#8217;s probably in your <code>PATH</code>; if you compiled from source, it&#8217;s in <code>$PREFIX/bin/fastcgi-mono-serverX</code>.</p>
<p>Now we need to point nginx to the FastCGI binary. <strong>Here&#8217;s a sample configuration file</strong>:</p>
<p><code> </code></p>
<pre><code>server {
  server_name {SERVER};
  access_log {ACCESSLOG};
  root {ROOT};

  # magick start!
  location / {
    index index.html index.htm default.aspx Default.aspx;
    # DEFAULTROUTE is the default route of your app; e.g. Home/Index
    fastcgi_index {DEFAULTROUTE};
    # choose a free port; e.g. 9001
    fastcgi_pass 127.0.0.1:{PORT};
    include /etc/nginx/fastcgi_params;
  }

  # /Content contains just static files - we don't need
  # no FCGI to serve those!
  location /Content/ {
  }
}</code></pre>
<p>You can easily deploy your ASP.NET application to {ROOT} by using MonoDevelop&#8217;s &#8220;Deploy to Web&#8221; functionality (Tools &#8211; Deploy to Web).</p>
<p>Now, edit /etc/nginx/fastcgi_params and add the following two lines defining certain environment variables the FastCGI server expects to find:</p>
<p><code>fastcgi_param  PATH_INFO          "";<br />
fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;</code></p>
<p>Finally, start the FastCGI server itself:</p>
<p><code>$PREFIX/bin/fastcgi-mono-server2 /applications={SERVER}:/:{ROOT} /socket=tcp:127.0.0.1:{PORT} &amp;</code></p>
<p>Restart nginx and your application should be ready at the server_name of your choice. However, <strong>manually starting up FCGI isn&#8217;t too exciting.</strong> Fortunately, there&#8217;s an <a href="http://tomi.developmententity.sk/Blog/Post/2">awesome script written by Tomas Bosak</a> which automates that part &#8211; follow Tomas&#8217; instructions to install the script, but make sure to update the path to the FastCGI binary if you compiled from source.</p>
<p style="text-align: center;"><a href="http://nikola.plejic.com/blog/wp-content/uploads/2011/03/aspnetlinux.png" rel="lightbox[386]"><img class="size-medium wp-image-416 aligncenter" title="ASP.NET on Mono - we have proof!" src="http://nikola.plejic.com/blog/wp-content/uploads/2011/03/aspnetlinux-300x73.png" alt="ASP.NET on Mono" width="300" height="73" /></a></p>
<p>Another option would be to use nginx to proxy requests to a standalone XSP instance: it should be fairly straightforward, but I didn&#8217;t try it at all.</p>
<h2>Mono &lt;3 MySQL and Fluent NHibernate</h2>
<p><img class="alignleft size-full wp-image-414" title="mysql" src="http://nikola.plejic.com/blog/wp-content/uploads/2011/03/mysql.png" alt="mysql" width="110" height="57" align="left" />Web applications usually work with some kind of a database. <strong>There are several <a href="http://mono-project.com/Database_Access">ADO.NET providers working with Mono</a> for different database servers like MySQL, PosgreSQL and Microsoft SQL Server.</strong> MySQL provides the <a href="http://dev.mysql.com/downloads/connector/net/">Connector/Net library</a>, which is a fully-managed ADO.NET provider. Setting it up is easy: download the library, unzip and add a reference to <code>mysql.data.dll</code> in MonoDevelop. Also note you&#8217;ll have to use the DLL from the &#8220;v2/&#8221; folder. There&#8217;s a <a href="http://mono-project.com/MySQL">quick &amp; dirty tutorial on the Mono project website</a>, and <a href="http://dev.mysql.com/doc/refman/5.1/en/connector-net.html">in-depth documentation on the MySQL website</a> which should have enough information to get you up &amp; running.</p>
<div style="padding-left: 30px;">
<p style="border-left: 3px solid #000; padding-left: 5px;">If you run into a &#8220;connection refused&#8221; message while trying to connect with MySQL, take a peek in your /etc/mysql/my.cnf: you should either have an uncommented line in there saying &#8220;skip-networking&#8221;, or  a directive which says &#8220;bind_address = 127.0.0.1&#8243;, depending on your MySQL version.</p>
</div>
<p><strong>If you&#8217;d like to use Fluent NHibernate with Mono &#8211; good news!</strong> It works perfectly without any hacks: just <a href="http://fluentnhibernate.org/">download Fluent NHibernate</a> and reference it in your project. Here&#8217;s a sample CreateSessionFactory() method for MySQL:</p>
<p><code> </code></p>
<pre><code>private static ISessionFactory CreateSessionFactory() {
  string connStr = "server=localhost;user={USER};database={DB};port={PORT};password={PWD}";
  return Fluently.Configure()
    .Database(
      MySQLConfiguration.Standard.ConnectionString()
    )
    .Mappings(m =&gt; m.FluentMappings.AddFromAssembly(Assembly.GetExecutingAssembly()))
    .BuildSessionFactory();
}</code></pre>
<p>Voilà.</p>
<h2><strong>ASP.NET MVC 3, WebMatrix, future&#8230;</strong></h2>
<p><a href="http://www.mono-project.com/Release_Notes_Mono_2.10#ASP.NET_MVC3_Support">Mono 2.10 should support ASP.NET MVC 3</a>, although it&#8217;s not yet bundled with Mono as is the case with previous versions. There is also some preliminary support for <a href="http://blog.neteril.org/2011/01/22/webmatrix-data-on-mono/">WebMatrix in the form of WebMatrix.Data.dll</a> and <a href="http://www.mono-project.com/Release_Notes_Mono_2.10#Razor_and_WebPages">Razor</a>. I didn&#8217;t have the time to play with any of these, so if you have some experience in setting it up, please share them in the comments.</p>
<p>I really like C# and ASP.NET MVC and <strong>I enjoy the idea of running .NET web applications on top of my preferred OS</strong>. This is something I&#8217;ll definitely be tinkering with in the future. For any questions, comments, advice or suggestions, feel free to use the comment form below, <a href="http://twitter.com/nikolaplejic">mention me on Twitter</a> or contact me by e-mail on <a href="mailto:nikola@plejic.com">nikola@plejic.com</a>.</p>


<h3>Povezani postovi:</h3><p>Nema povezanih postova.</p>]]></content:encoded>
			<wfw:commentRss>http://nikola.plejic.com/blog/asp-net-mvc-on-ubuntu-linux-mono-nginx-mysql/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>(G)Vim: postavljanje opcija u ovisnosti o direktoriju</title>
		<link>http://nikola.plejic.com/blog/gvim-postavljanje-opcija-u-ovisnosti-o-direktoriju/</link>
		<comments>http://nikola.plejic.com/blog/gvim-postavljanje-opcija-u-ovisnosti-o-direktoriju/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 20:58:17 +0000</pubDate>
		<dc:creator>Nikola Plejić</dc:creator>
				<category><![CDATA[(Web) Development]]></category>
		<category><![CDATA[GNU/Linux]]></category>

		<guid isPermaLink="false">http://nikola.plejic.com/blog/?p=274</guid>
		<description><![CDATA[Paralelni rad na nekoliko različitih projekata1 može biti zanimljiv, ali i frustrirajuć ukoliko ti projekti koriste različite konvencije za pisanje koda. Vim spašava stvar sa svojih nekoliko načina za korištenje paralelnih konfiguracija. Svako rješenje ima svojih prednosti, no najjednostavnijim se i najefikasnijim u mojem slučaju pokazalo dodavanje sljedeće linije u ~/.vimrc: au BufRead,BufNewFile /path/do/foldera/* setl [...]

<h3>Povezani postovi:</h3>
Nema povezanih postova.]]></description>
			<content:encoded><![CDATA[<p>Paralelni rad na nekoliko različitih projekata<sup>1</sup> može biti zanimljiv, ali i frustrirajuć ukoliko ti projekti koriste različite konvencije za pisanje koda. Vim spašava stvar sa svojih <a href="http://stackoverflow.com/questions/1889602/multiple-vim-configurations/1889707">nekoliko načina za korištenje paralelnih konfiguracija</a>.<span id="more-274"></span></p>
<p>Svako rješenje ima svojih prednosti, no najjednostavnijim se i najefikasnijim u mojem slučaju pokazalo dodavanje sljedeće linije u ~/.vimrc:</p>
<pre lang="vim">
au BufRead,BufNewFile /path/do/foldera/* setl noexpandtab
</pre>
<p>Gornji primjer će za sve fileove koji se nalaze unutar foldera /path/do/foldera (i ispod njega) koristiti &#8220;prave&#8221; tabove umjesto spaceova koji su moja defaultna konfiguracija. Hvala, Vim.</p>
<p><sup>1</sup> <i>(&#8220;Paralelni rad na nekoliko različitih projekata&#8221; ujedno i vrlo dobro opisuje razloge radi kojih je ovaj blog mrtav više od pola godine.)</i></p>


<h3>Povezani postovi:</h3><p>Nema povezanih postova.</p>]]></content:encoded>
			<wfw:commentRss>http://nikola.plejic.com/blog/gvim-postavljanje-opcija-u-ovisnosti-o-direktoriju/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Xmonad &#8211; recept za produktivno radno okruženje na GNU/Linuxu</title>
		<link>http://nikola.plejic.com/blog/xmonad-recept-za-produktivno-radno-okruzenje-na-gnulinuxu/</link>
		<comments>http://nikola.plejic.com/blog/xmonad-recept-za-produktivno-radno-okruzenje-na-gnulinuxu/#comments</comments>
		<pubDate>Fri, 19 Dec 2008 12:20:31 +0000</pubDate>
		<dc:creator>Nikola Plejić</dc:creator>
				<category><![CDATA[(Web) Development]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[window manager]]></category>
		<category><![CDATA[xmonad]]></category>

		<guid isPermaLink="false">http://nikola.plejic.com/blog/?p=83</guid>
		<description><![CDATA[GNOME, koji je uz KDE najpopularnije desktop okruženje za GNU/Linux, koristim gotovo od samih početaka ozbiljnijeg korištenja Linuxa. Nedavno sam još malo tweakao svoju konfiguraciju i složio vrlo ugodan desktop. Kako sam počeo pratiti Haskell, naletio sam na jedan zanimljiv window manager napisan upravo u njemu &#8211; Xmonad. Xmonad je tzv. &#8217;tiling&#8217; window manager, što [...]

<h3>Povezani postovi:</h3>
Nema povezanih postova.]]></description>
			<content:encoded><![CDATA[<p>GNOME, koji je uz KDE najpopularnije desktop okruženje za GNU/Linux, koristim gotovo od samih početaka ozbiljnijeg korištenja Linuxa. Nedavno sam još malo tweakao svoju konfiguraciju i složio vrlo ugodan desktop. <span id="more-83"></span></p>
<p>Kako sam počeo pratiti Haskell, naletio sam na jedan zanimljiv window manager napisan upravo u njemu &#8211; <a href="http://xmonad.org/">Xmonad</a>. Xmonad je tzv. &#8217;tiling&#8217; window manager, što bi značilo da on sam raspoređuje prozore na vašem desktopu prema konfigurabilnim algoritmima i parametrima.</p>
<p><a rel="lightbox" href="http://nikola.plejic.com/blog/wp-content/uploads/2008/12/xmonad-firefox.png"><img class="size-medium wp-image-98 alignleft" title="xmonad-firefox" src="http://nikola.plejic.com/blog/wp-content/uploads/2008/12/xmonad-firefox-300x187.png" alt="Dva prozora Firefoxa u Xmonadu" width="300" height="187" align="left" /></a> Tiling window manageri nisu ništa novo, no ovo je bio moj prvi susret s njima. Konceptualno mi je cijela stvar izgledala dosta interesantno, te sam ih odlučio i isprobati. Rezultat: krajnje oduševljenje i gotovo potpuna migracija na Xmonad za sve moje potrebe.</p>
<p>Instalacija na Ubuntuu je poprilično jednostavna: <code>sudo apt-get install xmonad</code> instalira najosnovnije potrebne pakete, a da bi povukli sve pakete koji su potrebni za konfiguraciju sličnu mojoj, instalirajte sljedeće: <code>xmonad</code>, <code>libghc6-xmonad-contrib-dev</code>, <code>libghc6-xmonad-dev</code> i <code>dzen2</code>.</p>
<p>Samo pokretanje se može izvršiti na više načina, a onaj kojeg ja koristim je jednostavni one-liner u .xsessionu (<code>echo xmonad &gt; .xsession</code>) i odabir &#8216;Run Xclient script&#8217; prilikom logiranja u GDM-u. Ostali načini su opisani u odličnoj <a href="http://xmonad.org/documentation.html">dokumentaciji</a>. Prije samog Xmonada, dodatno pokrenem i <code>gnome-settings-daemon</code> (treba dodati <code>gnome-settings-daemon &amp;</code> na početak .xsession datoteke), da bi mi GTK aplikacije izgledale prema mojim GNOME postavkama (jer inače izgledaju ružno :)).</p>
<p>Prvi susret nije najugodniji &#8211; dočeka vas apsolutno prazan ekran, a miš ne odgovara ni na što drugo osim micanja po ekranu. Kombinacija <code>ALT+Shift+Enter</code> otvara terminal, a ukoliko ste instalirali dzen2, <code>ALT+P</code> će vam otvoriti <code>dmenu</code>, vrlo jednostavan i minimalističan launcher. Tipkanjem prvih par znakova imena aplikacije (npr. &#8216;fire&#8217; za Firefox) i pritiskom na Enter nakon odabira pokrećete aplikaciju.</p>
<p><a rel="lightbox" href="http://nikola.plejic.com/blog/wp-content/uploads/2008/12/xmonad-pidgin.png"><img class="size-medium wp-image-104" style="margin-left: 5px;" title="xmonad-pidgin" src="http://nikola.plejic.com/blog/wp-content/uploads/2008/12/xmonad-pidgin-300x187.png" alt="Pidgin, IM klijent za GNU/Linux, na odvojenom virtualnom desktopu u Xmonadu" width="300" height="187" align="right" /></a> Kombinacijom <code>ALT+1</code> do <code>ALT+9</code> se prebacujete između devet virtualnih desktopa. Ukoliko otvorite više od jednog prozora na jednom virtualnom desktopu (npr. dva prozora Firefoxa), vidjet ćete stvarnu moć Xmonada&#8211;automatski dijeli prozore za maksimalnu iskoristivost desktopa. Između raznih tiling algoritama se prebacujete kombinacijom ALT+Space. Ostale kombinacije tipki za raznoraznu manipulaciju prozorima su opisane u kratkom i informativnom Xmonad <a href="http://xmonad.org/tour.html">tutorialu</a>.</p>
<p>Samo prilagođavanje Xmonada se vrši preko datoteke ~/.xmonad/xmonad.hs koja je obična Haskell source datoteka. Poznavanje Haskella za konfiguraciju nije potrebno, s obzirom da na službenim stranicama ima <a href="http://haskell.org/haskellwiki/Xmonad/Config_archive">nekoliko primjera</a> raznih konfiguracija koje nije teško prilagoditi vlastitim potrebama. Nakon editiranja xmonad.hs datoteke, dovoljno je pritisnuti ALT+q za reload konfiguracije bez resetiranja Xmonada.</p>
<p>S obzirom da Xmonad sam po sebi nema nikakvog status bara, nije moguće saznati na kojem ste  virtualnom desktopu i koji prozor gledate. Ovo posljednje je posebno neugodno, budući da po defaultu ne vidite tzv. ukrase za prozore (tj. title bar). U Xmonadu su uobičajena dva status bara: dzen2 (kojeg ste već vjerojatno instalirali radi dmenu launchera) i Xmobar. U trenutku konfiguracije, dzen2 mi je bio lagano prekompleksan za proučavanje, pa sam odabrao Xmobar koji mi služi sasvim dobro. U Ubuntu repozitorijima ga nema, pa ćete ga morati kompajlirati sami&#8211;potreban vam je Haskell kompajler (GHC je u repozitorijima) i Xmobar source kojeg, zajedno s uputama, možete naći na <a href="http://code.haskell.org/%7Earossato/xmobar/">službenim stranicama</a>.</p>
<p>Moja konfiguracija se nalazi <a href="http://nikola.plejic.com/dotfiles/xmonad.hs">ovdje</a>&#8211;ono što je drugačije od defaultne je:</p>
<ul>
<li>Remapiranje &#8216;modifier&#8217; tipke (po defaultu gore spominjani ALT) u Win tipku, da bi se izbjegli konflikti s drugim aplikacijama koje koriste slične shortcute.</li>
<li>Firefox, Gnome-Terminal, Pidgin, Rhythmbox, Liferea (RSS reader) i Nautilus se otvaraju na za to predviđenim virtualnim desktopima, koji su adekvatno preimenovani za tu svrhu.</li>
<li>Xmobar, vrlo jednostavan i konfigurabilan status bar, se pokreće zajedno s Xmonadom i uzima informacije o virtualnim desktopima, imenu trenutnog prozora i tiling algoritmu. Također, nevezano uz Xmonad, pokazuje trenutno zauzeće memorije, procesorskog vremena, stanje baterije i mreže te datum i vrijeme. Moja konfiguracijska datoteka se nalazi <a href="http://nikola.plejic.com/dotfiles/.xmobar">ovdje</a>.</li>
<li>Print screen tipka pokreće <a href="http://linuxbrit.co.uk/scrot/">scrot</a>, mali programčić za uzimanje screenshotova.</li>
<li>Win+CTRL+X otvara Xmonadov launcher koji je vizualno ugodniji od dzenovog.</li>
</ul>
<p><a rel="lightbox" href="http://nikola.plejic.com/blog/wp-content/uploads/2008/12/xmonad-gvim.png"><img class="size-medium wp-image-108" style="text-align: center;" title="xmonad-gvim" src="http://nikola.plejic.com/blog/wp-content/uploads/2008/12/xmonad-gvim-300x187.png" alt="GVim u Xmonadu s Gnome-Terminalom" width="300" height="187" align="left" /></a> Ukoliko vam nedostaje panel i popis prozora koje trenutno imate otvorene, možete koristiti Gnome-Panel ili instalirati neki alternativni. Pokretanje panela je analogno pokretanju gnome-settings-daemona, opisanog gore.</p>
<p>Vrijedi napomenuti da Xmonad odlično radi u kombinaciji s <a href="http://vimperator.org/trac/wiki/Vimperator">Vimperatorom</a>, pluginom koji Firefox pretvara u browser koji se ponaša i funkcionira kao i svima omiljeni editor Vim. Vimperator dodatno smanjuje potrebu za korištenjem miša, što ovisno o vašoj volji za navikavanjem, može ubrzati rad s browserom.</p>
<p>Xmonad, a i tiling window manageri općenito, definitivno nisu za svakoga&#8211;niti izgledaju pretjerano lijepo, niti imaju jednostavan learning curve&#8211;no Xmonad svoj posao radi odlično i nevjerojatno stabilno i brzo. Svakako isprobati.</p>


<h3>Povezani postovi:</h3><p>Nema povezanih postova.</p>]]></content:encoded>
			<wfw:commentRss>http://nikola.plejic.com/blog/xmonad-recept-za-produktivno-radno-okruzenje-na-gnulinuxu/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.294 seconds -->

