<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2241282364506957767</id><updated>2012-01-04T15:37:27.786+05:30</updated><category term='PHP'/><category term='LAMP'/><category term='Get the Better of Memory Leaks with Valgrind'/><category term='Apache'/><category term='Welcome to GNU/Linux Nirvana'/><category term='MySQL'/><category term='Fun with OpenSuse 10.2'/><category term='Firefox: Browser Reloaded'/><category term='Linux breaks through the language barrier'/><category term='Linux'/><category term='Fun with Ubuntu 7.04 (Feisty Fawn)'/><title type='text'>Fun with GNU/Linux!</title><subtitle type='html'>The GNU/Linux and OSS Blog!</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://funwithlinux.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2241282364506957767/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://funwithlinux.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>montylee</name><uri>http://www.blogger.com/profile/07441705066139291593</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_nEdxqN_6HF8/SpiEwKLc-SI/AAAAAAAAFOU/tgSQZGFnIRc/S220/Tux-G2.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>7</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2241282364506957767.post-6244574041461699721</id><published>2009-08-29T02:33:00.003+05:30</published><updated>2009-08-29T02:39:08.200+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='LAMP'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Apache'/><title type='text'>Easiest way to get LAMP (Linux, Apache, MySQL, PHP) up and running on Linux</title><content type='html'>I guess most of  the people already know how to set up LAMP (Linux Apache MySQL PHP) environment on Linux still most of us face issues while trying to install it on a old linux distribution like red hat or enterprise linux.&lt;br /&gt;&lt;br /&gt;I found a working method of installing LAMP on linux and it's as easy as it gets. The complete package is here:&lt;br /&gt;&lt;br /&gt;The downloadable package and exact instructions are given here:&lt;br /&gt;&lt;a href="http://www.apachefriends.org/en/xampp-linux.html"&gt;http://www.apachefriends.org/en/xampp-linux.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Basically, we just need to extract the package! no installation is required. For e.g. the package can be installed in /opt directory using the following command:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;$ sudo tar zxvf xampp-linux-*.gz -C /opt&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Before running xampp, stop your existing apache, mysql server.&lt;br /&gt;&lt;br /&gt;The PATH environment variable needs to be set correctly. If the package is extracted in /opt, then the PATH variable should be set as:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;$ export PATH=/opt/lampp/bin:$PATH&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;The above line can be added to .bashrc file in the home directory so that the correct path will be set for every shell.&lt;br /&gt;&lt;br /&gt;If the linux machine is rebooted, xampp needs to be started manually. To start xampp by default when the machine boots, enter the following commands (as root):&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;$ cd /etc/rc.d/rc5.d&lt;br /&gt;$ ln -s /opt/lampp/lampp S99lampp&lt;br /&gt;$ ln -s /opt/lampp/lampp K01lampp&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Here, we are adding the scripts to start xampp to the default runlevel (5 in this case). Runlevel 5 is for GUI boot. Whatver we add to the /etc/rc.d/rc5.d folder will be started by default when the system boots.&lt;br /&gt;&lt;br /&gt;Also, ensure that if you already have an existing MySQL, Apache installation, disable it to start everytime using the following command (as root):&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;$ ntsysv&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;This will open up a shell GUI, where you will have to de-select mysql and httpd (apache). By de-selecting these options we ensure that these services are not started by default on boot since we are already using xampp to start mysql and apache.&lt;br /&gt;&lt;br /&gt;I hope this information helps someone.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0356186409540000";
google_ad_width = 234;
google_ad_height = 60;
google_ad_format = "234x60_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_color_border = "336699";
google_color_bg = "FFFFFF";
google_color_link = "0000FF";
google_color_text = "000000";
google_color_url = "008000";
//--&gt;&lt;/script&gt;
&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" 
 type="text/javascript"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2241282364506957767-6244574041461699721?l=funwithlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://funwithlinux.blogspot.com/feeds/6244574041461699721/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2241282364506957767&amp;postID=6244574041461699721' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2241282364506957767/posts/default/6244574041461699721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2241282364506957767/posts/default/6244574041461699721'/><link rel='alternate' type='text/html' href='http://funwithlinux.blogspot.com/2009/08/easiest-way-to-get-lamp-linux-apache.html' title='Easiest way to get LAMP (Linux, Apache, MySQL, PHP) up and running on Linux'/><author><name>montylee</name><uri>http://www.blogger.com/profile/07441705066139291593</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_nEdxqN_6HF8/SpiEwKLc-SI/AAAAAAAAFOU/tgSQZGFnIRc/S220/Tux-G2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2241282364506957767.post-4629134015127210650</id><published>2007-04-22T20:05:00.000+05:30</published><updated>2007-04-22T20:36:15.820+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Welcome to GNU/Linux Nirvana'/><title type='text'>Welcome to GNU/Linux Nirvana!</title><content type='html'>&lt;div style="text-align: justify;"&gt;This blog is dedicated to all GNU/Linux fans like me who love to tinker with the OS. GNU/Linux as you all know is the OS for the enthusiasts who like to experiment and explore new horizons. Here are some of the highlights of my blog :)&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul style="font-weight: bold;"&gt;&lt;li&gt;&lt;span style="color: rgb(255, 102, 0);font-size:100%;" &gt;&lt;span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;&lt;span&gt;Ubuntu 7.04 (Feisty Fawn)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_nEdxqN_6HF8/RitxP7hpmPI/AAAAAAAAAL8/9uzLR5gi8ZI/s1600-h/ubuntu_logo.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_nEdxqN_6HF8/RitxP7hpmPI/AAAAAAAAAL8/9uzLR5gi8ZI/s320/ubuntu_logo.jpg" alt="" id="BLOGGER_PHOTO_ID_5056259525144320242" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="color: rgb(0, 153, 0); font-weight: bold;font-size:180%;" &gt;U&lt;/span&gt;buntu is a widely popular GNU/Linux distribution for 'human beings'. It is based on Debian and thus is free and easy to use. The latest version of Ubuntu, i.e. Ubuntu 7.04 (Feisty Fawn) has been released on 19th April, 2007. It is easy to install and use. New GNU/Linux users would really find Ubuntu easy to use and learn.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_nEdxqN_6HF8/Rit5NrhpmQI/AAAAAAAAAME/frXTJnKJHL8/s1600-h/compiz_cube1.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_nEdxqN_6HF8/Rit5NrhpmQI/AAAAAAAAAME/frXTJnKJHL8/s200/compiz_cube1.png" alt="" id="BLOGGER_PHOTO_ID_5056268282582636802" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nEdxqN_6HF8/Rit5dbhpmRI/AAAAAAAAAMM/WpuAupzyUe8/s1600-h/compiz_cube2.png"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_nEdxqN_6HF8/Rit5dbhpmRI/AAAAAAAAAMM/WpuAupzyUe8/s200/compiz_cube2.png" alt="" id="BLOGGER_PHOTO_ID_5056268553165576466" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;Check out the Ubuntu 7.04 installation guide here:&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;a style="font-weight: bold; color: rgb(51, 0, 153);" href="http://funwithlinux.blogspot.com/search/label/Fun%20with%20Ubuntu%207.04%20%28Feisty%20Fawn%29"&gt;Fun with Ubuntu 7.04 (Feisty Fawn)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold; color: rgb(0, 153, 0);"&gt;OpenSuse 10.2&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_nEdxqN_6HF8/RcSvO8NvLEI/AAAAAAAAAAU/OSu6ZeXS7oY/s1600-h/0-Screenshot.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_nEdxqN_6HF8/RcSvO8NvLEI/AAAAAAAAAAU/OSu6ZeXS7oY/s200/0-Screenshot.png" alt="" id="BLOGGER_PHOTO_ID_5027335755269090370" border="0" /&gt;&lt;/a&gt;&lt;span style="color: rgb(51, 204, 0); font-weight: bold;font-size:100%;" &gt;open&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0); font-weight: bold;font-size:100%;" &gt;S&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0); font-weight: bold;font-size:100%;" &gt;USE&lt;/span&gt; 10.2 is the latest GNU/Linux distribution from Novell. It  provides a cool 3D graphical desktop using 3D window managers like Compiz/Xgl and Beryl. The underlying technology behind the 3D Desktop is OpenGL. It supports a plethora of 3D options like a 3D spinning cube, rainbow effects, wobbling windows, transparency, scaling, zooming, rain, snow effects etc. The 3D desktop adds to the eye candy and also provides the user with an enriching experience.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_nEdxqN_6HF8/RcSzKMNvLFI/AAAAAAAAAAg/hHX-8QKGsrM/s1600-h/8-Screenshot.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_nEdxqN_6HF8/RcSzKMNvLFI/AAAAAAAAAAg/hHX-8QKGsrM/s200/8-Screenshot.png" alt="" id="BLOGGER_PHOTO_ID_5027340071711222866" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nEdxqN_6HF8/RcSzrsNvLGI/AAAAAAAAAAs/5RkrLFt3DUE/s1600-h/16-Screenshot.png"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_nEdxqN_6HF8/RcSzrsNvLGI/AAAAAAAAAAs/5RkrLFt3DUE/s200/16-Screenshot.png" alt="" id="BLOGGER_PHOTO_ID_5027340647236840546" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Check out the OpenSuse 10.2 overview and awesome screen shots here:&lt;br /&gt;&lt;a style="font-weight: bold; color: rgb(51, 0, 153);" href="http://funwithlinux.blogspot.com/search/label/Fun%20with%20OpenSuse%2010.2"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;span&gt;Fun with OpenSuse 10.2&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul style="font-weight: bold;"&gt;&lt;li&gt;&lt;span style="color: rgb(255, 102, 0);font-size:100%;" &gt;&lt;span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;Firefox: Browser Reloaded&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_nEdxqN_6HF8/RdNJpg3OPGI/AAAAAAAAAHg/hBSIuJ5fvo0/s1600-h/Firefox1.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_nEdxqN_6HF8/RdNJpg3OPGI/AAAAAAAAAHg/hBSIuJ5fvo0/s200/Firefox1.png" alt="" id="BLOGGER_PHOTO_ID_5031446186247994466" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold; color: rgb(0, 153, 0);font-size:180%;" &gt;F&lt;/span&gt;irefox is a free, open-source web browser from the Mozilla foundation with loads of cool features like tabbed browsing, pop-up blocking, fully customizable toolbars, automatic updates, support for themes, plug-ins, extensions etc. Firefox supports almost all known platforms like GNU/Linux, Apple Macintosh, Microsoft Windows and other *nix variants like Solaris, HP-UX, IBM AIX, SGI IRIX etc. The best feature of Firefox is the plug-in architecture which allows users to develop and distribute plug-ins. A large number of plug-ins have been developed for Firefox.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nEdxqN_6HF8/RdNLqA3OPJI/AAAAAAAAAIE/vkTGKzTygP0/s1600-h/Firefox2.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_nEdxqN_6HF8/RdNLqA3OPJI/AAAAAAAAAIE/vkTGKzTygP0/s200/Firefox2.png" alt="" id="BLOGGER_PHOTO_ID_5031448393861184658" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nEdxqN_6HF8/RdNL7A3OPKI/AAAAAAAAAIM/xKmI3vGUcpI/s1600-h/Firefox3.png"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_nEdxqN_6HF8/RdNL7A3OPKI/AAAAAAAAAIM/xKmI3vGUcpI/s200/Firefox3.png" alt="" id="BLOGGER_PHOTO_ID_5031448685918960802" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Check out the Firefox overview here:&lt;br /&gt;&lt;a style="font-weight: bold; color: rgb(51, 0, 153);" href="http://funwithlinux.blogspot.com/search/label/Firefox%3A%20Browser%20Reloaded"&gt;Firefox: Browser Reloaded&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul style="font-weight: bold;"&gt;&lt;li&gt;&lt;span style="color: rgb(255, 102, 0);font-size:100%;" &gt;&lt;span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;Localization in GNU/Linux&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_nEdxqN_6HF8/RdwukMmMlSI/AAAAAAAAAKU/w4-53wCLW7Y/s1600-h/l10n.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/_nEdxqN_6HF8/RdwukMmMlSI/AAAAAAAAAKU/w4-53wCLW7Y/s400/l10n.png" alt="" id="BLOGGER_PHOTO_ID_5033949682884973858" border="0" /&gt;&lt;/a&gt;&lt;span&gt;&lt;span style="color: rgb(0, 153, 0);font-size:180%;" &gt;&lt;span style="font-weight: bold;"&gt;L&lt;/span&gt;&lt;/span&gt;ocalization or l10n as it is popularly known, involves translating the graphical user interface (GUI) i.e. menus, dialogs, help, documentation, etc to one's native language. Various free &amp; open source tools are available for localization.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span&gt;So, if you use any free and open source software which you would like to convert to your native language, read this article:&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="color: rgb(51, 0, 153);"&gt;&lt;a style="font-weight: bold;" href="http://funwithlinux.blogspot.com/search/label/Linux%20breaks%20through%20the%20language%20barrier"&gt;Linux Breaks Through the Language Barrier&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul style="font-weight: bold;"&gt;&lt;li&gt;&lt;span style="color: rgb(255, 102, 0);font-size:100%;" &gt;&lt;span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;Memory Leak Detection in GNU/Linux&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://valgrind.org/images/st-george-dragon.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px;" src="http://valgrind.org/images/st-george-dragon.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="color: rgb(0, 153, 0);font-size:180%;" &gt;&lt;span style="font-weight: bold;"&gt;A&lt;/span&gt;&lt;/span&gt; memory leak is a part of memory that has been allocated but not freed after its usage. Memory leaks can cause problems and bugs in software which can be hard to detect and fix. With the embedded domain on GNU/Linux really catching up and the growing number of applications being developed for embedded devices like mobiles, PDAs, gaming consoles etc., it becomes essential to have software which utilizes the limited memory available on these systems and makes best use of it. Various tools are available for detecting memory leaks in your applications. The most popular and well known tools are Purify (IBM) and Valgrind.&lt;br /&gt;For a complete article on memory leak detection on GNU/Linux using Valgrind, check this out:&lt;br /&gt;&lt;a style="font-weight: bold; color: rgb(51, 0, 153);" href="http://funwithlinux.blogspot.com/search/label/Get%20the%20Better%20of%20Memory%20Leaks%20with%20Valgrind"&gt;Get the Better of Memory Leaks with Valgrind&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="color: rgb(255, 102, 0);font-size:100%;" &gt;&lt;span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;&lt;span style="font-weight: bold;"&gt;Wolfenstein: Enemy Territory&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_nEdxqN_6HF8/RcS2W8NvLII/AAAAAAAAABA/UY3T-olVakI/s1600-h/2007-02-03-205834-oasis.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_nEdxqN_6HF8/RcS2W8NvLII/AAAAAAAAABA/UY3T-olVakI/s200/2007-02-03-205834-oasis.jpg" alt="" id="BLOGGER_PHOTO_ID_5027343589289438338" border="0" /&gt;&lt;/a&gt;&lt;span style="color: rgb(0, 153, 0); font-weight: bold;font-size:180%;" &gt;W&lt;/span&gt;olfenstein: Enemy Territory (WET) is a free multi-player First Person Shooter (FPS) game for GNU/Linux &amp; Windows. It was released in 2003 and requires the latest OpenGL drivers to run on GNU/Linux. WET is similar to another very popular online FPS i.e. Counter Strike. As in Counter Strike, there are 2 teams in WET: one team has to attack and complete the given objectives within the alloted time and the other one has to stop the attacking team from completing the objectives within the alloted time. The game is quite small (~300 MB), so anybody can download and play it for free. Here are some screen shots from my system.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nEdxqN_6HF8/RcS3wsNvLKI/AAAAAAAAABQ/U1sC4TlkOrM/s1600-h/2007-02-03-210046-oasis.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_nEdxqN_6HF8/RcS3wsNvLKI/AAAAAAAAABQ/U1sC4TlkOrM/s200/2007-02-03-210046-oasis.jpg" alt="" id="BLOGGER_PHOTO_ID_5027345131182697634" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_nEdxqN_6HF8/RcS4lcNvLMI/AAAAAAAAABg/0et8IZ9hIRA/s1600-h/shot0008.jpg"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_nEdxqN_6HF8/RcS4lcNvLMI/AAAAAAAAABg/0et8IZ9hIRA/s200/shot0008.jpg" alt="" id="BLOGGER_PHOTO_ID_5027346037420797122" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;More screen shots and videos coming soon...&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0356186409540000";
google_ad_width = 234;
google_ad_height = 60;
google_ad_format = "234x60_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_color_border = "336699";
google_color_bg = "FFFFFF";
google_color_link = "0000FF";
google_color_text = "000000";
google_color_url = "008000";
//--&gt;&lt;/script&gt;
&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" 
 type="text/javascript"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2241282364506957767-4629134015127210650?l=funwithlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://funwithlinux.blogspot.com/feeds/4629134015127210650/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2241282364506957767&amp;postID=4629134015127210650' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2241282364506957767/posts/default/4629134015127210650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2241282364506957767/posts/default/4629134015127210650'/><link rel='alternate' type='text/html' href='http://funwithlinux.blogspot.com/2007/02/welcome-to-gnulinux-nirvana.html' title='Welcome to GNU/Linux Nirvana!'/><author><name>montylee</name><uri>http://www.blogger.com/profile/07441705066139291593</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_nEdxqN_6HF8/SpiEwKLc-SI/AAAAAAAAFOU/tgSQZGFnIRc/S220/Tux-G2.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_nEdxqN_6HF8/RitxP7hpmPI/AAAAAAAAAL8/9uzLR5gi8ZI/s72-c/ubuntu_logo.jpg' height='72' width='72'/><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2241282364506957767.post-6006902078716709301</id><published>2007-04-22T16:03:00.000+05:30</published><updated>2007-06-04T14:47:27.351+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Fun with Ubuntu 7.04 (Feisty Fawn)'/><title type='text'>Fun with Ubuntu 7.04 (Feisty Fawn)!</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_nEdxqN_6HF8/RitG0LhpmEI/AAAAAAAAAKk/zc8K7CyAWUI/s1600-h/ubuntu_logo.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/_nEdxqN_6HF8/RitG0LhpmEI/AAAAAAAAAKk/zc8K7CyAWUI/s320/ubuntu_logo.jpg" alt="" id="BLOGGER_PHOTO_ID_5056212868914583618" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);font-size:180%;" &gt;U&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;buntu&lt;/span&gt; is a widely popular GNU/Linux distribution for 'human beings'. It is based on Debian and thus is free and easy to use. The latest version of Ubuntu, i.e. Ubuntu 7.04 (Feisty Fawn) was released on 19th April, 2007. Having used OpenSuse 10.2 and getting awed by Compiz and Beryl's cool 3D effects on it, i really wanted to try the same on Ubuntu. Here are some of the cool new features of Ubuntu 7.04 (&lt;a style="font-weight: bold;" href="http://www.ubuntu.com/getubuntu/releasenotes/704tour"&gt;http://www.ubuntu.com/getubuntu/releasenotes/704tour&lt;/a&gt;):&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="color: rgb(0, 153, 0); font-weight: bold;"&gt;Ubuntu 7.04 Features&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold; color: rgb(0, 153, 0);font-size:100%;" &gt;Migration Tool&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;p&gt;Windows migration tool - The new migration tool recognizes Internet Explorer favorites, Firefox bookmarks, desktop wallpaper, AOL IM contacts, Yahoo IM contacts and imports them in Ubuntu. This offers easier and faster migration for new users of Ubuntu and individuals wanting to run a dual partition. In addition to single accounts, you can migrate several users' settings in Ubuntu. &lt;/p&gt; &lt;p&gt;&lt;a href="http://www.ubuntu.com/files/u1/migration-assistant.jpg" class="external"&gt;&lt;img src="http://www.ubuntu.com/files/u1/migration-assistant.jpg" alt="http://www.ubuntu.com/files/u1/migration-assistant.jpg" title="http://www.ubuntu.com/files/u1/migration-assistant.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;h3 style="color: rgb(0, 153, 0);" id="head-8568011da129f88dc1d06521cfb21f8f49d09df9"&gt;Easy installation of multimedia codecs&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt; &lt;p&gt;Playing an MP3 or other media file just got a lot easier. If the required pieces are not yet installed, 7.04 will get the correct codecs for you, no more searching and no need for long and complicated instructions. &lt;/p&gt; &lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://wiki.ubuntu.com/7%2e04Tour?action=AttachFile&amp;do=get&amp;amp;target=EasyCodec.png"&gt;&lt;img style="cursor: pointer; width: 320px;" src="https://wiki.ubuntu.com/7%2e04Tour?action=AttachFile&amp;do=get&amp;amp;target=EasyCodec.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;h3 style="color: rgb(0, 153, 0);" id="head-72e463e7c61a66c61b567f361d2ad3fe38af39f8"&gt;&lt;span style="font-size:100%;"&gt;Desktop Effects&lt;/span&gt;&lt;/h3&gt; &lt;p&gt;Stunning new desktop effects are available as a technology preview for users who choose to enable them. They remain turned off by default, for the benefit of users with older or less powerful chips and certain non-supported graphics cards. &lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;h3 style="color: rgb(0, 153, 0);" id="head-98085b4c8272960e5a16777dd55bbfdf2266a834"&gt;&lt;span style="font-size:100%;"&gt;Networking Improvements&lt;/span&gt;&lt;/h3&gt; &lt;h4 id="head-1dec0464a1255dae3857e12bdf9f40b58362591d"&gt;Easier connection to wireless networks&lt;/h4&gt; &lt;p&gt;New in 7.04 is Network Manager, a simple way to find and connect to wireless and wired networks. With a single click, view all the available wireless networks and their strengths. For those on a secured network, WPA support is built in right out of the box.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://wiki.ubuntu.com/7%2e04Tour?action=AttachFile&amp;do=get&amp;amp;target=NetworkManager.png"&gt;&lt;img style="cursor: pointer; width: 320px;" src="https://wiki.ubuntu.com/7%2e04Tour?action=AttachFile&amp;do=get&amp;amp;target=NetworkManager.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;h4 style="color: rgb(0, 153, 0);" id="head-db0aa5177d62c0f0bd0dfbedb0bd157e1a12ed89"&gt;&lt;span style="font-size:100%;"&gt;Zeroconf for instant networks&lt;/span&gt;&lt;/h4&gt; &lt;p&gt;For those times without a router or any existing network, 7.04 includes the ability to connect instantly, via Avahi, a free Zeroconf implementation. It allows programs to publish and discover services and hosts running on a local network with no configuration. It also allows easy connection to network printers, music shares, and much more. &lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;h3 style="color: rgb(0, 153, 0);" id="head-83d7cdd5e03c9dbfa171dde3f05d96348c81925a"&gt;&lt;span style="font-size:100%;"&gt;Easier install of proprietary drivers&lt;/span&gt;&lt;/h3&gt; &lt;p&gt;The new Restricted Drivers Manager allow users to easily install and manage proprietary drivers for wireless and video graphics cards and other hardware that may not have completely Free drivers. &lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;h3 style="color: rgb(0, 153, 0);" id="head-237f4ead057feed0e4078d5cf20c5412e0e00069"&gt;&lt;span style="font-size:100%;"&gt;New Artwork&lt;/span&gt;&lt;/h3&gt; &lt;p&gt;Feisty features all new artwork; check out the new Desktop Background image, and a boot-up splash image that has more 'bling'. The new theme also includes a polished icon set. &lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;h3 style="color: rgb(0, 153, 0);" id="head-a30d619c2cb95918547d73f1296c4af99a1539e9"&gt;&lt;span style="font-size:100%;"&gt;Easy Third Party Installation&lt;/span&gt;&lt;/h3&gt; &lt;p&gt;Installation of popular third party software has never been easier. With a click of a button you can now install Java, Flash and other commonly-requested applications. &lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;h3 style="color: rgb(0, 153, 0);" id="head-62b3c66b7c06e045bfecde71420b5da5022cfffc"&gt;&lt;span style="font-size:100%;"&gt;Better debugging of crashes&lt;/span&gt;&lt;/h3&gt; &lt;p&gt;For those times when programs crash, 7.04 builds in a new tool to catch the data about that crash and make certain all the right information gets to the developers, making a better Ubuntu experience for all. &lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;h3 style="color: rgb(0, 153, 0);" id="head-13cd805df19239fb07f50d506d6ce5d28805b1eb"&gt;&lt;span style="font-size:100%;"&gt;Xorg 7.2 included&lt;/span&gt;&lt;/h3&gt; &lt;p&gt;Keeping in step with the cutting edge mentality, X11R7.2, the third release of the modular X Window system, is utilized in this and future Feisty releases. X11R7.2 comes with significant stability and correctness fixes, including improved auto-configuration heuristics, enhanced support for GL-based compositing managers such as Compiz and Beryl, and improved support for PCI systems with multiple domains. It also incorporates the new, more extensible XACE security policy framework. &lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;h3 style="color: rgb(0, 153, 0);" id="head-e2dc614e6f14eb13c2a9eddf370f44d47171498c"&gt;&lt;span style="font-size:100%;"&gt;New Games: Sudoku and Chess&lt;/span&gt;&lt;/h3&gt; &lt;p&gt;With a change of maintainers in gnome-games, the plea for new and more exciting games was heard. After two surveys, one to figure out which game to remove and another to determine to which one to add, two winners emerged: gnome-soduku and glchess. Both of these games have now been added to gnome-games 2.17 and you can find them under &lt;strong&gt;Applications &gt; Games &gt; Chess&lt;/strong&gt; or &lt;strong&gt;Sudoku&lt;/strong&gt;. Of course, one game did get axed. Sadly Ataxx, a game similar to Reversi and Othello, didn't make it. &lt;/p&gt; &lt;p style="color: rgb(0, 153, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;Chess, GNOME style&lt;/strong&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;a href="https://wiki.ubuntu.com/FeistyFawn/Herd1?action=AttachFile&amp;do=get&amp;amp;target=chess.png" class="external"&gt;&lt;img src="https://wiki.ubuntu.com/FeistyFawn/Herd1?action=AttachFile&amp;amp;amp;do=get&amp;target=chess-thumb.png" alt="https://wiki.ubuntu.com/FeistyFawn/Herd1?action=AttachFile&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;do=get&amp;target=chess.png" title="https://wiki.ubuntu.com/FeistyFawn/Herd1?action=AttachFile&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;do=get&amp;target=chess.png" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;Sudoku, GNOME style&lt;/strong&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;a href="https://wiki.ubuntu.com/FeistyFawn/Herd1?action=AttachFile&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;do=get&amp;target=sudoku.png" class="external"&gt;&lt;img src="https://wiki.ubuntu.com/FeistyFawn/Herd1?action=AttachFile&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;do=get&amp;target=sudoku-thumb.png" alt="https://wiki.ubuntu.com/FeistyFawn/Herd1?action=AttachFile&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;do=get&amp;target=sudoku.png" title="https://wiki.ubuntu.com/FeistyFawn/Herd1?action=AttachFile&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;do=get&amp;target=sudoku.png" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;h3 style="color: rgb(0, 153, 0);" id="head-1f71262c9cddd7d8c3e0527a088a3f69e3217590"&gt;&lt;span style="font-size:100%;"&gt;Quick diagnostic tools&lt;/span&gt;&lt;/h3&gt; &lt;p&gt;Disk Usage Analyzer allows you to easily view disk usage statistics in a more intuitive manner. &lt;/p&gt; &lt;p style="color: rgb(0, 153, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;Disk analyzer&lt;/strong&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;a href="https://wiki.ubuntu.com/FeistyFawn/Herd1?action=AttachFile&amp;do=get&amp;amp;target=boabob.png" class="external"&gt;&lt;img src="https://wiki.ubuntu.com/FeistyFawn/Herd1?action=AttachFile&amp;amp;amp;do=get&amp;target=baobob-thumb.png" alt="https://wiki.ubuntu.com/FeistyFawn/Herd1?action=AttachFile&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;do=get&amp;target=boabob.png" title="https://wiki.ubuntu.com/FeistyFawn/Herd1?action=AttachFile&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;do=get&amp;target=boabob.png" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;h3 style="color: rgb(0, 153, 0);" id="head-f5bde132fb9131e84d5986a96fc5362f0eedbc62"&gt;&lt;span style="font-size:100%;"&gt;Help Center&lt;/span&gt;&lt;/h3&gt; &lt;div style="text-align: left;"&gt;In order to make Help more accessible, Feisty features a brand new Help Center with an easier to use interface that is more stylish.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;h3 style="color: rgb(0, 153, 0);" id="head-f340a285bc6574070cbad7055cfc78625535ae76"&gt;&lt;span style="font-size:100%;"&gt;Support for more hardware, including Intel Macs&lt;/span&gt;&lt;/h3&gt; &lt;p&gt;As with every new release, 7.04 comes with support for new hardware, including better support for laptops and newer peripherals. Printing support has also been updated, to support more features and newer printers. &lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;Here we will discuss the Ubuntu installation in detail.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 153, 0);font-size:130%;" &gt;Getting Ubuntu&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: justify;"&gt;The Ubuntu installation comes in a standard CD (~700MB) so even people with slow internet connections can download it without much hassle. However, if you don't have an internet connection, you can request the CD from the Ubuntu download page. Here's the download link for Ubuntu 7.04:&lt;br /&gt;&lt;/div&gt;&lt;a style="font-weight: bold;" href="http://www.ubuntu.com/getubuntu/download"&gt;http://www.ubuntu.com/getubuntu/download&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;and here's the mirror link for the same:&lt;br /&gt;&lt;a style="font-weight: bold;" href="http://www.ubuntu.com/getubuntu/downloadmirrors"&gt;http://www.ubuntu.com/getubuntu/downloadmirrors&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: justify;"&gt;The coolest part of the Ubuntu CD is that it is a Live installation CD, so you can give it a try first before installation. So, download the Ubuntu 7.04 CD from any of the above locations and burn it to a blank CD.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Put&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;the Ubuntu CD you just burnt in your CD-ROM drive and reboot your PC. Ensure that you have selected CD-ROM as the first boot option in the BIOS. After rebooting your PC with the Ubuntu CD, you will get a cool looking boot screen. Just select the default option i.e. "Install/ Boot from CD" and press Enter. If everything goes well, you will get a cool looking Ubuntu desktop as shown below:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_nEdxqN_6HF8/RitPfrhpmGI/AAAAAAAAAK0/Fy5N0_FgfDo/s1600-h/ubuntu_desktop.png"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_nEdxqN_6HF8/RitPfrhpmGI/AAAAAAAAAK0/Fy5N0_FgfDo/s320/ubuntu_desktop.png" alt="" id="BLOGGER_PHOTO_ID_5056222412331915362" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 153, 0);font-size:130%;" &gt;Installation&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;ul&gt;&lt;li&gt;Just click the "Install" icon on the desktop to start the Installation wizard. You will be greeted with the wonderful welcome screen:&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_nEdxqN_6HF8/RitRfLhpmHI/AAAAAAAAAK8/rqDKO1yWbr0/s1600-h/install_welcome.png"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_nEdxqN_6HF8/RitRfLhpmHI/AAAAAAAAAK8/rqDKO1yWbr0/s320/install_welcome.png" alt="" id="BLOGGER_PHOTO_ID_5056224602765236338" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The installation wizard supports various languages. Just read the welcome message and release notes if you like and press the "Forward" button. On the next screen select your timezone and press the "Forward" button:&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_nEdxqN_6HF8/RitSyrhpmII/AAAAAAAAALE/qXdA1hddtQk/s1600-h/install_timezone.png"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_nEdxqN_6HF8/RitSyrhpmII/AAAAAAAAALE/qXdA1hddtQk/s320/install_timezone.png" alt="" id="BLOGGER_PHOTO_ID_5056226037284313218" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Then, select your preferred keyboard layout:&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_nEdxqN_6HF8/RitTXLhpmJI/AAAAAAAAALM/dVx3UdCtnwE/s1600-h/install_keylayout.png"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_nEdxqN_6HF8/RitTXLhpmJI/AAAAAAAAALM/dVx3UdCtnwE/s320/install_keylayout.png" alt="" id="BLOGGER_PHOTO_ID_5056226664349538450" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Next comes the most dreaded part of any GNU/Linux installation (especially for new users) i.e. partitioning. In Ubuntu partitioning has been greatly simplified and even newbies wouldn't find it too difficult. The basic requirement for partitioning is that you should either have some free space or an existing GNU/Linux partition on your hard disk. You should select  manual partitioning only if you already know about partitioning in general and want to have complete control on your GNU/Linux installation. I chose manual partitioning as shown in the screen shot below:&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_nEdxqN_6HF8/RitXPLhpmKI/AAAAAAAAALU/xyjHRRVs-rM/s1600-h/install_partition1.png"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_nEdxqN_6HF8/RitXPLhpmKI/AAAAAAAAALU/xyjHRRVs-rM/s320/install_partition1.png" alt="" id="BLOGGER_PHOTO_ID_5056230924957096098" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Next, you have to chose the partitions onto which your GNU/Linux installation would reside. The Ubuntu installation requires at least two partitions i.e. a root partition (/) and a swap partition. I had some free space in my hard disk for the root partition and an existing swap partition from another GNU/Linux installation as shown in the screen shot below:&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_nEdxqN_6HF8/RitYSLhpmLI/AAAAAAAAALc/uUHEChGCTGA/s1600-h/install_partition2.png"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_nEdxqN_6HF8/RitYSLhpmLI/AAAAAAAAALc/uUHEChGCTGA/s320/install_partition2.png" alt="" id="BLOGGER_PHOTO_ID_5056232076008331442" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;If you have a similar setup, highlight the free space and click "New Partition" to specify the partition size and mount point. Specify the partition type as "ext3" and mount point as "/" as shown in the screen shot below and press the "OK" button. Similarly create a swap partition by specifying the partition type as "swap" and partition size greater than or equal to the amount of your physical RAM. For example, if you have 1 GB RAM, create a swap partition of 2 GB. Recheck the partitioning screen to ensure that everything is correct and click the "Forward" button.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_nEdxqN_6HF8/RitY7rhpmMI/AAAAAAAAALk/x5vGZr6sw0M/s1600-h/install_partition3.png"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_nEdxqN_6HF8/RitY7rhpmMI/AAAAAAAAALk/x5vGZr6sw0M/s320/install_partition3.png" alt="" id="BLOGGER_PHOTO_ID_5056232788972902594" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Next comes the unique migration screen which is hard to find in other GNU/Linux distros. Here you can import your documents and setting from Windows or other existing GNU/Linux partitions.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_nEdxqN_6HF8/RitdjLhpmNI/AAAAAAAAALs/bK3Fd2rZvbo/s1600-h/install_migrate.png"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_nEdxqN_6HF8/RitdjLhpmNI/AAAAAAAAALs/bK3Fd2rZvbo/s320/install_migrate.png" alt="" id="BLOGGER_PHOTO_ID_5056237865624246482" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Next comes the user configuration screen. Here you have to specify the default user name and password for your GNU/Linux installation.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_nEdxqN_6HF8/RiteqrhpmOI/AAAAAAAAAL0/4f3iBkHG3xY/s1600-h/install_user.png"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_nEdxqN_6HF8/RiteqrhpmOI/AAAAAAAAAL0/4f3iBkHG3xY/s320/install_user.png" alt="" id="BLOGGER_PHOTO_ID_5056239093984893154" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Click Forward and you will be greeted with Installation summary page. Once you are satisfied with it press the Install button to begin installation.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Installation will take about 15-20 minutes depending on the configuration of your PC. Reboot your PC after the installation is over and enjoy the fresh and uber cool flavor of Ubuntu.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 153, 0);"&gt;Post Installation Tweaking&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;If you have a Nvidia or ATI based graphics card, then you will be overjoyed as Ubuntu provides you the option of downloading proprietary drivers for your card. But if you have an Intel based on-board solution like me, then you might face some problems like:&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;Ultra low resolution after installation (640 x 480)&lt;/li&gt;&lt;li&gt;Desktop Effects (3D desktop) disabled.&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;In addition to this, the Ubuntu installation doesn't allow you to set the root password.&lt;br /&gt;&lt;br /&gt;If you face the issues mentioned above, follow these simple steps:&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Setting the root password&lt;/span&gt;: At the Ubuntu grub boot menu, select the recovery option and press enter. After this, you will get the root terminal. Just use the 'passwd' command to set the new root password.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Setting the correct resolution&lt;/span&gt;: Use the following command in the root terminal to set the correct resolution:&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;                   &lt;span style="font-style: italic; font-weight: bold;"&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;_____&lt;/span&gt;&lt;blockquote&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;&lt;/span&gt;# dpkg-reconfigure xserver-xorg&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;You will get a plethora of configuration options in this command, so just choose the default settings for most of the options. Choose "Intel i810" as your graphics driver if you have an Intel based solution and also choose the correct resolution. Type exit to get your newly configured desktop.&lt;br /&gt;&lt;/div&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 153, 0);"&gt;Broadband Setup&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Broadband internet setup is a breeze in Ubuntu. ADSL based broadband provides 2 modes to connect to the internet i.e.&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;PPPoE mode&lt;/li&gt;&lt;li&gt;Bridged mode&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;You can use both modes to connect to the internet on Ubuntu. You can check your internet mode in the ADSL modem setup page (e.g. http://192.168.1.1) in a browser. If you are using the PPPoE mode, you are not required to do any configurations in  Ubuntu and your broadband internet will work by default. But if you want to use the Bridged mode, you have to follow the steps mentioned below (you'll need DNS information of your broadband service provider) :&lt;br /&gt;&lt;/div&gt;&lt;ol style="text-align: justify;"&gt;&lt;li&gt;Go to System-&gt;Administration-&gt;Network. In the "Connections" tab choose  "Wired Connection", click properties and ensure that the configuration is  "DHCP". In the DNS tab, add the DNS addresses provided by your service provider and click "Close".&lt;/li&gt;&lt;li&gt;Try  pinging your your router ip i.e. &lt;a title="http://192.168.1.1" onclick="return top.js.OpenExtLink(window,event,this)" href="http://192.168.1.1/" target="_blank"&gt;192.168.1.1&lt;/a&gt;, &lt;a title="http://192.168.1.2" onclick="return top.js.OpenExtLink(window,event,this)" href="http://192.168.1.2/" target="_blank"&gt;192.168.1.2&lt;/a&gt; etc through a terminal.&lt;/li&gt;&lt;li&gt;Then run the following command :&lt;/li&gt;&lt;/ol&gt;&lt;blockquote style="font-weight: bold;"&gt;$ sudo pppoeconf&lt;/blockquote&gt;&lt;div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Choose default setting in all options. When  prompted for user name, password, enter correct user name, password provided by your internet service provider.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;After this, run the following command to start your  dialer:&lt;br /&gt;&lt;blockquote style="font-weight: bold;"&gt;$ sudo pon dsl-provider&lt;/blockquote&gt;To disconnect:&lt;br /&gt;&lt;blockquote style="font-weight: bold;"&gt;$ sudo poff  dsl-provider&lt;/blockquote&gt;After connecting (i.e. after running the pon command, try  pinging any website from the terminal i.e. &lt;a title="http://google.com" onclick="return top.js.OpenExtLink(window,event,this)" href="http://google.com/" target="_blank"&gt;google.com&lt;/a&gt;). If you can ping it then your internet is  connected!&lt;br /&gt;&lt;br /&gt;You can also verify by pinging ur DNS server or by using the  following command:&lt;br /&gt;&lt;blockquote style="font-weight: bold;"&gt;$ ifconfig ppp0&lt;/blockquote&gt;The output should be like this:&lt;br /&gt;&lt;blockquote&gt;ppp0      Link encap:Point-to-Point Protocol&lt;br /&gt;        inet addr:&lt;a title="http://122.163.133.73" onclick="return top.js.OpenExtLink(window,event,this)" href="http://122.163.133.73/" target="_blank"&gt;122.163.133.73&lt;/a&gt;  P-t-P:&lt;a title="http://202.56.215.135" onclick="return top.js.OpenExtLink(window,event,this)" href="http://202.56.215.135/" target="_blank"&gt; 202.56.215.135&lt;/a&gt;  Mask:&lt;a title="http://255.255.255.255" onclick="return top.js.OpenExtLink(window,event,this)" href="http://255.255.255.255/" target="_blank"&gt; 255.255.255.255&lt;/a&gt;&lt;/blockquote&gt;&lt;span style="font-weight: bold; color: rgb(0, 153, 0);"&gt;&lt;br /&gt;Enabling Desktop Effects&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;If you want awesome eye candy like a 3D cube based desktop, translucent and wobbly windows, rain and snow effects etc. you will need to enable the Desktop Effects. First ensure that you have the set the correct resolution as mentioned above and click &lt;span style="font-style: italic;"&gt;"System-&gt;Preferences-&gt;Desktop Effects"&lt;/span&gt; from the Ubuntu system menu to enable the Desktop effects as shown below:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_nEdxqN_6HF8/RjMVjIzNO6I/AAAAAAAAAMU/1GJE_EfTkWI/s1600-h/ubuntu_desktop_settings1.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/_nEdxqN_6HF8/RjMVjIzNO6I/AAAAAAAAAMU/1GJE_EfTkWI/s200/ubuntu_desktop_settings1.png" alt="" id="BLOGGER_PHOTO_ID_5058410499869064098" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_nEdxqN_6HF8/RjMV2IzNO7I/AAAAAAAAAMc/Nw5k7wE2nbs/s1600-h/ubuntu_desktop_settings2.png"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_nEdxqN_6HF8/RjMV2IzNO7I/AAAAAAAAAMc/Nw5k7wE2nbs/s200/ubuntu_desktop_settings2.png" alt="" id="BLOGGER_PHOTO_ID_5058410826286578610" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ubuntu 7.04 ships with the &lt;span style="font-style: italic;"&gt;Compiz&lt;/span&gt; 3D window manager by default. Compiz is a great way to experience awesome eye candy without doing any configurations whatsoever on Ubuntu. You just need to enable the "Desktop Effects" from the System menu as shown above.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Compiz&lt;/span&gt; is cool as fine as basic 3D effects are concerned, but if you want jaw-dropping 3D effects and want to experience the real next generation 3D effects, try &lt;span style="font-style: italic;"&gt;Beryl. Beryl &lt;/span&gt;is a fork of Compiz and uses OpenGL to produce drop dead gorgeous 3D effects. Here are two alternate steps about installing and configuring Beryl on your Ubuntu desktop:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-weight: bold;"&gt;Graphical installation using Synaptic Package Manager&lt;br /&gt;&lt;/span&gt;Follow these simple steps to install Beryl onto your Ubuntu installation. You will need a fast internet connection to download the required packages. The download size is approximately 7MB.&lt;br /&gt;&lt;ol style="text-align: justify;"&gt;&lt;li&gt;Fire up the "Synaptic Package Manager" from &lt;span&gt;"&lt;span style="font-style: italic;"&gt;System-&gt;Administration-&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;Synaptic Package Manager&lt;/span&gt;&lt;span&gt;&lt;span style="font-style: italic;"&gt;"&lt;/span&gt;.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Press the Search button and enter "Beryl" in the search box.&lt;/li&gt;&lt;li&gt;After pressing the enter key, the Synaptic package manager would display all the Beryl packages. Right-click on a package and choose "Mark for Installation". Try to select the maximum number of Beryl packages from the list, so that you can get all the eye candy through Beryl plug-ins.&lt;/li&gt;&lt;li&gt;Click on the Apply button to download and install the required Beryl packages.&lt;/li&gt;&lt;/ol&gt;Here are the screen shots for the above mentioned steps:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nEdxqN_6HF8/RjMjTYzNO9I/AAAAAAAAAMs/YAEZ0pa-Hn4/s1600-h/ubuntu_synaptic1.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_nEdxqN_6HF8/RjMjTYzNO9I/AAAAAAAAAMs/YAEZ0pa-Hn4/s200/ubuntu_synaptic1.png" alt="" id="BLOGGER_PHOTO_ID_5058425622448913362" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_nEdxqN_6HF8/RjMjf4zNO-I/AAAAAAAAAM0/dnwPUI2Zhqw/s1600-h/ubuntu_synaptic2.png"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_nEdxqN_6HF8/RjMjf4zNO-I/AAAAAAAAAM0/dnwPUI2Zhqw/s200/ubuntu_synaptic2.png" alt="" id="BLOGGER_PHOTO_ID_5058425837197278178" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 153, 0);"&gt;&lt;br /&gt;Text based Installation&lt;/span&gt;&lt;br /&gt;Instead of using the graphical Synaptic package manager, you can download the Beryl packages using these simple steps:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Fire up a terminal and enter the following command: &lt;blockquote style="font-weight: bold;"&gt;sudo apt-get install beryl-ubuntu&lt;/blockquote&gt;&lt;/li&gt;&lt;li&gt;This will automatically install Beryl and its required dependencies onto your Ubuntu installation.&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-weight: bold; color: rgb(0, 153, 0);"&gt;Running Beryl&lt;/span&gt;&lt;br /&gt;Now, comes the real part i.e. running our newly downloaded Beryl desktop. You can use either of the following methods for running Beryl:&lt;br /&gt;&lt;br /&gt;Fire up a terminal and type the following command to start the Beryl 3D desktop:&lt;br /&gt;&lt;blockquote&gt;$ beryl-manager&lt;/blockquote&gt;   &lt;blockquote&gt; &lt;/blockquote&gt;OR&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Go to &lt;span style="font-style: italic;"&gt;"Applications-&gt;System Tools-&gt;Beryl Manager"&lt;/span&gt; to run the Beryl 3D desktop.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;If all goes well, you should see the Beryl splash screen. Your system tray should show the Beryl icon - a red gem - that you can use to adjust beryl's and emerald's settings. Click on 'Beryl settings manager' or Emerald, the theme manager.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Beryl has a plug-in architecture and provides a host of configuration options for customizing your 3D desktop. Here's a screen shot of the Beryl settings manager:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nEdxqN_6HF8/RjMhuYzNO8I/AAAAAAAAAMk/z80gXyhbzD0/s1600-h/ubuntu_beryl_settings.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_nEdxqN_6HF8/RjMhuYzNO8I/AAAAAAAAAMk/z80gXyhbzD0/s320/ubuntu_beryl_settings.png" alt="" id="BLOGGER_PHOTO_ID_5058423887282125762" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold; color: rgb(0, 153, 0);"&gt;Adding Beryl to Session Startup&lt;/span&gt;&lt;br /&gt;So, you really liked the eye candy offered by Beryl and want to load it automatically every time with your Ubuntu  desktop (GNOME). Follow these simple steps to add Beryl to session startup:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Go to System-&gt;Preferences-&gt;Sessions&lt;/li&gt;&lt;li&gt;In the "Startup Programs" tab, click  the "New" button and type "beryl-manager" in the dialog box as shown below:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_nEdxqN_6HF8/RjMml4zNO_I/AAAAAAAAAM8/noxUU2eThOA/s1600-h/ubuntu_beryl_session.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_nEdxqN_6HF8/RjMml4zNO_I/AAAAAAAAAM8/noxUU2eThOA/s320/ubuntu_beryl_session.png" alt="" id="BLOGGER_PHOTO_ID_5058429238811376626" border="0" /&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-weight: bold; color: rgb(0, 153, 0);"&gt;Beryl Keyboard Shortcuts&lt;/span&gt;&lt;br /&gt;Here are some cool keyboard shortcuts  for various Beryl effects:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;3D Desktop Cube&lt;/span&gt;: Ctrl+Alt+(Arrow Keys), Ctrl+Alt+(Hold and drag left mouse button.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Application Switcher with preview&lt;/span&gt;: Alt+Tab&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Ring application switcher&lt;/span&gt;: Super+Tab (for application switching on a single workspace, Super+Control+Tab (for application switching on all workspaces)&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Zoom functionality&lt;/span&gt;: Super+mouse scroll&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Transparency&lt;/span&gt;: Alt+mouse scroll&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Negative windows&lt;/span&gt;: Super+N (negative current application window), Super+M (Negative all application windows)&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;View all applications together for easier workspace management&lt;/span&gt;: F8&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Rain Effects&lt;/span&gt;: Shift+F9&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Rainy mouse trail&lt;/span&gt;: Super+Ctrl+mouse move&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Snow Effects&lt;/span&gt;: Super+F3&lt;/li&gt;&lt;/ul&gt;I have tried to list most of the commonly used shortcuts for Beryl 3D effects. If you are able to find some more, please post back here, so that i can add the same here for the benefit of other users.&lt;br /&gt;Here are some screen shots from my system:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nEdxqN_6HF8/RjMv2YzNPAI/AAAAAAAAANE/gaKyDSteiX8/s1600-h/beryl_start.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_nEdxqN_6HF8/RjMv2YzNPAI/AAAAAAAAANE/gaKyDSteiX8/s200/beryl_start.png" alt="" id="BLOGGER_PHOTO_ID_5058439417883868162" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nEdxqN_6HF8/RjMwGYzNPBI/AAAAAAAAANM/UcOli6Iw3f8/s1600-h/beryl_cube.png"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_nEdxqN_6HF8/RjMwGYzNPBI/AAAAAAAAANM/UcOli6Iw3f8/s200/beryl_cube.png" alt="" id="BLOGGER_PHOTO_ID_5058439692761775122" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_nEdxqN_6HF8/RjMwZIzNPCI/AAAAAAAAANU/m2TN26Qfvlg/s1600-h/beryl_snow.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/_nEdxqN_6HF8/RjMwZIzNPCI/AAAAAAAAANU/m2TN26Qfvlg/s200/beryl_snow.png" alt="" id="BLOGGER_PHOTO_ID_5058440014884322338" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nEdxqN_6HF8/RjMwtYzNPDI/AAAAAAAAANc/wZTklG0-waM/s1600-h/beryl_fire.png"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_nEdxqN_6HF8/RjMwtYzNPDI/AAAAAAAAANc/wZTklG0-waM/s200/beryl_fire.png" alt="" id="BLOGGER_PHOTO_ID_5058440362776673330" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;That's all for now. I hope you enjoyed reading this writeup. I'll soon put some cool videos for Ubuntu 7.04.&lt;br /&gt;&lt;br /&gt;So, what are you waiting for? Pop-in that Ubuntu CD and begin the joy ride!&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0356186409540000";
google_ad_width = 234;
google_ad_height = 60;
google_ad_format = "234x60_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_color_border = "336699";
google_color_bg = "FFFFFF";
google_color_link = "0000FF";
google_color_text = "000000";
google_color_url = "008000";
//--&gt;&lt;/script&gt;
&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" 
 type="text/javascript"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2241282364506957767-6006902078716709301?l=funwithlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://funwithlinux.blogspot.com/feeds/6006902078716709301/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2241282364506957767&amp;postID=6006902078716709301' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2241282364506957767/posts/default/6006902078716709301'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2241282364506957767/posts/default/6006902078716709301'/><link rel='alternate' type='text/html' href='http://funwithlinux.blogspot.com/2007/04/fun-with-ubuntu-704-feisty-fawn.html' title='Fun with Ubuntu 7.04 (Feisty Fawn)!'/><author><name>montylee</name><uri>http://www.blogger.com/profile/07441705066139291593</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_nEdxqN_6HF8/SpiEwKLc-SI/AAAAAAAAFOU/tgSQZGFnIRc/S220/Tux-G2.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_nEdxqN_6HF8/RitG0LhpmEI/AAAAAAAAAKk/zc8K7CyAWUI/s72-c/ubuntu_logo.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2241282364506957767.post-3822076595622766133</id><published>2007-02-14T14:00:00.000+05:30</published><updated>2007-02-18T01:22:46.107+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Fun with OpenSuse 10.2'/><title type='text'>Fun with OpenSuse 10.2!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_nEdxqN_6HF8/RcYHPsNvLNI/AAAAAAAAACA/Kfks9dJA7YE/s1600-h/thumb_opensuse.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_nEdxqN_6HF8/RcYHPsNvLNI/AAAAAAAAACA/Kfks9dJA7YE/s320/thumb_opensuse.png" alt="" id="BLOGGER_PHOTO_ID_5027714000153947346" border="0" /&gt;&lt;/a&gt;&lt;span style="color: rgb(51, 204, 0); font-weight: bold;font-size:100%;" &gt;open&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0); font-weight: bold;font-size:100%;" &gt;&lt;span style="color: rgb(0, 102, 0);"&gt;S&lt;/span&gt;USE&lt;/span&gt; 10.2 is &lt;span style="font-weight: bold;"&gt;THE&lt;/span&gt; best GNU/Linux distro i have ever used. Till now, GNU/Linux was considered to be strong at the server front and somewhat lacking at the desktop front. With OpenSuse 10.2, GNU/Linux seems to have finally arrived at the desktop. It has all the essential features a normal as well as a geek user would require from an Operating System. OpenSuse 10.2 definitely gives Windows Vista a run for its money. For a complete review, check out this site: &lt;a href="http://friendlylinux.org/2007/01/22/opensuse-102/"&gt;&lt;span style="font-weight: bold;"&gt;http://friendlylinux.org/2007/01/22/opensuse-102/&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Some of the revolutionary features of OpenSuse 10.2 are the following:&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;Simplified Installation Procedure.&lt;/li&gt;&lt;li&gt;Completely redesigned and revamped Start menu with inbuilt "Beagle" desktop search.&lt;/li&gt;&lt;li&gt;Latest YaST (Yet Another Setup Tool) which is powerful yet easy to use.&lt;/li&gt;&lt;li&gt;Support for proprietary content like PDF, Flash and Real  media.&lt;/li&gt;&lt;li&gt;Mouth watering eye candy with 3D Desktop using &lt;span style="font-style: italic;"&gt;Compiz/Xgl&lt;/span&gt;!&lt;/li&gt;&lt;li&gt;A wide variety of games.&lt;/li&gt;&lt;li&gt;Inbuilt security features and firewall.&lt;/li&gt;&lt;li&gt;Excellent hardware detection.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;And the list goes on....&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;The 3D effects in OpenSuse 10.2 are awesome and use Compiz (based on OpenGL) to produce some jaw-dropping 3D effects. Here is the the Compiz definition from wikipedia:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;blockquote&gt;&lt;b style="color: rgb(255, 102, 0);"&gt;Compiz&lt;/b&gt;&lt;span style="color: rgb(255, 102, 0);"&gt; is one of the first compositing window managers for the X Window System that is able to take advantage of OpenGL-acceleration. The integration allows it to perform compositing effects in window management, such as a minimization effect and a cube workspace.&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: bold;"&gt;Beryl &lt;/span&gt;is a fork of Compiz started by the community. Beryl has a plug-in architecture and supports a large number of plug-ins for achieving superb 3D effects like zooming, snow effects, rainfall, transparency, scaling etc. Beryl includes its own window manager &lt;span style="font-style: italic;"&gt;Emerald&lt;/span&gt;.&lt;br /&gt;Beryl was not included with OpenSuse 10.2, so i downloaded, installed and configured it on my system. If you want to install Beryl on your OpenSuse machine, check out this link:&lt;br /&gt;&lt;a href="http://en.opensuse.org/Beryl"&gt;http://en.opensuse.org/Beryl&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Enough of the boring theory, lets have a look at some really cool 3D screen shots i took from my system:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;        &lt;/span&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;______&lt;/span&gt;&lt;span style="color: rgb(255, 102, 0); font-weight: bold;"&gt;        &lt;span style="color: rgb(0, 153, 0);"&gt;Rainfall Effect&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0); font-weight: bold;"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;___________&lt;/span&gt;&lt;span style="color: rgb(255, 102, 0); font-weight: bold;"&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;_&lt;/span&gt; &lt;span style="color: rgb(0, 153, 0);"&gt;3D Desktop Cube (1)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nEdxqN_6HF8/RcYWcMNvLQI/AAAAAAAAACk/dITxuPMEFZ4/s1600-h/0-Screenshot.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_nEdxqN_6HF8/RcYWcMNvLQI/AAAAAAAAACk/dITxuPMEFZ4/s200/0-Screenshot.png" alt="" id="BLOGGER_PHOTO_ID_5027730707576728834" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_nEdxqN_6HF8/RcYYLcNvLUI/AAAAAAAAADQ/xEr-Y0KMbcQ/s1600-h/1-Screenshot.png"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_nEdxqN_6HF8/RcYYLcNvLUI/AAAAAAAAADQ/xEr-Y0KMbcQ/s200/1-Screenshot.png" alt="" id="BLOGGER_PHOTO_ID_5027732618837175618" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;       &lt;span style="color: rgb(255, 255, 255);"&gt;____&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;        &lt;span style="color: rgb(0, 153, 0);"&gt;3D Desktop Cube(2)&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;___________&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;                                               &lt;span style="color: rgb(0, 153, 0);"&gt;3D Movie! (1)&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nEdxqN_6HF8/RcYZCMNvLVI/AAAAAAAAADc/bFdqlusXbA0/s1600-h/3-Screenshot.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_nEdxqN_6HF8/RcYZCMNvLVI/AAAAAAAAADc/bFdqlusXbA0/s200/3-Screenshot.png" alt="" id="BLOGGER_PHOTO_ID_5027733559435013458" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nEdxqN_6HF8/RddZ5A3OPNI/AAAAAAAAAI0/VmM9_iZAE3A/s1600-h/6-Screenshot.png"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_nEdxqN_6HF8/RddZ5A3OPNI/AAAAAAAAAI0/VmM9_iZAE3A/s200/6-Screenshot.png" alt="" id="BLOGGER_PHOTO_ID_5032589944628853970" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;______&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;        &lt;span style="color: rgb(0, 153, 0);"&gt;3D Movie! (2)&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;_________________&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;                                                                                         &lt;span style="color: rgb(0, 153, 0);"&gt;Hot Babes!&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_nEdxqN_6HF8/RddaUw3OPOI/AAAAAAAAAI8/iG4sDAwbSDo/s1600-h/18-Screenshot.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/_nEdxqN_6HF8/RddaUw3OPOI/AAAAAAAAAI8/iG4sDAwbSDo/s200/18-Screenshot.png" alt="" id="BLOGGER_PHOTO_ID_5032590421370223842" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_nEdxqN_6HF8/RcYae8NvLYI/AAAAAAAAAD0/u7zqI6MYkdc/s1600-h/14-Screenshot.png"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_nEdxqN_6HF8/RcYae8NvLYI/AAAAAAAAAD0/u7zqI6MYkdc/s200/14-Screenshot.png" alt="" id="BLOGGER_PHOTO_ID_5027735152867880322" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;_____&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;Scaling Effects (1)&lt;/span&gt;               &lt;/span&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;___________&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 153, 0);"&gt;Scaling Effects (2)&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_nEdxqN_6HF8/RcYbrcNvLZI/AAAAAAAAAEM/F2f4XVmCov8/s1600-h/4-Screenshot.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_nEdxqN_6HF8/RcYbrcNvLZI/AAAAAAAAAEM/F2f4XVmCov8/s200/4-Screenshot.png" alt="" id="BLOGGER_PHOTO_ID_5027736467127872914" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_nEdxqN_6HF8/RcYcdcNvLaI/AAAAAAAAAEU/8wCnOGKmtsU/s1600-h/5-Screenshot.png"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_nEdxqN_6HF8/RcYcdcNvLaI/AAAAAAAAAEU/8wCnOGKmtsU/s200/5-Screenshot.png" alt="" id="BLOGGER_PHOTO_ID_5027737326121332130" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;_____&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 153, 0);"&gt;Scaling Effects (3) &lt;/span&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;____________&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;                    &lt;span style="color: rgb(0, 153, 0);"&gt;Window Effects&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nEdxqN_6HF8/RcYc3MNvLbI/AAAAAAAAAEc/uzAbhzH35ws/s1600-h/9-Screenshot.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_nEdxqN_6HF8/RcYc3MNvLbI/AAAAAAAAAEc/uzAbhzH35ws/s200/9-Screenshot.png" alt="" id="BLOGGER_PHOTO_ID_5027737768502963634" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_nEdxqN_6HF8/RcYdM8NvLcI/AAAAAAAAAEk/GrOL3YbJhms/s1600-h/11-Screenshot.png"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_nEdxqN_6HF8/RcYdM8NvLcI/AAAAAAAAAEk/GrOL3YbJhms/s200/11-Screenshot.png" alt="" id="BLOGGER_PHOTO_ID_5027738142165118402" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;__&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 153, 0);"&gt;Cool Application Switcher    &lt;/span&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;_________&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;Transparency&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_nEdxqN_6HF8/RcYdqsNvLdI/AAAAAAAAAE8/72_oomFAlU8/s1600-h/20-Screenshot.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 199px; height: 150px;" src="http://2.bp.blogspot.com/_nEdxqN_6HF8/RcYdqsNvLdI/AAAAAAAAAE8/72_oomFAlU8/s200/20-Screenshot.png" alt="" id="BLOGGER_PHOTO_ID_5027738653266226642" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_nEdxqN_6HF8/RcYeIsNvLeI/AAAAAAAAAFE/-noWBd7V5TA/s1600-h/8-Screenshot.png"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_nEdxqN_6HF8/RcYeIsNvLeI/AAAAAAAAAFE/-noWBd7V5TA/s200/8-Screenshot.png" alt="" id="BLOGGER_PHOTO_ID_5027739168662302178" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;___&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;Transparent Cubes (1)&lt;/span&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;_______&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 153, 0);"&gt;Transparent Cubes (2)&lt;/span&gt;&lt;div style="text-align: right;"&gt;&lt;div style="text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_nEdxqN_6HF8/RcYe8sNvLfI/AAAAAAAAAFU/KeMXYmdACGI/s1600-h/12-Screenshot.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_nEdxqN_6HF8/RcYe8sNvLfI/AAAAAAAAAFU/KeMXYmdACGI/s200/12-Screenshot.png" alt="" id="BLOGGER_PHOTO_ID_5027740062015499762" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nEdxqN_6HF8/RcYfZMNvLgI/AAAAAAAAAFc/FvmmTVIYyvY/s1600-h/16-Screenshot.png"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_nEdxqN_6HF8/RcYfZMNvLgI/AAAAAAAAAFc/FvmmTVIYyvY/s200/16-Screenshot.png" alt="" id="BLOGGER_PHOTO_ID_5027740551641771522" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;___&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 153, 0);"&gt;Transparent Cubes (3)    &lt;/span&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;_______&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 153, 0);"&gt;Transparent Cubes (4)&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nEdxqN_6HF8/RcYfwMNvLhI/AAAAAAAAAFk/MZ6-Xrrw7bc/s1600-h/17-Screenshot.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_nEdxqN_6HF8/RcYfwMNvLhI/AAAAAAAAAFk/MZ6-Xrrw7bc/s200/17-Screenshot.png" alt="" id="BLOGGER_PHOTO_ID_5027740946778762770" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nEdxqN_6HF8/RcYgDMNvLiI/AAAAAAAAAFs/XV2FZM7GsAM/s1600-h/19-Screenshot.png"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_nEdxqN_6HF8/RcYgDMNvLiI/AAAAAAAAAFs/XV2FZM7GsAM/s200/19-Screenshot.png" alt="" id="BLOGGER_PHOTO_ID_5027741273196277282" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;___&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 153, 0);"&gt;Transparent Cubes (5)    &lt;/span&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;_______&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 153, 0);"&gt;Transparent Cubes (6)&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_nEdxqN_6HF8/RcYgfsNvLjI/AAAAAAAAAF0/q2apbeb2t4o/s1600-h/10-Screenshot0.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_nEdxqN_6HF8/RcYgfsNvLjI/AAAAAAAAAF0/q2apbeb2t4o/s200/10-Screenshot0.png" alt="" id="BLOGGER_PHOTO_ID_5027741762822549042" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_nEdxqN_6HF8/RcYg1cNvLkI/AAAAAAAAAF8/BfIF5fQnpd8/s1600-h/13-Screenshot.png"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_nEdxqN_6HF8/RcYg1cNvLkI/AAAAAAAAAF8/BfIF5fQnpd8/s200/13-Screenshot.png" alt="" id="BLOGGER_PHOTO_ID_5027742136484703810" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;___&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 153, 0);"&gt;Transparent Cubes (7)&lt;/span&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;_________&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 153, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;View from the top&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_nEdxqN_6HF8/RddbAw3OPPI/AAAAAAAAAJE/naIXTpLYSu8/s1600-h/16-Screenshot.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/_nEdxqN_6HF8/RddbAw3OPPI/AAAAAAAAAJE/naIXTpLYSu8/s200/16-Screenshot.png" alt="" id="BLOGGER_PHOTO_ID_5032591177284467954" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nEdxqN_6HF8/RddcxA3OPQI/AAAAAAAAAJY/CHL6dQp0yus/s1600-h/15-Screenshot.png"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_nEdxqN_6HF8/RddcxA3OPQI/AAAAAAAAAJY/CHL6dQp0yus/s200/15-Screenshot.png" alt="" id="BLOGGER_PHOTO_ID_5032593105724783874" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you are still not satisfied, wait for the videos soon...&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0356186409540000";
google_ad_width = 234;
google_ad_height = 60;
google_ad_format = "234x60_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_color_border = "336699";
google_color_bg = "FFFFFF";
google_color_link = "0000FF";
google_color_text = "000000";
google_color_url = "008000";
//--&gt;&lt;/script&gt;
&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" 
 type="text/javascript"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2241282364506957767-3822076595622766133?l=funwithlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://funwithlinux.blogspot.com/feeds/3822076595622766133/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2241282364506957767&amp;postID=3822076595622766133' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2241282364506957767/posts/default/3822076595622766133'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2241282364506957767/posts/default/3822076595622766133'/><link rel='alternate' type='text/html' href='http://funwithlinux.blogspot.com/2007/02/fun-with-opensuse-102.html' title='Fun with OpenSuse 10.2!'/><author><name>montylee</name><uri>http://www.blogger.com/profile/07441705066139291593</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_nEdxqN_6HF8/SpiEwKLc-SI/AAAAAAAAFOU/tgSQZGFnIRc/S220/Tux-G2.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_nEdxqN_6HF8/RcYHPsNvLNI/AAAAAAAAACA/Kfks9dJA7YE/s72-c/thumb_opensuse.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2241282364506957767.post-3584705620271621255</id><published>2007-02-14T13:57:00.000+05:30</published><updated>2007-02-19T11:26:12.360+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Firefox: Browser Reloaded'/><title type='text'>Firefox: Browser Reloaded</title><content type='html'>&lt;div class="content-item"&gt;&lt;div id="g_body"&gt;&lt;p&gt;This article was published in the &lt;span style="font-weight: bold;"&gt;"Linux For You"&lt;/span&gt; magazine in November, 2004.&lt;br /&gt;&lt;/p&gt; &lt;p class="separator" style="border: medium none ; clear: both; text-align: center;"&gt;&lt;a style="border-width: 0px; clear: left; float: left; margin-bottom: 1em; margin-right: 1em; background-color: transparent;" href="http://raman.montylee.googlepages.com/clip_image002.jpg/clip_image002-full.jpg"&gt;&lt;img style="width: 195px; height: 98px;" src="http://raman.montylee.googlepages.com/clip_image002.jpg/clip_image002-full.jpg" ol="564" galleryimg="no" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;b&gt;&lt;p align="left"&gt; &lt;/p&gt; &lt;p align="left"&gt; &lt;/p&gt; &lt;p align="left"&gt; &lt;/p&gt; &lt;/b&gt;&lt;div style="" left=""&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(0, 153, 0);font-size:180%;" &gt;&lt;span style="font-weight: bold;"&gt;F&lt;/span&gt;&lt;/span&gt;irefox is a free, open-source web browser for GNU/Linux, Windows, MacOS X and other platforms. It is small, fast, easy to use and much more secure than other browsers. To know more about this latest marvel of open source read-on.....&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;b&gt;&lt;span style="font-size:7;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;p style="text-align: justify;"&gt;&lt;span style="color: rgb(0, 153, 0);font-size:100%;" &gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;A&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;sk anyone which browser they use and the answer you will get is Internet Explorer. Well, that thing is about to change. Enter Firefox: Firefox is a free, open-source web browser for various platforms and is based on the Mozilla codebase. Where Firefox scores over Mozilla is that it is just a lightweight browser whereas Mozilla is a complete suite consisting of a web browser, an email client, a chat client etc. It offers many advantages over Internet Explorer like tabbed browsing, ability to block pop-up windows and enhanced security. So, what are we waiting for? Let's begin the joy ride!&lt;/p&gt;&lt;b&gt;&lt;span style="font-size:130%;"&gt; &lt;/span&gt;&lt;/b&gt; &lt;p style="text-align: justify;"&gt;&lt;br /&gt;&lt;b style="color: rgb(0, 153, 0);"&gt;&lt;span style="font-size:130%;"&gt;Getting and Installing Firefox&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;You can download the latest version of Firefox from:&lt;/p&gt;&lt;div style="text-align: justify; font-weight: bold;"&gt;&lt;span style="color: rgb(0, 0, 129);font-size:100%;" &gt; &lt;p align="left"&gt;&lt;a href="http://www.mozilla.org/products/firefox/download.html"&gt;http://www.mozilla.org/products/firefox/download.html&lt;/a&gt;&lt;/p&gt;&lt;/span&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt;Since, Firefox is available for various platforms and languages you can download the one suitable for your machine. For GNU/Linux you can either go for the source tarball (if you are geeky one) or download the Linux/GTK2 tarball.&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt;Installation using the Linux/GTK2 tarball is a breeze. First, extract the tarball using the following command:&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt;# &lt;b&gt;tar -zxvf firefox-*.tar.gz&lt;/b&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Now, change (cd) into the newly created directory and run the installer using the following command:&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt;# &lt;b&gt;./firefox-installer&lt;/b&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt;Just a few seconds and we are ready to roll!&lt;/p&gt;&lt;b&gt;&lt;span style="font-size:130%;"&gt; &lt;/span&gt;&lt;/b&gt; &lt;p style="text-align: justify;"&gt;&lt;br /&gt;&lt;b style="color: rgb(0, 153, 0);"&gt;&lt;span style="font-size:130%;"&gt;Getting Started&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;When you run Firefox for the first time it gives you the option of importing favorites, passwords, cookies, history and other data from your existing browser. Once you are through, the sheer look of the browser mesmerizes you, with cool looking icons, easily accessible menus and a fully customizable toolbar. Just be a little innovative and play around with the menus and toolbar until you get the feel of the power that Firefox offers you while keeping the interface easy and simple.&lt;/p&gt;&lt;b style="color: rgb(0, 153, 0);"&gt;&lt;span style="font-size:130%;"&gt; &lt;p style="color: rgb(255, 153, 0);" align="left"&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;Screenshots&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;p style="color: rgb(255, 153, 0);" align="left"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;strong&gt;Figure 1: Pop-up Blocking&lt;/strong&gt; &lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;/b&gt; &lt;p class="separator" style="border: medium none ; clear: both; text-align: center;"&gt;&lt;b&gt;&lt;a style="border-width: 0px; clear: left; float: left; margin-bottom: 1em; margin-right: 1em; background-color: transparent;" href="http://raman.montylee.googlepages.com/pop-upblocking.png/pop-upblocking-full.jpg"&gt;&lt;img style="" src="http://raman.montylee.googlepages.com/pop-upblocking.png/pop-upblocking-large.jpg" ol="890" galleryimg="no" /&gt;&lt;/a&gt;&lt;/b&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt; &lt;p style="color: rgb(255, 153, 0);" align="left"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;strong&gt;Figure 2: Download Manager&lt;/strong&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="separator" style="border: medium none ; clear: both; text-align: center;"&gt;&lt;b&gt;&lt;a style="border-width: 0px; clear: left; float: left; margin-bottom: 1em; margin-right: 1em; background-color: transparent;" href="http://raman.montylee.googlepages.com/downloadmanager.png/downloadmanager-full.jpg"&gt;&lt;img style="" src="http://raman.montylee.googlepages.com/downloadmanager.png/downloadmanager-large.jpg" ol="1464" galleryimg="no" /&gt;&lt;/a&gt;&lt;/b&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;b&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt; &lt;/b&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;b&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt; &lt;/b&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;b&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt; &lt;/b&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;b&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt; &lt;/b&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;b&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt; &lt;/b&gt;&lt;/p&gt; &lt;p style="color: rgb(255, 153, 0);" align="left"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;strong&gt;Figure 3: Tabbed Browsing&lt;/strong&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="separator" style="border: medium none ; clear: both; text-align: center;"&gt;&lt;b&gt;&lt;a style="border-width: 0px; clear: left; float: left; margin-bottom: 1em; margin-right: 1em; background-color: transparent;" href="http://raman.montylee.googlepages.com/tabbedbrowsing.png/tabbedbrowsing-full.jpg"&gt;&lt;img style="" src="http://raman.montylee.googlepages.com/tabbedbrowsing.png/tabbedbrowsing-large.jpg" ol="2858" galleryimg="no" /&gt;&lt;/a&gt;&lt;/b&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;b&gt;&lt;strong&gt;&lt;/strong&gt; &lt;/b&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;b&gt; &lt;/b&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;b&gt; &lt;/b&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;b&gt; &lt;/b&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;b&gt; &lt;/b&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;b&gt; &lt;/b&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;b&gt; &lt;/b&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;b&gt; &lt;/b&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;b&gt; &lt;/b&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;b&gt; &lt;/b&gt;&lt;/p&gt;    &lt;p style="text-align: justify;"&gt;&lt;b style="color: rgb(0, 153, 0);"&gt;  &lt;span style="font-size:130%;"&gt;&lt;strong&gt;&lt;br /&gt;Features&lt;/strong&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;There are numerous reasons for using Firefox instead of other browsers. Here is a small list:&lt;/p&gt; &lt;ul style="color: rgb(255, 153, 0); text-align: justify;"&gt;&lt;li&gt;&lt;strong&gt;Tabbed Browsing&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt;Just like Mozilla, Firefox allows you to open multiple web pages inside a single window by using tabs. Tabs are extremely handy when it comes to opening multiple web pages. You can have as many tabs open as you like inside a single window. You can switch easily among different pages by clicking on the appropriate tab. In case you accidentally click the close button, it warns you that there are open tabs.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;b&gt;&lt;i&gt;Tip&lt;/i&gt;&lt;/b&gt;&lt;i&gt;: To use Tabbed browsing hold down Ctrl key while clicking on a web-link or click with the middle mouse button.&lt;/i&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:Symbol;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;span style="font-family:Symbol;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;b style="color: rgb(255, 153, 0);"&gt;Pop-Up Blocking&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt;With Firefox bid adieu to those annoying pop-up ads. When Firefox blocks a pop-up window an icon is displayed in the status bar. Click on this icon to see the list of sites that were blocked. If you want to allow a particular web site to display pop-up windows, just go to Tools&gt;Options&gt;Web Features&gt;Add Site… and enter the URL of the website.&lt;/p&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:Symbol;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;span style="font-family:Symbol;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;b style="color: rgb(255, 153, 0);"&gt;Fully Customizable Toolbars&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt;The toolbars are completely customizable and you can easily add or remove buttons to the toolbar. Just click View&gt;Toolbar&gt;Customize…, here you can add or remove buttons, bookmarks, separators etc. by dragging and dropping them to the toolbar. You can also add your own custom toolbar. One feature that is lacking is that you can’t add your own custom icons.&lt;/p&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:Symbol;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;span style="font-family:Symbol;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;b style="color: rgb(255, 153, 0);"&gt;Inbuilt Search Features&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="text-align: justify;"&gt;Firefox offers you the power of the world's most powerful search engine. Bingo! You guessed it right, it's &lt;i&gt;Google&lt;/i&gt;. Just hit Ctrl+k or click on the search field, enter the search string and press enter. You are now ready to conquer the world! &lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt;The auto-complete mechanism remembers your previous searches and makes your work easier and faster.&lt;/p&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:Symbol;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;span style="font-family:Symbol;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;b style="color: rgb(255, 153, 0);"&gt;Download Manager&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt;Just like Mozilla, Firefox features an inbuilt Download Manager. It shows you the list of current, finished as well as pending downloads along with the progress bar and relevant text. You can pause and resume the download whenever you want. In case Firefox exits accidentally it warns you about pending downloads.&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt;One thing that we would like to see in future releases of Firefox would be support for segmented downloading for faster downloads.&lt;/p&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:Symbol;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;&lt;span style="font-family:Symbol;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;b style="color: rgb(255, 153, 0);"&gt;Efficient Sidebar&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt;With Firefox you can easily organize your bookmarks, history etc. by using the sidebar. By using the Bookmarks sidebar you can easily access and organize your bookmarks with the click of a button. By using the History sidebar you can easily navigate back to sites and pages you have previously visited. You can also search for a particular bookmark or history item.&lt;/p&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="color: rgb(0, 153, 0);"&gt; &lt;p align="left"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="color: rgb(255, 153, 0);"&gt;&lt;p align="left"&gt;&lt;strong&gt;Cool Facts&lt;/strong&gt;&lt;/p&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;p align="left"&gt;Firefox was previously named Firebird and before that Phoenix. The name Firebird was in use by another open source project so it had to be changed. Firefox was chosen because it's similar to Firebird. It's easy to remember and sounds good. The official name is Mozilla Firefox.&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;p style="color: rgb(0, 0, 0); font-style: italic; text-align: justify;"&gt;Tip: You can even search for a specific page you have visited earlier! Just enter the relevant words in the search field and press enter.&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;ul style="color: rgb(255, 153, 0); text-align: justify;"&gt;&lt;li&gt;&lt;b&gt;Smart Update&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt;Firefox frees you from the stress of updating itself by automatically keeping itself up-to date. Whenever there is an update available it alerts you about the update and the available options.&lt;/p&gt;&lt;b&gt;&lt;/b&gt;&lt;p style="color: rgb(0, 153, 0);" align="left"&gt;&lt;b&gt;&lt;strong&gt;&lt;span style="color: rgb(0, 153, 0);font-size:130%;" &gt;&lt;br /&gt;Table: Firefox v/s Internet Explorer 6.0&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/b&gt;&lt;/p&gt;&lt;table border="2"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;Features&lt;/th&gt;&lt;th&gt;Firefox&lt;/th&gt;&lt;th&gt;IE6.0&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Tabbed Browsing&lt;/td&gt;&lt;td align="center"&gt;Yes&lt;/td&gt;&lt;td align="center"&gt;No&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Pop-Up Blocking&lt;/td&gt;&lt;td align="center"&gt;Yes&lt;/td&gt;&lt;td align="center"&gt;No&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Extensions and Themes&lt;/td&gt;&lt;td align="center"&gt;Yes&lt;/td&gt;&lt;td align="center"&gt;No&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Smart Update&lt;/td&gt;&lt;td align="center"&gt;Yes&lt;/td&gt;&lt;td align="center"&gt;No&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Fully Customizable Toolbars&lt;/td&gt;&lt;td align="center"&gt;Yes&lt;/td&gt;&lt;td align="center"&gt;No&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Download Manager&lt;/td&gt;&lt;td align="center"&gt;Yes&lt;/td&gt;&lt;td align="center"&gt;No&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Cookie Management&lt;/td&gt;&lt;td align="center"&gt;Yes&lt;/td&gt;&lt;td align="center"&gt;No&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;span style="font-family:Symbol;"&gt; &lt;/span&gt;&lt;p align="left"&gt;&lt;span style="font-family:Symbol;"&gt; &lt;/span&gt;&lt;/p&gt; &lt;ul style="color: rgb(255, 153, 0);"&gt;&lt;li&gt;&lt;strong&gt;Extensions and Themes&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p style="text-align: justify;"&gt;Extensions are small add-ons to Firefox that change existing browser functionality or add new functionality. It can be anything from a button to a completely new feature, such as mouse gestures or image zooming. Extensions allow Firefox to stay small, lightweight and fast. Firefox comes with Extension Manager for easy installation, removal and automatic updation of extensions. It displays the list of installed extensions along with a small description of the extensions. You can personalize Firefox according to your tastes by using Themes. With Themes, you can change the look and feel of Firefox. A theme can change anything from toolbar buttons, icons to the whole browser appearance. &lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt;Themes are managed by the Theme Manager. It contains a preview for each theme, thus making the choice of which theme to use easier and faster. You can click on Use Theme button to use a particular theme.&lt;/p&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;i&gt; &lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;b&gt;&lt;i&gt;Tip&lt;/i&gt;&lt;/b&gt;&lt;i&gt;: To download more extensions and themes just click 'Get More Extensions/Themes' in the Extension/Theme Manager.&lt;/i&gt;&lt;strong&gt;&lt;span style="color: rgb(255, 153, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;ul style="color: rgb(255, 153, 0);"&gt;&lt;li&gt;&lt;strong&gt;&lt;span style="color: rgb(255, 153, 0);"&gt;Talkback Feature&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p style="text-align: justify;"&gt;Firefox ships in with a Quality Feedback Agent that allows you to send information about a problem back to the Firefox developers that will help them to improve Firefox. Whenever Firefox crashes, a talkback window appears that contains details about the crash. You can choose to send or ignore the information about the crash.&lt;/p&gt;&lt;b&gt;&lt;span style="font-size:130%;"&gt; &lt;/span&gt;&lt;/b&gt; &lt;p style="text-align: justify;"&gt;&lt;b style="color: rgb(0, 153, 0);"&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;Firefox: What the Future Holds?&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;In the near future Firefox will be used as the default browser in Mozilla. The current Mozilla suite will be replaced by stand-alone applications with Firefox as the web browser, Mozilla Thunderbird as the email client etc. Firefox will be available as a .zip download. There will also be a web installer which means that you will have to download a small installer and then select the components you want.&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt;So, what are you waiting for? Go get the power of Open Source Software.&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt; &lt;/p&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt; &lt;/p&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;Note&lt;/b&gt;: This document includes work by Ben Goodger of mozilla.org as well as material from texturizer.net.  &lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0356186409540000";
google_ad_width = 234;
google_ad_height = 60;
google_ad_format = "234x60_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_color_border = "336699";
google_color_bg = "FFFFFF";
google_color_link = "0000FF";
google_color_text = "000000";
google_color_url = "008000";
//--&gt;&lt;/script&gt;
&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" 
 type="text/javascript"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2241282364506957767-3584705620271621255?l=funwithlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://funwithlinux.blogspot.com/feeds/3584705620271621255/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2241282364506957767&amp;postID=3584705620271621255' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2241282364506957767/posts/default/3584705620271621255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2241282364506957767/posts/default/3584705620271621255'/><link rel='alternate' type='text/html' href='http://funwithlinux.blogspot.com/2007/02/firefox-browser-reloaded-firefox-is.html' title='Firefox: Browser Reloaded'/><author><name>montylee</name><uri>http://www.blogger.com/profile/07441705066139291593</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_nEdxqN_6HF8/SpiEwKLc-SI/AAAAAAAAFOU/tgSQZGFnIRc/S220/Tux-G2.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2241282364506957767.post-7800869791552310200</id><published>2007-02-13T12:54:00.000+05:30</published><updated>2007-02-26T11:41:38.380+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux breaks through the language barrier'/><title type='text'>Linux Breaks Through the Language Barrier</title><content type='html'>&lt;!--[if !vml]--&gt;This article was published in the &lt;span style="font-weight: bold;"&gt;"Linux For You"&lt;/span&gt; magazine in January, 2005.&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_nEdxqN_6HF8/RddFJQ3OPLI/AAAAAAAAAIc/nunRKD2IQ5o/s1600-h/l10n.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_nEdxqN_6HF8/RddFJQ3OPLI/AAAAAAAAAIc/nunRKD2IQ5o/s400/l10n.png" alt="" id="BLOGGER_PHOTO_ID_5032567134057544882" border="0" /&gt;&lt;/a&gt;&lt;span style="color: rgb(0, 153, 0); font-weight: bold;font-size:180%;" &gt;L&lt;/span&gt;&lt;span&gt;ocalization or l10n as it is popularly known , involves translating the user interface-menus,  dialogs,  help,  documentation, etc to your native language. This article will equip you with the basics and help you in getting started with the enormous task ahead.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="color: rgb(0, 153, 0);font-size:180%;" &gt;&lt;span style="font-weight: bold;"&gt;E&lt;/span&gt;&lt;/span&gt;ver dreamt of using an application having user interface in your native language? If yes, then read on because this article will help you getting started in accomplishing your dream. A lot of people argue that Linux can have a very bright future in &lt;st1:place st="on"&gt;&lt;st1:country-region st="on"&gt;India&lt;/st1:country-region&gt;&lt;/st1:place&gt; if it is translated to various Indian languages. This is due to the fact that &lt;st1:place st="on"&gt;&lt;st1:country-region st="on"&gt;India&lt;/st1:country-region&gt;&lt;/st1:place&gt; is a vast country where different states have different cultures and people speak different languages.&lt;/div&gt;&lt;p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;span style=""&gt;            &lt;/span&gt;There are a lot of language teams working on l10n (localization) of &lt;st1:place st="on"&gt;&lt;st1:city st="on"&gt;OSS&lt;/st1:city&gt;&lt;/st1:place&gt; (Open Source Software). They are providing local language support for applications by translating the UI (User Interface) i.e. dialogs, menus, help, documentation etc. to various Indian languages.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;span style=""&gt;            &lt;/span&gt;Various tools are available for translation of Linux applications. For an overview of different translation tools, check out the December 2003 issue of LFY (Page no. 70). Here we will focus on Hindi translation using KBabel which is one of the most powerful translation tools available.&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify;"&gt;  &lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;span style="color: rgb(0, 153, 0); font-weight: bold;font-size:130%;" &gt;Prerequisites&lt;/span&gt;&lt;b&gt;&lt;span style="font-size:14;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style="font-size:11;"&gt;&lt;span style="font-size:100%;"&gt;Before getting started you'll need Hindi language support in your distro. For this download the latest &lt;span style="font-size:100%;"&gt;&lt;b&gt;IndLinux&lt;/b&gt;&lt;/span&gt; package from &lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" class="MsoHyperlink" &gt;&lt;a href="http://www.indlinux.org/"&gt;http://www.indlinux.org&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;  &lt;/span&gt;&lt;span style="font-size:100%;"&gt;and plug-in the following commands in a Linux terminal:&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;span style="background: silver none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;# &lt;b&gt;tar -zxvf indlinux-*.tar.gz&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;Now, change (cd) into the newly created directory and run the installer using the following command:&lt;/p&gt;        &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;span style="background: silver none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;# &lt;b&gt;./install.sh&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify;"&gt;Scan the README file for instructions on how to add Hindi language option to the login screen.&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify;"&gt;Since KBabel requires fonts and keymaps support from the native system, you need to set up the Hindi keymap before you can type in Hindi. For this right click on the panel and add keyboard layout switcher to it. Right click on the keyboard layout switcher and add the Hindi keymap. Now you can switch between keymaps by simply clicking on the map icon in the panel.&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify;"&gt;To see any application in Hindi interface you either need to login with Hindi support or you can set the global LANG environment variable as follows:&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;span style="background: silver none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;# &lt;b&gt;export LANG=hi_IN.UTF-8&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;Now you can run any application such as gedit, epiphany etc. in Hindi interfaces from the same terminal.&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify; font-weight: bold; color: rgb(51, 204, 0);"&gt;Figure 1: Epiphany in Hindi Interface&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nEdxqN_6HF8/RdlOlMmMlQI/AAAAAAAAAJ8/6MsfG-ZRnMY/s1600-h/epiphany.png"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_nEdxqN_6HF8/RdlOlMmMlQI/AAAAAAAAAJ8/6MsfG-ZRnMY/s400/epiphany.png" alt="" id="BLOGGER_PHOTO_ID_5033140459506799874" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;      &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;span style=""&gt;            &lt;/span&gt;One of the problems with Hindi translation that you can clearly see is the misalignment of shirorekha (continuous line above characters). To fix this, add the following lines to /etc/fonts/fonts.conf:&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nEdxqN_6HF8/RddFSA3OPMI/AAAAAAAAAIk/fyQtdZHK88U/s1600-h/fonts.PNG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_nEdxqN_6HF8/RddFSA3OPMI/AAAAAAAAAIk/fyQtdZHK88U/s400/fonts.PNG" alt="" id="BLOGGER_PHOTO_ID_5032567284381400258" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;br /&gt;replace Raghindi with your devanagari font.  &lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify;"&gt;  &lt;/p&gt;              &lt;p class="MsoNormal" style="text-align: justify;"&gt;  &lt;/p&gt;&lt;div style="text-align: left;"&gt;  &lt;/div&gt;&lt;div style="text-align: left;"&gt;  &lt;/div&gt;&lt;div style="text-align: left;"&gt;  &lt;/div&gt;&lt;div style="text-align: left;"&gt;  &lt;/div&gt;&lt;div style="text-align: left;"&gt;  &lt;/div&gt;&lt;div style="text-align: left;"&gt;  &lt;/div&gt;&lt;div style="text-align: left;"&gt;  &lt;/div&gt;&lt;p style="text-align: left;" class="MsoNormal"&gt;  &lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;span style="color: rgb(0, 153, 0);font-size:130%;" &gt;&lt;st1:place style="font-weight: bold;" st="on"&gt;PO&lt;/st1:place&gt;&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 153, 0);font-size:130%;" &gt; File Basics&lt;/span&gt;&lt;b&gt;&lt;span style="font-size:14;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;Almost all the applications that run under Linux use the GNU gettext framework. All the text that is visible to the user through dialogs, menus, help, documentation etc. is stored in message catalogs called &lt;st1:place st="on"&gt;PO&lt;/st1:place&gt; (Portable Object) files, which are translated. These &lt;st1:place st="on"&gt;PO&lt;/st1:place&gt; files are then compiled into MO (Machine Object) files. Whenever an application executes it looks out for a MO file for that language. If the file is available it is displayed in that language otherwise it is displayed in English.&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;span style="font-weight: bold; color: rgb(51, 204, 0);"&gt;Figure 2:  PO File Example&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_nEdxqN_6HF8/RdlEx8mMlPI/AAAAAAAAAJw/XHg0U-wrlP8/s1600-h/PO_Example.png"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_nEdxqN_6HF8/RdlEx8mMlPI/AAAAAAAAAJw/XHg0U-wrlP8/s400/PO_Example.png" alt="" id="BLOGGER_PHOTO_ID_5033129683433854194" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;span style=""&gt;            &lt;/span&gt;Before beginning translation, you need a POT (Portable Object Template) file which contains the text that is displayed in the interface of any application along with its corresponding translation. Generally POT files can be found in the source of any package. If not, you can create your own POT file by using the following command:&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;span style="background: silver none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;# &lt;b&gt;xgettext &lt;input-file&gt; -o &lt;output-file&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/output-file&gt;&lt;/input-file&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;table style="width: 285px; height: 206px;" border="1" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="border: 1pt solid black; background: rgb(255, 153, 0) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;b&gt;l10n links&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-style: none solid solid; border-color: -moz-use-text-color black black; border-width: medium 1pt 1pt; background: rgb(255, 204, 153) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;a style="color: rgb(51, 51, 255);" href="http://i18n.kde.org/tools/kbabel"&gt;http://i18n.kde.org/tools/kbabel&lt;/a&gt;&lt;br /&gt;&lt;a style="color: rgb(51, 51, 255);" href="http://www.indlinux.org/"&gt;http://www.indlinux.org&lt;/a&gt;&lt;br /&gt;&lt;a style="color: rgb(51, 51, 255);" href="http://www.indictrans.org/"&gt;http://www.indictrans.org&lt;/a&gt;&lt;br /&gt;&lt;a style="color: rgb(51, 51, 255);" href="http://www.ankurbangla.org/"&gt;http://www.ankurbangla.org&lt;/a&gt;&lt;br /&gt;&lt;a style="color: rgb(51, 51, 255);" href="http://hi.openoffice.org/"&gt;http://hi.openoffice.org&lt;/a&gt;&lt;br /&gt;&lt;a style="color: rgb(51, 51, 255);" href="http://www.cdacindia.com/"&gt;http://www.cdacindia.com&lt;/a&gt;&lt;br /&gt;&lt;a style="color: rgb(51, 51, 255);" href="http://www.ncb.ernet.in/projects/indix"&gt;http://www.ncb.ernet.in/projects/indix&lt;/a&gt;&lt;br /&gt;&lt;a style="color: rgb(51, 51, 255);" href="http://translate.sourceforge.net/"&gt;http://translate.sourceforge.net&lt;/a&gt;&lt;br /&gt;&lt;a style="color: rgb(51, 51, 255);" href="http://l10n-status.gnome.org/"&gt;http://l10n-status.gnome.org&lt;/a&gt;&lt;br /&gt;&lt;a style="color: rgb(51, 51, 255);" href="http://i18n.kde.org/"&gt;http://i18n.kde.org&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;Check out the man page of xgettext command for complete description about input/output files.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;A POT file consists of 2 parts:&lt;span style=""&gt;                                       &lt;/span&gt;&lt;/p&gt;  &lt;ul style="margin-top: 0in;" type="disc"&gt;&lt;li class="MsoNormal" style="text-align: justify;"&gt;POT header&lt;/li&gt;&lt;li class="MsoNormal" style="text-align: justify;"&gt;msgid-msgstr pairs&lt;/li&gt;&lt;/ul&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;POT header contains name and version of the package being translated, translator details, POT file creation and revision date, language team details and encoding scheme used.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;msgid variable contains the original English string that appears in the UI of an application and msgstr contains the corresponding translated string. You need to read the original string from msgid and type the corresponding translated string in Hindi. As simple as that!&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;b style=""&gt;&lt;span style="font-size:14;"&gt;&lt;span style="color: rgb(0, 153, 0);font-size:130%;" &gt;Using KBabel for translation&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;KBabel is one of the most powerful translation tools available. KBabel comes with a standard KDE installation. But if you are a geeky one you can download the latest version from &lt;span class="MsoHyperlink"&gt;&lt;a href="http://www.kde.org/"&gt;http://www.kde.org&lt;/a&gt;&lt;/span&gt;. It has a host of advanced features like full navigation capabilities, statistics function, spell checking, dictionary functionality, plural form support, automatic headers update, UTF-8 support, and a rough translation tool that can translate your files roughly by using a translation database. You can add items to the translation database by using already translated &lt;st1:place st="on"&gt;PO&lt;/st1:place&gt; files. KBabel also includes validation of translated strings, syntax check etc. You can also search for a particular word by selecting the word and clicking search, KBabel displays all the possible translations for that word. &lt;/p&gt;  &lt;p class="MsoNormal" style="background: rgb(255, 204, 153) none repeat scroll 0% 50%; text-align: justify; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shapetype id="_x0000_t75" coordsize="21600,21600" spt="75" preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"&gt;  &lt;v:stroke joinstyle="miter"&gt;  &lt;v:formulas&gt;   &lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;   &lt;v:f eqn="sum @0 1 0"&gt;   &lt;v:f eqn="sum 0 0 @1"&gt;   &lt;v:f eqn="prod @2 1 2"&gt;   &lt;v:f eqn="prod @3 21600 pixelWidth"&gt;   &lt;v:f eqn="prod @3 21600 pixelHeight"&gt;   &lt;v:f eqn="sum @0 0 1"&gt;   &lt;v:f eqn="prod @6 1 2"&gt;   &lt;v:f eqn="prod @7 21600 pixelWidth"&gt;   &lt;v:f eqn="sum @8 21600 0"&gt;   &lt;v:f eqn="prod @7 21600 pixelHeight"&gt;   &lt;v:f eqn="sum @10 21600 0"&gt;  &lt;/v:formulas&gt;  &lt;v:path extrusionok="f" gradientshapeok="t" connecttype="rect"&gt;  &lt;o:lock ext="edit" aspectratio="t"&gt; &lt;/v:shapetype&gt;&lt;v:shape id="_x0000_i1025" type="#_x0000_t75" style="'width:15.75pt;" filled="t"&gt;  &lt;v:fill color2="black" type="frame"&gt;  &lt;v:imagedata src="file:///C:\DOCUME~1\RAMAND~2\LOCALS~1\Temp\msohtml1\01\clip_image001.emz" title=""&gt; &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;!--[endif]--&gt;Tip&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;: &lt;/span&gt;&lt;span style="font-size:100%;"&gt;You need to fill-up the translation database before beginning translation for quick and consistent reference. For that you'll need &lt;st1:place st="on"&gt;PO&lt;/st1:place&gt; files of already translated applications. Just visit &lt;/span&gt;&lt;span class="MsoHyperlink"  style="font-size:100%;"&gt;&lt;a href="http://www.gnomebangalore.org/"&gt;http://www.gnomebangalore.org&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt; and request a free CD that consists of source code of GNOME, OpenOffice and Mono etc.&lt;/span&gt;&lt;i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;KBabel has a very good catalog manager which can be used for keeping track of translation of large projects like OpenOffice, GNOME etc. Just give the path of the top-level directory where you have put your translations. It shows the status of all the files of that project (translated, untranslated or fuzzy). Just click an untranslated file and start translating!&lt;/p&gt;    &lt;p class="MsoNormal" style="text-align: justify;"&gt;KBabelDict allows you to translate any text using KBabel capabilities for automated translation. The KBabel suite will help you to translate quickly and also to keep translations consistent. For convenience, KBabel window is divided into 4 parts:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;!--[if !supportLists]--&gt;The upper-left edit box is read-only and contains the current msgid field from the opened &lt;st1:place st="on"&gt;PO&lt;/st1:place&gt; file and its English text.&lt;/li&gt;&lt;li&gt;&lt;!--[if !supportLists]--&gt;The bottom-left edit box contains the msgstr field related to the msgid shown and here you can edit the translated text.&lt;/li&gt;&lt;li&gt;&lt;!--[if !supportLists]--&gt;&lt;!--[endif]--&gt;The top-right part of the window is a comments panel where you can view the comments added for the entry currently being edited.&lt;/li&gt;&lt;li&gt;&lt;!--[if !supportLists]--&gt;The bottom-right part of the window is the editor window. It has two tabbed panels-one storing search information, the other context information.&lt;/li&gt;&lt;/ul&gt;&lt;span style="color: rgb(255, 153, 0); font-weight: bold;"&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;Figure 3: KBabel GUI Interface&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_nEdxqN_6HF8/Rdk9v8mMlOI/AAAAAAAAAJk/c1yFW0DcdXo/s1600-h/kbabel.png"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_nEdxqN_6HF8/Rdk9v8mMlOI/AAAAAAAAAJk/c1yFW0DcdXo/s400/kbabel.png" alt="" id="BLOGGER_PHOTO_ID_5033121952492721378" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Read the KBabel Handbook for more details.  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify; font-weight: bold; color: rgb(0, 153, 0);"&gt;&lt;span style="font-size:130%;"&gt;Table: KBabel keyboard shortcuts&lt;/span&gt;&lt;/p&gt;&lt;table border="1" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="border: 1pt solid black; padding: 0in 5.4pt; background: rgb(255, 153, 0) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left;"&gt;&lt;b style=""&gt;Key&lt;/b&gt;&lt;/td&gt;&lt;td style="border: 1pt solid black; padding: 0in 5.4pt; background: rgb(255, 153, 0) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: left;"&gt;&lt;b style=""&gt;Description&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border: 1pt solid black; padding: 0in 5.4pt; background: rgb(255, 204, 153) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;  Page Up&lt;/td&gt;&lt;td style="border-style: none solid solid; border-color: -moz-use-text-color black black; border-width: medium 1pt 1pt; padding: 0in 5.4pt; background: rgb(255, 204, 153) none repeat scroll 0% 50%; width: 247.5pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top" width="330"&gt;Move to previous message&lt;/td&gt;&lt;/tr&gt;  &lt;tr style="page-break-inside: avoid;"&gt;   &lt;td style="border-style: none none solid solid; border-color: -moz-use-text-color -moz-use-text-color black black; border-width: medium medium 1pt 1pt; padding: 0in 5.4pt; width: 122.75pt;" valign="top" width="164"&gt;Page   Down&lt;/td&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color black black; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 247.5pt;" valign="top" width="330"&gt;Move to next message&lt;/td&gt;&lt;/tr&gt;&lt;tr style="page-break-inside: avoid;"&gt;   &lt;td style="border-style: none none solid solid; border-color: -moz-use-text-color -moz-use-text-color black black; border-width: medium medium 1pt 1pt; padding: 0in 5.4pt; background: rgb(255, 204, 153) none repeat scroll 0% 50%; width: 122.75pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top" width="164"&gt;   Ctrl+Page Up&lt;/td&gt;&lt;td style="border-style: none solid solid; border-color: -moz-use-text-color black black; border-width: medium 1pt 1pt; padding: 0in 5.4pt; background: rgb(255, 204, 153) none repeat scroll 0% 50%; width: 247.5pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top" width="330"&gt;Move to previous fuzzy message&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="page-break-inside: avoid;"&gt;   &lt;td style="border-style: none none solid solid; border-color: -moz-use-text-color -moz-use-text-color black black; border-width: medium medium 1pt 1pt; padding: 0in 5.4pt; width: 122.75pt;" valign="top" width="164"&gt;Ctrl+Page Down&lt;/td&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color black black; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 247.5pt;" valign="top" width="330"&gt;Move to next fuzzy message&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="page-break-inside: avoid;"&gt;   &lt;td style="border-style: none none solid solid; border-color: -moz-use-text-color -moz-use-text-color black black; border-width: medium medium 1pt 1pt; padding: 0in 5.4pt; background: rgb(255, 204, 153) none repeat scroll 0% 50%; width: 122.75pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top" width="164"&gt;   Alt+Page Up&lt;/td&gt;&lt;td style="border-style: none solid solid; border-color: -moz-use-text-color black black; border-width: medium 1pt 1pt; padding: 0in 5.4pt; background: rgb(255, 204, 153) none repeat scroll 0% 50%; width: 247.5pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top" width="330"&gt;Move to previous untranslated message&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="page-break-inside: avoid;"&gt;   &lt;td style="border-style: none none solid solid; border-color: -moz-use-text-color -moz-use-text-color black black; border-width: medium medium 1pt 1pt; padding: 0in 5.4pt; width: 122.75pt;" valign="top" width="164"&gt;Alt+Page Down&lt;/td&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color black black; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 247.5pt;" valign="top" width="330"&gt;Move to next untranslated message&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="page-break-inside: avoid;"&gt; &lt;td style="border-style: none none solid solid; border-color: -moz-use-text-color -moz-use-text-color black black; border-width: medium medium 1pt 1pt; padding: 0in 5.4pt; background: rgb(255, 204, 153) none repeat scroll 0% 50%; width: 122.75pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top" width="164"&gt;Shift+Page Up&lt;/td&gt;&lt;td style="border-style: none solid solid; border-color: -moz-use-text-color black black; border-width: medium 1pt 1pt; padding: 0in 5.4pt; background: rgb(255, 204, 153) none repeat scroll 0% 50%; width: 247.5pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top" width="330"&gt;Move to previous error message&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="page-break-inside: avoid;"&gt;&lt;td style="border-style: none none solid solid; border-color: -moz-use-text-color -moz-use-text-color black black; border-width: medium medium 1pt 1pt; padding: 0in 5.4pt; width: 122.75pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top" width="164"&gt;Shift+Page   Down&lt;/td&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color black black; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 247.5pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top" width="330"&gt;Move to next error message&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="page-break-inside: avoid;"&gt;   &lt;td style="border-style: none none solid solid; border-color: -moz-use-text-color -moz-use-text-color black black; border-width: medium medium 1pt 1pt; padding: 0in 5.4pt; background: rgb(255, 204, 153) none repeat scroll 0% 50%; width: 122.75pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top" width="164"&gt;Ctrl+Shift+Page Up&lt;/td&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color black black; border-width: medium 1pt 1pt; padding: 0in 5.4pt; background: rgb(255, 204, 153) none repeat scroll 0% 50%; width: 247.5pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top" width="330"&gt;Move   to previous fuzzy or untranslated message&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="page-break-inside: avoid;"&gt;   &lt;td style="border-style: none none solid solid; border-color: -moz-use-text-color -moz-use-text-color black black; border-width: medium medium 1pt 1pt; padding: 0in 5.4pt; width: 122.75pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top" width="164"&gt;   Ctrl+Shift+Page Down&lt;/td&gt; &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color black black; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 247.5pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top" width="330"&gt;Move   to next fuzzy or untranslated message&lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;Below is a step-by-step process of translating your first file:&lt;/p&gt;    &lt;p class="MsoNormal" style="margin-left: 14.15pt; text-align: justify; text-indent: -14.15pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;!--[endif]--&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Open KBabel, choose settings&gt;configure KBabel and enter your details.&lt;span style=""&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Open settings&gt;Translation Database and add &lt;st1:place st="on"&gt;PO&lt;/st1:place&gt; files of already translated packages to the database.&lt;/li&gt;&lt;li&gt;Open an untranslated file and click settings&gt;Rough Translation.&lt;/li&gt;&lt;li&gt;Now you only need to translate those strings that it fails to find in the database.&lt;/li&gt;&lt;li&gt;Change the keymap to Hindi, read the untranslated string (msgid) and write the translated string (msgstr) in Hindi.&lt;/li&gt;&lt;li&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Once you are done with the file do a spell check if you have one for Hindi, syntax check etc.&lt;/li&gt;&lt;li&gt;The header will be automatically updated once you save the file with .po extension.&lt;/li&gt;&lt;/ol&gt;            &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;b style=""&gt;&lt;span style="font-size:14;"&gt;&lt;span style="color: rgb(0, 153, 0);font-size:130%;" &gt;Running the Application&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;Once you have translated all the files of an application you need to build a PO compendium i.e. a PO file containing all translations extracted from a set of &lt;st1:place st="on"&gt;PO&lt;/st1:place&gt; files. You can use gettext utilities like msgcat and msgmerge for this purpose. Since an application requires MO files at runtime, you'll need to compile &lt;st1:place st="on"&gt;PO&lt;/st1:place&gt; file to MO file using the following command:&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;span style="background: silver none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;# &lt;b&gt;msgfmt &lt;filename.po&gt; -o &lt;filename.mo&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/filename.mo&gt;&lt;/filename.po&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;For Hindi language copy this MO file to /usr/share/locale/hi/LC_MESSAGES:&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;span style="background: silver none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;# &lt;b&gt;cp &lt;filename.mo&gt; /usr/share/locale/hi/LC_MESSAGES/&lt;o:p&gt;&lt;/o:p&gt;&lt;/filename.mo&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;To test an application set the global LANG variable to Hindi:&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;span style="background: silver none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;# &lt;b&gt;export LANG=hi_IN.UTF-8&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;Now, run the application from the same terminal and you'll be able to see the application in Hindi interface.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;So, now you have localized your first application, but wait, this is not even the tip of the iceberg. There are thousands of lines that need to be translated for each application and each Linux distro ships-in with thousands of applications. So, you can imagine what a mammoth task this is.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;In the beginning try translating small files and once you become comfortable with it move onto larger ones.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-size:14;"&gt;&lt;span style="color: rgb(0, 153, 0);font-size:130%;" &gt;Contributing&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;If you are keen to jump into the world of translations, it would be advisable to join one of the translation groups that are already doing the job rather than doing it alone. You can also subscribe to the mailing lists to keep in touch with other members of the group, take and offer help, know the status of translations, share files etc.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;span style=""&gt;            &lt;/span&gt;So, get going and use your translation skills for the benefit of non-English speaking open source community. &lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;b style=""&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0356186409540000";
google_ad_width = 234;
google_ad_height = 60;
google_ad_format = "234x60_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_color_border = "336699";
google_color_bg = "FFFFFF";
google_color_link = "0000FF";
google_color_text = "000000";
google_color_url = "008000";
//--&gt;&lt;/script&gt;
&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" 
 type="text/javascript"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2241282364506957767-7800869791552310200?l=funwithlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://funwithlinux.blogspot.com/feeds/7800869791552310200/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2241282364506957767&amp;postID=7800869791552310200' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2241282364506957767/posts/default/7800869791552310200'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2241282364506957767/posts/default/7800869791552310200'/><link rel='alternate' type='text/html' href='http://funwithlinux.blogspot.com/2007/02/linux-breaks-through-language-barrier.html' title='Linux Breaks Through the Language Barrier'/><author><name>montylee</name><uri>http://www.blogger.com/profile/07441705066139291593</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_nEdxqN_6HF8/SpiEwKLc-SI/AAAAAAAAFOU/tgSQZGFnIRc/S220/Tux-G2.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_nEdxqN_6HF8/RddFJQ3OPLI/AAAAAAAAAIc/nunRKD2IQ5o/s72-c/l10n.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2241282364506957767.post-7995362233188339445</id><published>2007-02-11T19:06:00.000+05:30</published><updated>2007-02-19T15:57:36.234+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Get the Better of Memory Leaks with Valgrind'/><title type='text'>Get the Better of Memory Leaks with Valgrind</title><content type='html'>&lt;style type="text/css"&gt;!--   @page { size: 8.5in 11in; margin: 0.79in }   P { margin-bottom: 0.08in }  --&gt;&lt;/style&gt;This article was published in the &lt;span style="font-weight: bold;"&gt;"Linux For You"&lt;/span&gt; magazine in February, 2006.&lt;p style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://valgrind.org/images/st-george-dragon.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px;" src="http://valgrind.org/images/st-george-dragon.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="color: rgb(0, 153, 0);font-size:180%;" &gt;&lt;span style="font-weight: bold;"&gt;M&lt;/span&gt;&lt;/span&gt;emory leaks can cause problems and bugs in software which can be hard to detect. In this article we shall discuss Valgrind--an open source tool that helps you to detect and fix memory leaks in your applications.&lt;br /&gt;&lt;/p&gt;&lt;div&gt;   &lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);font-size:180%;" &gt;&lt;span style="font-weight: bold;"&gt;M&lt;/span&gt;&lt;/span&gt;odern software development techniques employ great innovation. Extreme care is taken to ensure that the code written performs well, whether it is on the User Interface (GUI) front, features or performance front. With the rapid advent of applications that are being developed and ported on GNU/Linux platform, it becomes essential for a GNU/Linux developer to develop software which caters to the user’s need and performs well on a variety of hardware--almost the entire gamut of hardware that GNU/Linux runs on.&lt;br /&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt; With the embedded domain on GNU/Linux really catching up and the growing number of applications being developed for embedded devices like mobiles, PDAs, gaming consoles etc., it has become essential to have software which utilizes the limited memory available on these systems and makes best use of it.&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt; In spite of great care being taken for developing quality software, developers being humans, are bound to err. This results in bugs in the software. One such bug which can cause problems on PC and spell catastrophe in embedded devices is a “Memory Leak”.&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt; In this article, we shall discuss about a free and open-source tool called Valgrind, with which you can easily detect and fix memory leaks in your applications.&lt;/p&gt;   &lt;p&gt;&lt;span style="color: rgb(0, 153, 0);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;What Exactly is a Memory Leak?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;According to Valgrind manual: A memory leak is a part of memory that has been allocated but not freed after its usage or when pointer to a memory allocation is deleted, thereby making the memory unusable. The more often this memory leak occurs the more valuable memory will be wasted and taken away from other processes thereby affecting the whole system. If your applications’ usage exceeds the virtual memory size, it will crash the system.&lt;/div&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt; According to Valgrind manual, some of the common memory related errors are:&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;Use of uninitialized memory.&lt;/li&gt;&lt;li&gt;Reading/writing memory after it has been freed.&lt;/li&gt;&lt;li&gt;Reading/writing off the end of malloced blocks.&lt;/li&gt;&lt;li&gt;Reading/writing inappropriate areas on the stack.&lt;/li&gt;&lt;li&gt;Memory leaks – where pointers to malloced blocks are lost    forever.&lt;/li&gt;&lt;li&gt;Mismatched use of malloc/new/new[] vs free/delete/delete[].&lt;/li&gt;&lt;li&gt;Some misuses of the POSIX pthreads API.&lt;/li&gt;&lt;/ul&gt;                              &lt;p&gt;&lt;span style="color: rgb(0, 153, 0);font-size:130%;" &gt;&lt;b&gt;Memory leak detection tools&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;Various tools are available for detecting memory leaks and other bugs in your programs. The most popular and well known tools are Purify (IBM) and Valgrind. IBM’s Purify runs on GNU/Linux and Windows but is proprietary and expensive. Being tux lovers we shall focus on a free, open-source memory-leak detection tool called Valgrind.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;   &lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span style="color: rgb(0, 153, 0);font-size:130%;" &gt;&lt;b&gt;Displaying Virtual Memory (VM) usage&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;To begin with, let’s check out the memory usage of your application using a commonly used utility ‘ps’ available on all *nix platforms.&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt; ‘ps’ command displays the process status. Using the various options available with it, it can be used for displaying an application’s process-id, memory usage, cpu-utilization etc. For example, to display the process name, process id and VM usage of currently running applications in the shell, following command should be used:&lt;/p&gt;&lt;p style="background: rgb(192, 192, 192) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;$ ps -o cmd,pid,vsize&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt;Numerous options for the ‘ps’ command are available through which you can view resource utilization of an application.&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt;If you have installed GNOME, you can use ‘&lt;i&gt;gnome-system-monitor&lt;/i&gt;’ command to view the process id, VM usage etc. in a GUI window.&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt;Using the above you can check the VM usage of your application, but to dig deep inside your code for memory leaks, you need Valgrind.&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="background: rgb(255, 204, 153) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: justify;"&gt;&lt;i&gt;&lt;b&gt;Tip&lt;/b&gt;: You can also use 'vmstat' command to display the VM usage of your applications.&lt;/i&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;   &lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span style="color: rgb(0, 153, 0);font-size:130%;" &gt;&lt;b&gt;Getting and installing Valgrind&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;You can download the latest version of Valgrind from this month’s LFY CD or from &lt;a style="color: rgb(0, 0, 153);" href="http://valgrind.org/downloads/source_code.html"&gt;http://valgrind.org/downloads/source_code.html&lt;/a&gt;.&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p style="text-align: justify;"&gt;For installing Valgrind first extract it, using:&lt;br /&gt;&lt;span style="background: rgb(192, 192, 192) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;$ tar –jxvf valgrind-version.tar.bz2&lt;br /&gt;$ cd valgrind-version&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;div style="text-align: justify;"&gt;   &lt;/div&gt;&lt;p style="text-align: justify;"&gt;Follow the three well-known steps:&lt;br /&gt;&lt;span style="background: rgb(192, 192, 192) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;$ ./configure&lt;br /&gt;$ make&lt;br /&gt;$ make install&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p style="text-align: justify;"&gt;This would install Valgrind onto your system.&lt;/p&gt;&lt;div style="text-align: justify;"&gt;   &lt;/div&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span style="color: rgb(0, 153, 0);font-size:130%;" &gt;&lt;b&gt;Using Valgrind&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;To check your application for memory leaks, place valgrind before the application name while executing the application.&lt;br /&gt;&lt;span style="background: rgb(192, 192, 192) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;$ valgrind &lt;application-name&gt;&lt;/application-name&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt;Valgrind can be used on existing GNU/Linux commands, for example:&lt;br /&gt;&lt;span style="background: rgb(192, 192, 192) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;$ valgrind ps&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt;This will display the ‘ps’ command output along with detailed report by valgrind.&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p style="text-align: justify;"&gt;Valgrind includes various tools which can be used for detecting different types of problems. These are:&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;memcheck: checks for memory leaks, accesses to    uninitialized memory etc.&lt;/li&gt;&lt;li&gt;addrcheck: similar to memcheck but doesn't perform thorough    memory checking, runs faster and uses less memory than memcheck.&lt;/li&gt;&lt;li&gt;cachegrind: cachegrind is a cache simulator.&lt;/li&gt;&lt;li&gt;massif: massif is a heap profiler.&lt;/li&gt;&lt;li&gt;lackey: lackey is a sample tool that can be used as a    template for generating your own tools.&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;                    &lt;/div&gt;&lt;p style="background: rgb(255, 204, 153) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: justify;"&gt;&lt;i&gt;Tip: You can check out the Valgrind man page for more details and options.&lt;/i&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt;To specify the tool to be used, enter the following command:&lt;br /&gt;&lt;span style="background: rgb(192, 192, 192) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;$ valgrind --tool=&lt;toolname&gt; &lt;application-name&gt;&lt;/application-name&gt;&lt;/toolname&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt;For e.g. for using the memcheck tool on an application a.out, the command would be:&lt;br /&gt;&lt;span style="background: rgb(192, 192, 192) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;$ valgrind --tool=memcheck ./a.out&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;   &lt;/div&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;b&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);font-size:130%;" &gt;Suppressing errors&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;Valgrind, by default reports errors in all programs/libraries installed on your GNU/Linux system on which your application is dependent. Since, we are interested in our own application; we can easily suppress these errors by creating a .supp file and giving its path while running Valgrind. Valgrind reads this file at startup and suppresses errors having entry is in the .supp file.&lt;br /&gt;&lt;span style="background: rgb(192, 192, 192) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;$ valgrind --suppressions=./suppfile.supp &lt;application-name&gt;&lt;/application-name&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p style="background: rgb(255, 204, 153) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: justify;"&gt;&lt;i&gt;&lt;b&gt;Tip&lt;/b&gt;: Details about the format of suppression files can be found in the Valgrind manual.&lt;/i&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span style="color: rgb(0, 153, 0);font-size:130%;" &gt;&lt;b&gt;A simple example using Valgrind&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;Let’s explore the beauty of Valgrind using a simple example given below (Listing 1):&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;p&gt;&lt;span style="font-weight: bold;"&gt;--------------------------------CODE-----------------------------&lt;/span&gt;  &lt;/p&gt;          &lt;p&gt;&lt;span style="background: rgb(192, 192, 192) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="font-weight: bold;"&gt;Listing 1:&lt;/span&gt;&lt;br /&gt;#include &lt;stdio.h&gt;&lt;br /&gt;#include &lt;string.h&gt;&lt;br /&gt;int main()&lt;br /&gt;{&lt;br /&gt;char *p = (char *)malloc(20*sizeof(char));&lt;br /&gt;strcpy(p, “linux rocks!”);&lt;br /&gt;printf(“%s\n”, p);&lt;br /&gt;return 0;&lt;br /&gt;}&lt;/string.h&gt;&lt;/stdio.h&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-weight: bold;"&gt;--------------------------------CODE-----------------------------&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;  &lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt;In this program, we have allocated a memory of 20 bytes but it is not freed before the program exits. Let’s &lt;span lang="en-US"&gt;analyze&lt;/span&gt; this program using Valgrind.&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt;Compile this program using the following command:&lt;br /&gt;&lt;span style="background: rgb(192, 192, 192) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;$ gcc -g -o listing1 listing1.c&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt;Run the program using valgrind:&lt;br /&gt;&lt;span style="background: rgb(192, 192, 192) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;$ valgrind --tool=memcheck ./listing1&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt;This will display a brief memory leak summary about our program:&lt;/p&gt;&lt;div style="text-align: justify;"&gt;    &lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span style="background: rgb(192, 192, 192) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;ERROR SUMMARY: 0 errors from 0 contexts (suppressed 18 from 1)&lt;br /&gt;malloc/free: in use at exit: 20 bytes in 1 blocks.&lt;br /&gt;malloc/free: 1 allocs, 0 frees, 20 bytes allocated.&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;      &lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span style="background: rgb(192, 192, 192) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;LEAK SUMMARY:&lt;br /&gt;definitely lost: 20 bytes in 1 blocks.&lt;br /&gt;possibly lost:     0 bytes in 0 blocks.&lt;br /&gt;still reachable: 0 bytes in 0 blocks.&lt;br /&gt;suppressed: 0 bytes in 0 blocks.&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p style="text-align: justify;"&gt;The memory leak summary clearly displays that we have allocated 20 bytes using malloc() but we haven’t freed the memory after use. The above memory leak summary is very brief and doesn’t display the source-code where we have allocated the memory. For detailed memory-leak report, plug-in the following command:&lt;br /&gt;&lt;span style="background: rgb(192, 192, 192) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;$ valgrind --tool=memcheck --leak-check=full ./listing1&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p style="text-align: justify;"&gt;This command displays the following output:&lt;/p&gt;&lt;div style="text-align: justify;"&gt;    &lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span style="background: rgb(192, 192, 192) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;ERROR SUMMARY: 0 errors from 0 contexts (suppressed 18 from 1)&lt;br /&gt;malloc/free: in use at exit: 20 bytes in 1 blocks.&lt;br /&gt;malloc/free: 1 allocs, 0 frees, 20 bytes allocated.&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;    &lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span style="background: rgb(192, 192, 192) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;20 bytes in 1 blocks are definitely lost in loss record 1 of 1&lt;br /&gt;at 0x1B8FEA35: malloc (vg_replace_malloc.c:149)&lt;br /&gt;by 0x8048375: main (listing1.c:4)&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;      &lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span style="background: rgb(192, 192, 192) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;LEAK SUMMARY:&lt;br /&gt;definitely lost: 20 bytes in 1 blocks.&lt;br /&gt;possibly lost:     0 bytes in 0 blocks.&lt;br /&gt;still reachable: 0 bytes in 0 blocks.&lt;br /&gt;suppressed: 0 bytes in 0 blocks&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p style="text-align: justify;"&gt;From the above output we can conclude that 20 bytes of memory was allocated in listing1.c at line 4 but was not freed after use. So, the correct code would be:&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;p&gt;&lt;span style="font-weight: bold;"&gt;--------------------------------CODE-----------------------------&lt;/span&gt;  &lt;/p&gt;           &lt;p&gt;&lt;span style="background: rgb(192, 192, 192) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;Listing 2:&lt;br /&gt;#include &lt;stdio.h&gt;&lt;br /&gt;#include &lt;string.h&gt;&lt;br /&gt;int main()&lt;br /&gt;{&lt;br /&gt;char *p = (char *)malloc(20*sizeof(char)); /* Allocate 20 bytes of memory */&lt;br /&gt;strcpy(p, “linux rocks!”);&lt;br /&gt;printf(“%s\n”, p);&lt;br /&gt;free(p);                                                          /* Free the allocated memory */&lt;br /&gt;return 0;&lt;br /&gt;}&lt;/string.h&gt;&lt;/stdio.h&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-weight: bold;"&gt;--------------------------------CODE-----------------------------&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;  &lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt;The Valgrind output for the above program is:&lt;/p&gt;&lt;div style="text-align: justify;"&gt;    &lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span style="background: rgb(192, 192, 192) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;ERROR SUMMARY: 0 errors from 0 contexts (suppressed 18 from 1)&lt;br /&gt;malloc/free: in use at exit: 0 bytes in 0 blocks.&lt;br /&gt;malloc/free: 1 allocs, 1 frees, 20 bytes allocated.&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p style="text-align: justify;"&gt;The above output indicates that all the allocates memory has been freed and there are no memory leaks in the application.&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt;You can also save the Valgrind output to a log file and view the memory leak details using a graphical front-end such as Alleyoop as shown in the following figure:&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span style="color: rgb(0, 153, 0);font-size:100%;" &gt;&lt;span style="font-weight: bold;"&gt;Figure: Memory Leak Usage using Alleyoop&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_nEdxqN_6HF8/Rdl6ecmMlRI/AAAAAAAAAKI/P7L_begyX3o/s1600-h/Alleyoop.png"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_nEdxqN_6HF8/Rdl6ecmMlRI/AAAAAAAAAKI/P7L_begyX3o/s400/Alleyoop.png" alt="" id="BLOGGER_PHOTO_ID_5033188722054305042" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt;So, by using Valgrind and various tools available with it, you can easily detect and fix memory leaks and other memory-related bugs in your applications.&lt;/p&gt;&lt;div style="text-align: justify;"&gt;   &lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span style="color: rgb(0, 153, 0);font-size:130%;" &gt;&lt;b&gt;Advantages of Valgrind&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;Valgrind currently supports all major GNU/Linux distributions on x86 architecture. Some of its benefits include:&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;Valgrind works directly with executables, so there is no need  to modify, recompile or relink your applications.&lt;/li&gt;&lt;li&gt;Valgrind can be used to debug small as well as large  applications.&lt;/li&gt;&lt;li&gt;Valgrind can be used with other tools like GDB (GNU  Debugger), KDevelop (as a &lt;span lang="en-US"&gt;plug-in&lt;/span&gt;).&lt;/li&gt;&lt;li&gt;It can be used with almost any kind of software written in  any language.&lt;/li&gt;&lt;li&gt;It can be used as a platform for writing new debugging tools.&lt;/li&gt;&lt;li&gt;Valgrind is free, open-source and available under GPL 2.&lt;/li&gt;&lt;li&gt;Several graphical front-ends are available for Valgrind, some  of which include Alleyoop, Valgui, GNUGrind, KDevelop (with Valgrind  as a plug-in)&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;                &lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span style="color: rgb(0, 153, 0);font-size:130%;" &gt;&lt;b&gt;Limitations of Valgrind&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;Every software has some limitations and Valgrind is no exception.&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;Application runs 25 to 50 times slower through Valgrind.&lt;/li&gt;&lt;li&gt;Memory consumption is increased while running the application  through Valgrind.&lt;/li&gt;&lt;li&gt;Highly optimized code can sometimes cheat Valgrind.&lt;/li&gt;&lt;li&gt;Works only on GNU/Linux, x86 platforms.&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;           &lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span style="color: rgb(0, 153, 0);font-size:130%;" &gt;&lt;b&gt;Summary&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;Memory related bugs in software can be hard to detect and fix. Using Valgrind and various graphical front-ends available with it, you can easily detect and fix memory leaks in your application. Efficient utilization of memory, especially on embedded systems is a must and Valgrind allows you to achieve just that!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0356186409540000";
google_ad_width = 234;
google_ad_height = 60;
google_ad_format = "234x60_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_color_border = "336699";
google_color_bg = "FFFFFF";
google_color_link = "0000FF";
google_color_text = "000000";
google_color_url = "008000";
//--&gt;&lt;/script&gt;
&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" 
 type="text/javascript"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2241282364506957767-7995362233188339445?l=funwithlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://funwithlinux.blogspot.com/feeds/7995362233188339445/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2241282364506957767&amp;postID=7995362233188339445' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2241282364506957767/posts/default/7995362233188339445'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2241282364506957767/posts/default/7995362233188339445'/><link rel='alternate' type='text/html' href='http://funwithlinux.blogspot.com/2007/02/detecting-memory-leaks-in-gnulinux.html' title='Get the Better of Memory Leaks with Valgrind'/><author><name>montylee</name><uri>http://www.blogger.com/profile/07441705066139291593</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_nEdxqN_6HF8/SpiEwKLc-SI/AAAAAAAAFOU/tgSQZGFnIRc/S220/Tux-G2.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_nEdxqN_6HF8/Rdl6ecmMlRI/AAAAAAAAAKI/P7L_begyX3o/s72-c/Alleyoop.png' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
