<?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-7961470268390569807</id><updated>2011-11-27T16:44:39.914-08:00</updated><category term='globalmenu'/><category term='rsync'/><category term='mac'/><category term='structured'/><category term='os x'/><category term='sms gateway kannel huawei E220'/><category term='backups'/><category term='multiseat dual-head grapic terminal low cost'/><category term='advanced'/><category term='incremental'/><category term='multiseat multi terminal resource constrained low cost'/><category term='acer aspire 2930 oss-linux sound mic jak solved'/><category term='gnome'/><title type='text'>| සටභන් පොත | Note book |</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>62</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-1284314785949440972</id><published>2010-06-10T07:01:00.000-07:00</published><updated>2010-06-10T07:01:25.295-07:00</updated><title type='text'>Sinhala hangman</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_5e88KWjsOls/TBDvhiAxsGI/AAAAAAAAAU0/j8zWAwZijA8/s1600/Screenshot-%E0%B7%80%E0%B6%A0%E0%B6%B1+%E0%B7%84%E0%B6%BB%E0%B6%B9+%5B%E0%B7%80%E0%B7%92%E0%B6%AF%E0%B7%8A%E0%B6%BA%E0%B7%8F%E0%B7%80%5D.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_5e88KWjsOls/TBDvhiAxsGI/AAAAAAAAAU0/j8zWAwZijA8/s320/Screenshot-%E0%B7%80%E0%B6%A0%E0%B6%B1+%E0%B7%84%E0%B6%BB%E0%B6%B9+%5B%E0%B7%80%E0%B7%92%E0%B6%AF%E0%B7%8A%E0%B6%BA%E0%B7%8F%E0%B7%80%5D.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Sinhala hangman;&lt;br /&gt;A word game to improve sinhala word power&lt;br /&gt;Source, Debina package and Windows package can be downloaded here:&lt;br /&gt;&lt;a href="http://code.google.com/p/hangman-si/downloads/list"&gt;http://code.google.com/p/hangman-si/downloads/list&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-1284314785949440972?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/1284314785949440972/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2010/06/sinhala-hangman.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/1284314785949440972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/1284314785949440972'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2010/06/sinhala-hangman.html' title='Sinhala hangman'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_5e88KWjsOls/TBDvhiAxsGI/AAAAAAAAAU0/j8zWAwZijA8/s72-c/Screenshot-%E0%B7%80%E0%B6%A0%E0%B6%B1+%E0%B7%84%E0%B6%BB%E0%B6%B9+%5B%E0%B7%80%E0%B7%92%E0%B6%AF%E0%B7%8A%E0%B6%BA%E0%B7%8F%E0%B7%80%5D.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-1855728336357261479</id><published>2010-06-08T23:21:00.000-07:00</published><updated>2010-06-08T23:21:25.200-07:00</updated><title type='text'>xmms-1 is still the best</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_5e88KWjsOls/TA8xyuRbtzI/AAAAAAAAAUs/hYwONQ5Ze9g/s1600/xmms.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_5e88KWjsOls/TA8xyuRbtzI/AAAAAAAAAUs/hYwONQ5Ze9g/s320/xmms.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;xmms-1 is still can be found here&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;a href="http://www.pvv.ntnu.no/~knuta/xmms/"&gt;http://www.pvv.ntnu.no/~knuta/xmms/&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;eq-xmms (high quality equalizer) can be found here&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://sourceforge.net/projects/equ/files/"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;http://sourceforge.net/projects/equ/files/&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-1855728336357261479?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/1855728336357261479/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2010/06/xmms-1-is-still-best.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/1855728336357261479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/1855728336357261479'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2010/06/xmms-1-is-still-best.html' title='xmms-1 is still the best'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_5e88KWjsOls/TA8xyuRbtzI/AAAAAAAAAUs/hYwONQ5Ze9g/s72-c/xmms.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-4762642559931195414</id><published>2010-06-06T05:27:00.001-07:00</published><updated>2010-11-22T16:47:51.140-08:00</updated><title type='text'>MySQL copy table from one database to another</title><content type='html'>&lt;p&gt;&lt;strong&gt;w/o data:&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;CREATE TABLE &amp;lt;db2&amp;gt;.&amp;lt;table2&amp;gt; LIKE &amp;lt;db1&amp;gt;&amp;lt;table1&amp;gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;with data:&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;CREATE TABLE &amp;lt;db2&amp;gt;.&amp;lt;table2&amp;gt; SELECT * FROM &amp;lt;db1&amp;gt;&amp;lt;table1&amp;gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;rename:&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;RENAME TABLE &amp;lt;table1&amp;gt; TO &amp;lt;table2&amp;gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-4762642559931195414?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/4762642559931195414/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2010/06/mysql-copy-table-from-one-database-to.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/4762642559931195414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/4762642559931195414'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2010/06/mysql-copy-table-from-one-database-to.html' title='MySQL copy table from one database to another'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-1532447236184648508</id><published>2010-06-06T05:27:00.000-07:00</published><updated>2010-11-22T16:14:04.219-08:00</updated><title type='text'>Importing .bib file and using bibliography database in OpenOffice</title><content type='html'>&lt;p&gt;Importing .bib file and using bibliography database in OpenOffice&lt;/p&gt;&lt;p&gt;1) Download JabRef-2.6.jar from http://sourceforge.net/projects/jabref/&lt;/p&gt;&lt;p&gt;2) Start jabref with:&lt;/p&gt;&lt;p&gt;java -jar JabRef-2.6.jar&lt;/p&gt;&lt;p&gt;3) open .bib file and export it in to .ods format&lt;/p&gt;&lt;p&gt;From JabRef, export your database using the .ods format&lt;/p&gt;&lt;p&gt;4) Start OpenOffice.org Writer and Choose Edit -&amp;gt; Change database. Click on Select, and select your database exported to the .ods format.&lt;/p&gt;&lt;p&gt;5) Unfold the + located in front of the name of the imported database, then click on the displayed filename, and, finally, on the button Define.&lt;/p&gt;&lt;p&gt;6) Choose Tools -&amp;gt; Options -&amp;gt; OpenOffice.org Base -&amp;gt; Database. In this window, the database you just imported should be displayed. The default OOo bibliographic database should also be displayed (Bibliography).&lt;/p&gt;&lt;p&gt;7) Edit the Bibliography database, and alter its name, such as Bibliography-old (in fact, OpenOffice.org Writer does not allow selecting several bibliographic databases).&lt;/p&gt;&lt;p&gt;8) Select your bibliographic database, edit it, and rename it Bibliography (pay a special attention to the capital letter at the beginning of the name).&lt;/p&gt;&lt;p&gt;9) After these steps, your bibliographic database should be ready for use with OpenOffice.org. To check about it, choose Insert -&amp;gt; Index -&amp;gt; Bibliographic entry...: the list of the BibTeX keys should be displayed.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;REF: http://jabref.sourceforge.net/help/OpenOfficeHelp.php&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-1532447236184648508?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/1532447236184648508/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2010/06/importing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/1532447236184648508'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/1532447236184648508'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2010/06/importing.html' title='Importing .bib file and using bibliography database in OpenOffice'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-3976022974569211697</id><published>2010-06-05T18:47:00.000-07:00</published><updated>2010-11-22T16:14:35.440-08:00</updated><title type='text'>Send mail from gmail command line</title><content type='html'>&lt;p&gt;Download this python script,  make it executable and copy to /usr/bin/&lt;/p&gt;&lt;p&gt;http://automationscripts.googlecode.com/svn/trunk/gmail.py&lt;/p&gt;&lt;p&gt;Now try gmail.py in your terminal&lt;/p&gt;&lt;p&gt;gmail.py -h for information&lt;/p&gt;&lt;p&gt;Credits to: http://www.h3manth.com/content/send-mail-gmail-programatically-python&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-3976022974569211697?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/3976022974569211697/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2010/06/send-mail-from-gmail-command-line.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/3976022974569211697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/3976022974569211697'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2010/06/send-mail-from-gmail-command-line.html' title='Send mail from gmail command line'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-7895536612123179952</id><published>2010-06-03T20:07:00.000-07:00</published><updated>2010-11-22T16:15:07.915-08:00</updated><title type='text'>Command line working with bluetooth</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Passing the key using a configuration is not likely to work with gnome.&lt;/p&gt;&lt;p&gt;This is the given procedure:&lt;/p&gt;&lt;p&gt;1) Create a config file at /etc/bluetooth/ called hcid.conf (I think it can be&lt;/p&gt;&lt;p&gt;any name but in the given directory) which will include:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;options {&lt;/p&gt;&lt;p&gt;autoinit yes;&lt;/p&gt;&lt;p&gt;security user;&lt;/p&gt;&lt;p&gt;pairing multi;&lt;/p&gt;&lt;p&gt;#passkey "1234";&lt;/p&gt;&lt;p&gt;pin_helper /opt/pin_helper.sh;&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;2) /opt/pin_helper.sh code will just echo PIN:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;#!/bin/bash&lt;/p&gt;&lt;p&gt;echo "PIN:1234"&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;3) Some people have used passkey option to pass the PIN&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;4) If bluetoothd is running (/etc/init.d/bluetooth [start|stop] ) it will&lt;/p&gt;&lt;p&gt;bring up the hardware when it plugged. else use:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;hciconfig hci0 up ( like in ifconfig, check the device with hcitool dev)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;5) then scan for the visible bluetooth hosts:&lt;/p&gt;&lt;p&gt;hcitool scan&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;6) Now using obexftp, files can be transfered (obexftpd should be running at&lt;/p&gt;&lt;p&gt;the other end: obexftpd -b -c /tmp/)&lt;/p&gt;&lt;p&gt;eg:&lt;/p&gt;&lt;p&gt;obexftp -b 00:16:20:60:7C:36 -c / -l&lt;/p&gt;&lt;p&gt;obexftp -b 00:16:20:60:7C:36 -c /Pictures -g picture1.jpg&lt;/p&gt;&lt;p&gt;obexftp -b 00:16:20:60:7C:36 -c /Pictures -p file.jpg&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;6) If obexftp require PIN and if you are running bluetoothd and bluetooth-&lt;/p&gt;&lt;p&gt;applet, applet will prompt for the key to be enterd.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;7) If any one or all of bluetoothd and bluetooth-applet are not running we&lt;/p&gt;&lt;p&gt;have to start an agent manually:&lt;/p&gt;&lt;p&gt;bluetooth-agent&lt;/p&gt;&lt;p&gt;8) Then the obexftp can be used&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Appendix:useful commands&lt;/p&gt;&lt;p&gt;Find services and related channels provided by the other end:&lt;/p&gt;&lt;p&gt;sdptool browse 2C:81:58:C1:CD:19&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Ping the device(check for the link quality):&lt;/p&gt;&lt;p&gt;l2ping 2C:81:58:C1:CD:19&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Create a connection for other purposes(audio,printing,modem...) instead of&lt;/p&gt;&lt;p&gt;file transfer:&lt;/p&gt;&lt;p&gt;rfcomm connect 0 00:1B:59:1F:93:7D 6&lt;/p&gt;&lt;p&gt;rfcomm connect  /dev/rfcomm0)&amp;gt;&lt;/p&gt;&lt;p&gt;hidd --connect 00:1B:59:1F:93:7D&lt;/p&gt;&lt;p&gt;hcitool cc 00:1B:59:1F:93:7D&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-7895536612123179952?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/7895536612123179952/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2010/06/command-line-working-with-bluetooth.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/7895536612123179952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/7895536612123179952'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2010/06/command-line-working-with-bluetooth.html' title='Command line working with bluetooth'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-2510608147786811822</id><published>2010-06-02T19:59:00.000-07:00</published><updated>2010-06-02T21:33:49.550-07:00</updated><title type='text'>Light weight gnome mac os x leopard look &amp; feel (for Debian sid and other compatible)</title><content type='html'>&lt;div class="" style="clear: both; text-align: center;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_5e88KWjsOls/TAcwSgNvkeI/AAAAAAAAAUk/P-tywngoPMU/s1600/Screenshot-1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_5e88KWjsOls/TAcwSgNvkeI/AAAAAAAAAUk/P-tywngoPMU/s320/Screenshot-1.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;b&gt;Themes and fonts&lt;/b&gt;&lt;br /&gt;imetal gtk+metacity &lt;a href="http://gnome-look.org/content/show.php/imetal?content=63734"&gt;theme&lt;/a&gt;&lt;br /&gt;MacUltimate_Leopard &lt;a href="http://gnome-look.org/content/show.php/MacUltimate+Leopard?content=82844"&gt;icon theme&lt;/a&gt;&lt;br /&gt;Lucida Grande, Bitstream Vera &lt;a href="https://mac4lin.svn.sourceforge.net/svnroot/mac4lin/Fonts/Fonts/"&gt;fonts&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;deb packages&lt;/b&gt;&lt;br /&gt;xcompmgr&lt;br /&gt;docky&lt;br /&gt;cairo-clock&lt;br /&gt;gnome-applet-globalmenu&lt;br /&gt;REPO: &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;deb http://ppa.launchpad.net/globalmenu-team/ppa/ubuntu/ lucid main&lt;/span&gt;&lt;br /&gt;deskbar-applet&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;apt-get install&amp;nbsp; xcompmgr docky cairo-clock gnome-applet-globalmenu&amp;nbsp;deskbar-applet&lt;/div&gt;&lt;br /&gt;&lt;a href="https://mac4lin.svn.sourceforge.net/svnroot/mac4lin/Fonts/Fonts/"&gt;&lt;/a&gt;&lt;br /&gt;&lt;b&gt;add xcompmgr docky cairo-clock to 'Startup Applications'&lt;/b&gt;&lt;br /&gt;&lt;a href="https://mac4lin.svn.sourceforge.net/svnroot/mac4lin/Fonts/Fonts/"&gt;&lt;/a&gt;&lt;br /&gt;xcompmgr could start with:&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;xcompmgr -c -I 0.02 -O 0.02 -D 3&amp;nbsp; -f -F -r 15 -o .3 -l -18 -t -18&lt;/span&gt;&lt;br /&gt;for more beauty...&lt;br /&gt;&lt;a href="https://mac4lin.svn.sourceforge.net/svnroot/mac4lin/Fonts/Fonts/"&gt;&lt;/a&gt;&lt;br /&gt;&lt;b&gt;add gnome-applet-globalmenu and deskbar-applet to your panel&lt;/b&gt;&lt;br /&gt;&lt;a href="https://mac4lin.svn.sourceforge.net/svnroot/mac4lin/Fonts/Fonts/"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-2510608147786811822?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/2510608147786811822/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2010/06/gnome-imitate-mac-os-x-leopard-imetal.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/2510608147786811822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/2510608147786811822'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2010/06/gnome-imitate-mac-os-x-leopard-imetal.html' title='Light weight gnome mac os x leopard look &amp; feel (for Debian sid and other compatible)'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_5e88KWjsOls/TAcwSgNvkeI/AAAAAAAAAUk/P-tywngoPMU/s72-c/Screenshot-1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-1089432473137798776</id><published>2010-03-05T19:45:00.000-08:00</published><updated>2010-04-11T07:40:13.851-07:00</updated><title type='text'>Use GKrellKam to displays random web thumbnails on desktop</title><content type='html'>We are going to use google search to select a category of random images to display through&lt;a href="http://gkrellkam.sourceforge.net/"&gt; gkrellkam&lt;/a&gt;&amp;nbsp;and set the selected image as the wallpaper&lt;br /&gt;&lt;br /&gt;INSTALL:&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;apt-get install gkrellm gkrellkam curl gconf2 hindent&amp;nbsp;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre;"&gt;gpicview imagemagick&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;CONFIGURATION:&lt;br /&gt;1. Copy both scripts to opt &amp;nbsp;as&amp;nbsp;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;/opt/google_images.sh,&lt;/span&gt;&amp;nbsp;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;/opt/local_images.sh&lt;/span&gt;&amp;nbsp;make them executable (&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;chmod +x&lt;/span&gt;&amp;nbsp;)&amp;nbsp;and download bellow image and save it as &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;/opt/no_image.png. &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;This image will show when there is a problem retrieving the images.&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_5e88KWjsOls/S8He8mniZTI/AAAAAAAAAUM/LvKbAQ4MJHE/s1600/no_image.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_5e88KWjsOls/S8He8mniZTI/AAAAAAAAAUM/LvKbAQ4MJHE/s320/no_image.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;2. Start gkrellm and gkrellkam and right-click on the plugin... Configuration window of gkrellkam will occur.&lt;br /&gt;&lt;br /&gt;3. Set the 'Image source' as following:&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;[path to google_images.sh] [search+string]::[site]&lt;/span&gt;&lt;br /&gt;spaces of the search string should be combined with '+' sign&lt;br /&gt;eg:&amp;nbsp;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;/opt/google_images.sh "land::nationalgeographic.com"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_5e88KWjsOls/S5HOH6tTAOI/AAAAAAAAATE/hoIiQIBmmOY/s1600-h/gkrellkam.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_5e88KWjsOls/S5HOH6tTAOI/AAAAAAAAATE/hoIiQIBmmOY/s320/gkrellkam.png" /&gt;&lt;/a&gt;&lt;/div&gt;4. In 'Options' tab set 'Path to image viewer program' similar to 'Image source' above. You can copy and paste it&lt;br /&gt;[&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;[path to google_images.sh] [search+string]::[site]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_5e88KWjsOls/S5HOz5Fy_2I/AAAAAAAAATM/RBk3WweYkJY/s1600-h/gkrellkam2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_5e88KWjsOls/S5HOz5Fy_2I/AAAAAAAAATM/RBk3WweYkJY/s320/gkrellkam2.png" /&gt;&lt;/a&gt;&lt;/div&gt;5. both [search+string] and [site] can not be null at the same time but other all combinations work but '::'&amp;nbsp;separator&amp;nbsp;should be there.&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;[search+string]::[site]&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;::[site]&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;[search+string]::&lt;/span&gt;&lt;br /&gt;5. Thats it.. &lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_5e88KWjsOls/S5I0VV2-f3I/AAAAAAAAATk/PwAS7ht4L4g/s1600-h/gkrellkam.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_5e88KWjsOls/S5I0VV2-f3I/AAAAAAAAATk/PwAS7ht4L4g/s320/gkrellkam.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;USING MOUSE KEYS:&lt;br /&gt;&lt;br /&gt;middle-mouse-button : &lt;br /&gt;Will&amp;nbsp;cache&amp;nbsp;the image thumb locations at first use and then it will go to next image before timer expires when you click&lt;br /&gt;&lt;br /&gt;left-mouse-button :&lt;br /&gt;Will download the image in real size and set as the desktop wallpaper if it is downloadable&lt;br /&gt;&lt;br /&gt;right-mouse-button :&lt;br /&gt;Will open the configuration dialog&lt;br /&gt;google_images.sh&lt;br /&gt;&lt;div style="background-color: silver; height: 300px; overflow: auto;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre;"&gt;#!/bin/bash&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre;"&gt;# Copyright (C) 2008 Nayanajit Mahendra Laxaman mail: nmlaxaman@gmail.com&lt;/span&gt;&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;pre&gt;# This program is free software; you can redistribute it and/or modify&lt;br /&gt;# it under the terms of the GNU General Public License as published by&lt;br /&gt;# the Free Software Foundation; either version 2 of the License, or&lt;br /&gt;# (at your option) any later version.&lt;br /&gt;&lt;br /&gt;# This program is distributed in the hope that it will be useful,&lt;br /&gt;# but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the&lt;br /&gt;# GNU General Public License for more details.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;if $(gconftool-2 -g /system/http_proxy/use_http_proxy)&lt;br /&gt;then &lt;br /&gt;   export http_proxy="http://$(gconftool-2 -g /system/http_proxy/host):3128"&lt;br /&gt;else&lt;br /&gt;   unset http_proxy&lt;br /&gt;   unset https_proxy&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;function debug(){&lt;br /&gt;   DEBUG=false&lt;br /&gt;&lt;br /&gt;   if $DEBUG&lt;br /&gt;   then&lt;br /&gt;      echo "DEBUG:$@"&lt;br /&gt;   fi&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;PARAMS=$1&lt;br /&gt;#Custom url&lt;br /&gt;#PARAMS="::http://ftp.gnome.org/pub/GNOME/teams/art.gnome.org/backgrounds/"&lt;br /&gt;#PARAMS="wallpaper+road::"&lt;br /&gt;&lt;br /&gt;WORKING='/tmp'&lt;br /&gt;CATEGORY='';&lt;br /&gt;SITE=''&lt;br /&gt;NO_IMAGE="/opt/myapps/no_image.png"&lt;br /&gt;&lt;br /&gt;if [[ $PARAMS != '' ]]&lt;br /&gt;then&lt;br /&gt;   CATEGORY=$( echo $PARAMS | awk -F '::' '{print $1}' )&lt;br /&gt;   SITE=$( echo $PARAMS | awk -F '::' '{print $2}' )&lt;br /&gt;   debug $SITE&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;#if not accessible to google local images&lt;br /&gt;ping -c 1 google.com 2&amp;gt;/dev/null &amp;gt;/dev/null&lt;br /&gt;if [[ $? != 0 ]]&lt;br /&gt;then&lt;br /&gt;   /opt/myapps/local_images.sh $CATEGORY $2&lt;br /&gt;   exit 0;&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;DOWNLOAD_DIR="$WORKING/gkrellmkam_imgs_google";&lt;br /&gt;&lt;br /&gt;CURRENT="$WORKING/next_img_google"&lt;br /&gt;CATEGORY_D=""&lt;br /&gt;if [[  $CATEGORY == "" ]]&lt;br /&gt;then&lt;br /&gt;   CATEGORY_D="DEFAULT"&lt;br /&gt;else&lt;br /&gt;   CATEGORY_D=$CATEGORY&lt;br /&gt;fi&lt;br /&gt;CURRENT_IMAGE_URL="$WORKING/$CATEGORY_D-current_image_url_google"&lt;br /&gt;IMAGE_LIST="$WORKING/$CATEGORY_D-$SITE-img_list_google"&lt;br /&gt;LOG="$WORKING/gkrellmkam_imgs_google_log"&lt;br /&gt;COPY_DIR="$HOME/Pictures/google/$CATEGORY_D";&lt;br /&gt;&lt;br /&gt;function urand(){&lt;br /&gt;COUNT=$(($1+1))&lt;br /&gt;while true&lt;br /&gt;do&lt;br /&gt;   FOUND=false&lt;br /&gt;   RAND=$(($RANDOM%($COUNT)))&lt;br /&gt;   for NO in $( cat $TMP 2&amp;gt;/dev/null )&lt;br /&gt;   do&lt;br /&gt;      if [[ $NO == $RAND ]]&lt;br /&gt;      then&lt;br /&gt;         FOUND=true&lt;br /&gt;      fi&lt;br /&gt;   done&lt;br /&gt;&lt;br /&gt;   if ! $FOUND&lt;br /&gt;   then&lt;br /&gt;      echo $RAND&lt;br /&gt;      echo $RAND &amp;gt;&amp;gt; $TMP&lt;br /&gt;      break&lt;br /&gt;   fi&lt;br /&gt;done&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function rand_file(){&lt;br /&gt;TMP="/tmp/tn"&lt;br /&gt;SC="/tmp/sc"&lt;br /&gt;rm $TMP $SC 2&amp;gt;/dev/null&lt;br /&gt;FILE=$1&lt;br /&gt;&lt;br /&gt;COUNT=$( wc -l $FILE | awk '{print $1}' )&lt;br /&gt;cat $FILE | while read line&lt;br /&gt;do&lt;br /&gt;   echo "LINE_ARRAY[$(urand $COUNT)]=\"$line\"" &amp;gt;&amp;gt; $SC&lt;br /&gt;done &lt;br /&gt;&lt;br /&gt;source $SC&lt;br /&gt;rm $FILE&lt;br /&gt;for (( i=0; i&amp;lt;=${#LINE_ARRAY[@]}; i++ ))&lt;br /&gt;do&lt;br /&gt;   LINE=${LINE_ARRAY[$i]}&lt;br /&gt;   if [[ $( echo $LINE | grep . ) != '' ]]&lt;br /&gt;   then&lt;br /&gt;      echo ${LINE_ARRAY[$i]} &amp;gt;&amp;gt; $FILE&lt;br /&gt;   fi&lt;br /&gt;done&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function log(){&lt;br /&gt;echo  $1 &amp;gt;&amp;gt; $LOG&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function set_bg(){&lt;br /&gt;XSPLASH_BG='/usr/share/images/xsplash/bg_2560x1600.jpg'&lt;br /&gt;GDM_BG='/usr/share/backgrounds/Naranja.jpg'&lt;br /&gt;if [[ $( file --mime-type "$@" | grep "image/" ) != '' ]]&lt;br /&gt;then&lt;br /&gt;   gpicview  "$@"&amp;amp;&lt;br /&gt;   sleep 6&lt;br /&gt;   zenity --question --text "Would you like to set it as the wallpaper, gdm background and, xsplash background?"  --cancel-label=NO;&lt;br /&gt;   if [[ $? == 0 ]]&lt;br /&gt;   then&lt;br /&gt;      #Set user wallpaper&lt;br /&gt;      gconftool-2 --type string --set /desktop/gnome/background/picture_filename "$@"&lt;br /&gt;      if [[ -e $XSPLASH_BG ]] &lt;br /&gt;      then&lt;br /&gt;         if [[ $( file --mime-type "$@" | grep jpeg ) != '' ]]&lt;br /&gt;         then&lt;br /&gt;            #Set xsplash background&lt;br /&gt;            gksudo cp "$@" $XSPLASH_BG&lt;br /&gt;            #gksudo cp "$@" $GDM_BG&lt;br /&gt;         elif [[ -e /usr/bin/convert ]]&lt;br /&gt;         then&lt;br /&gt;            #Set xsplash background&lt;br /&gt;            gksudo convert "$@" $XSPLASH_BG&lt;br /&gt;            #gksudo convert "$@" $GDM_BG&lt;br /&gt;         else&lt;br /&gt;            zenity --error  --text="Can not set xsplash background and gdm background!"&lt;br /&gt;         fi&lt;br /&gt;      fi&lt;br /&gt;      #Set gdm background&lt;br /&gt;      sudo -u gdm gconftool-2 --type string --set /desktop/gnome/background/picture_filename "$@"&lt;br /&gt;   fi&lt;br /&gt;else&lt;br /&gt;   zenity --error  --text="Image can not download\!"&lt;br /&gt;fi&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;if [[ $# == 2 ]]&lt;br /&gt;then&lt;br /&gt;&lt;br /&gt;  if [[ ! -e "$COPY_DIR" ]]&lt;br /&gt;  then&lt;br /&gt;    mkdir -p  $COPY_DIR&lt;br /&gt;  fi&lt;br /&gt;&lt;br /&gt;  URL=$( cat $CURRENT_IMAGE_URL | awk -F 'http://' '{print "http://"$3 }')&lt;br /&gt;  cd $DOWNLOAD_DIR&lt;br /&gt;  FILE_O="$( basename $URL )"&lt;br /&gt;  FILE="$(md5sum &amp;lt; $FILE_O | awk '{print$1}')-$FILE_O"&lt;br /&gt;  if [[ -e "$FILE" ]]&lt;br /&gt;  then&lt;br /&gt;    if [[ -e "$COPY_DIR/$FILE_O" ]]&lt;br /&gt;    then&lt;br /&gt;      cp "$FILE" "$COPY_DIR/$(date +%S)-$FILE_O"&lt;br /&gt;      $( set_bg "$COPY_DIR/$(date +%S)-$FILE_O" )&lt;br /&gt;    else&lt;br /&gt;      cp "$FILE" "$COPY_DIR/$FILE_O"&lt;br /&gt;      $( set_bg "$COPY_DIR/$FILE_O" )&lt;br /&gt;    fi&lt;br /&gt;    exit 0;&lt;br /&gt;  else&lt;br /&gt;    wget -c  "$URL" -O "$FILE" 2&amp;gt;/dev/null&lt;br /&gt;    if [[ -e  "$FILE" ]]&lt;br /&gt;    then&lt;br /&gt;      if [[ -e "$COPY_DIR/$FILE_O" ]]&lt;br /&gt;      then&lt;br /&gt;      cp "$FILE" "$COPY_DIR/$(date +%S)-$FILE_O"&lt;br /&gt;       $( set_bg "$COPY_DIR/$(date +%S)-$FILE_O" )&lt;br /&gt;      else&lt;br /&gt;       cp "$FILE" "$COPY_DIR/$FILE_O"&lt;br /&gt;       $( set_bg "$COPY_DIR/$FILE_O" )&lt;br /&gt;      fi&lt;br /&gt;    else&lt;br /&gt;      gpicview  "$( basename $URL )" &amp;amp;&lt;br /&gt;      $( set_bg "$( basename $URL )" )&lt;br /&gt;    fi&lt;br /&gt;  fi&lt;br /&gt;  exit 0&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;function gen_list(){&lt;br /&gt;TMP_LIST="/tmp/tmp_list";&lt;br /&gt;IMG_SIZE="xga" #2mp,&lt;br /&gt;SAFE="active" #off&lt;br /&gt;echo "" &amp;gt; $TMP_LIST&lt;br /&gt;for start in 0 21 42 63 84 105&lt;br /&gt;do&lt;br /&gt;   debug "curl -A \"Mozilla/4.0\" \"http://images.google.com/images?q=$CATEGORY&amp;amp;imgsz=$IMG_SIZE&amp;amp;safe=$SAFE&amp;amp;start=$start&amp;amp;ndsp=21&amp;amp;as_sitesearch=$SITE\" | hindent -s 2&amp;gt;/dev/null| grep '&lt;img' -a="" -o="" 2="" 4.0"="" curl="" grep="" http:="" images.google.com="" images?q="$CATEGORY&amp;amp;imgsz=$IMG_SIZE&amp;amp;start=$start&amp;amp;ndsp=21&amp;amp;as_sitesearch=$SITE&amp;quot;" mozilla="" t[_%~a-za-z0-9?=":.-]*'&amp;quot;" tbn="" |=""&gt;/dev/null | hindent -s 2&amp;gt;/dev/null| grep '&lt;img' -o="" grep="" http:="" t[_%~a-za-z0-9?=":.-]*'" tbn="" |=""&gt;&amp;gt; $TMP_LIST &lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;if [[  $( cat  $TMP_LIST | wc -l ) != 0 ]]&lt;br /&gt;then&lt;br /&gt;  cp $TMP_LIST $IMAGE_LIST&lt;br /&gt;  rand_file $IMAGE_LIST&lt;br /&gt;  echo 1 &amp;gt; $CURRENT&lt;br /&gt;fi&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;touch  $IMAGE_LIST  $CURRENT 2&amp;gt;/dev/null&lt;br /&gt;mkdir  $DOWNLOAD_DIR 2&amp;gt;/dev/null&lt;br /&gt;&lt;br /&gt;IMG_NO=$( cat  $CURRENT )&lt;br /&gt;NO_OF_IMGS=$( cat $IMAGE_LIST | wc -l )&lt;br /&gt;&lt;br /&gt;if [[ $NO_OF_IMGS == $IMG_NO || $NO_OF_IMGS == 0 ]]&lt;br /&gt;then&lt;br /&gt;  gen_list $CATEGORY&lt;br /&gt;  echo 1 &amp;gt; $CURRENT&lt;br /&gt;  IMG_NO=1&lt;br /&gt;fi &lt;br /&gt;&lt;br /&gt;i=1;&lt;br /&gt;if [[ $NO_OF_IMGS != 0 ]]&lt;br /&gt;then&lt;br /&gt;while read line &lt;br /&gt;do&lt;br /&gt;  if [[ $i == $IMG_NO ]]&lt;br /&gt;  then&lt;br /&gt;    if [[ $NO_OF_IMGS == $IMG_NO ]]&lt;br /&gt;    then&lt;br /&gt;      echo 1 &amp;gt;  $CURRENT&lt;br /&gt;    else&lt;br /&gt;      echo $(($i+1)) &amp;gt;  $CURRENT&lt;br /&gt;    fi&lt;br /&gt;    cd $DOWNLOAD_DIR&lt;br /&gt;    FILE_NAME="$( basename $line )"&lt;br /&gt;    if [[ -e  "$DOWNLOAD_DIR/$FILE_NAME" ]]&lt;br /&gt;    then&lt;br /&gt;      echo  "$DOWNLOAD_DIR/$FILE_NAME"&lt;br /&gt;    else&lt;br /&gt;      wget -c "$line" -O "$FILE_NAME" &amp;gt;/dev/null 2&amp;gt;/dev/null&lt;br /&gt;      #curl "$line" -o "$FILE_NAME" 2&amp;gt;/dev/null &lt;br /&gt;      echo  "$DOWNLOAD_DIR/$FILE_NAME"&lt;br /&gt;    fi&lt;br /&gt;    echo  "$line" &amp;gt; $CURRENT_IMAGE_URL&lt;br /&gt;    break;&lt;br /&gt;  fi&lt;br /&gt;  i=$(($i+1));&lt;br /&gt;done &amp;lt; $IMAGE_LIST&lt;br /&gt;else&lt;br /&gt;   echo $NO_IMAGE &lt;br /&gt;fi&lt;/img'&gt;&lt;/img'&gt;&lt;/pre&gt;&lt;/code&gt; &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;local_images.sh&lt;br /&gt;&lt;div style="background-color: silver; height: 300px; overflow: auto;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre;"&gt;#!/bin/bash&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre;"&gt;# Copyright (C) 2008 Nayanajit Mahendra Laxaman mail: nmlaxaman@gmail.com&lt;/span&gt;&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;# This program is free software; you can redistribute it and/or modify&lt;br /&gt;# it under the terms of the GNU General Public License as published by&lt;br /&gt;# the Free Software Foundation; either version 2 of the License, or&lt;br /&gt;# (at your option) any later version.&lt;br /&gt;&lt;br /&gt;# This program is distributed in the hope that it will be useful,&lt;br /&gt;# but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the&lt;br /&gt;# GNU General Public License for more details.&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;if [[ $# -lt 1 ]]&lt;br /&gt;then&lt;br /&gt;   exit 0;&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;CATEGORY=$1&lt;br /&gt;WORKING="/tmp"&lt;br /&gt;G_DIR="$HOME/Pictures/google"&lt;br /&gt;CACHE_IMG_LIST="/tmp/cache_img_list_$CATEGORY"&lt;br /&gt;THUMB_DIR="$WORKING/thumb_dir"&lt;br /&gt;CURRENT="$WORKING/cache_current"&lt;br /&gt;CURRENT_IMG_PATH="$WORKING/cache_current_img_path"&lt;br /&gt;NO_IMAGE="/opt/myapps/no_image.png"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;function urand(){&lt;br /&gt;COUNT=$(($1+1))&lt;br /&gt;while true&lt;br /&gt;do&lt;br /&gt;   FOUND=false&lt;br /&gt;   RAND=$(($RANDOM%($COUNT)))&lt;br /&gt;   for NO in $( cat $TMP 2&amp;gt;/dev/null )&lt;br /&gt;   do&lt;br /&gt;      if [[ $NO == $RAND ]]&lt;br /&gt;      then&lt;br /&gt;         FOUND=true&lt;br /&gt;      fi&lt;br /&gt;   done&lt;br /&gt;&lt;br /&gt;   if ! $FOUND&lt;br /&gt;   then&lt;br /&gt;      echo $RAND&lt;br /&gt;      echo $RAND &amp;gt;&amp;gt; $TMP&lt;br /&gt;      break&lt;br /&gt;   fi&lt;br /&gt;done&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function rand_file(){&lt;br /&gt;TMP="/tmp/tn"&lt;br /&gt;SC="/tmp/sc"&lt;br /&gt;rm $TMP $SC 2&amp;gt;/dev/null&lt;br /&gt;FILE=$1&lt;br /&gt;&lt;br /&gt;COUNT=$( wc -l $FILE | awk '{print $1}' )&lt;br /&gt;cat $FILE | while read line&lt;br /&gt;do&lt;br /&gt;   echo "LINE_ARRAY[$(urand $COUNT)]=\"$line\"" &amp;gt;&amp;gt; $SC&lt;br /&gt;done &lt;br /&gt;&lt;br /&gt;source $SC&lt;br /&gt;rm $FILE&lt;br /&gt;for (( i=0; i&amp;lt;=${#LINE_ARRAY[@]}; i++ ))&lt;br /&gt;do&lt;br /&gt;   LINE=${LINE_ARRAY[$i]}&lt;br /&gt;   if [[ $( echo $LINE | grep . ) != '' ]]&lt;br /&gt;   then&lt;br /&gt;      echo ${LINE_ARRAY[$i]} &amp;gt;&amp;gt; $FILE&lt;br /&gt;   fi&lt;br /&gt;done&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;function set_bg(){&lt;br /&gt;XSPLASH_BG='/usr/share/images/xsplash/bg_2560x1600.jpg'&lt;br /&gt;GDM_BG='/usr/share/backgrounds/Naranja.jpg'&lt;br /&gt;if [[ $( file --mime-type "$@" | grep "image/" ) != '' ]]&lt;br /&gt;then&lt;br /&gt;   gpicview  "$@"&amp;amp;&lt;br /&gt;   sleep 6&lt;br /&gt;   zenity --question --text "Would you like to set it as the wallpaper, gdm background and, xsplash background?"  --cancel-label=NO;&lt;br /&gt;   if [[ $? == 0 ]]&lt;br /&gt;   then&lt;br /&gt;      #Set user wallpaper&lt;br /&gt;      gconftool-2 --type string --set /desktop/gnome/background/picture_filename "$@"&lt;br /&gt;      if [[ -e $XSPLASH_BG ]] &lt;br /&gt;      then&lt;br /&gt;         if [[ $( file --mime-type "$@" | grep jpeg ) != '' ]]&lt;br /&gt;         then&lt;br /&gt;            #Set xsplash background&lt;br /&gt;            gksudo cp "$@" $XSPLASH_BG&lt;br /&gt;            #gksudo cp "$@" $GDM_BG&lt;br /&gt;         elif [[ -e /usr/bin/convert ]]&lt;br /&gt;         then&lt;br /&gt;            #Set xsplash background&lt;br /&gt;            gksudo convert "$@" $XSPLASH_BG&lt;br /&gt;            #gksudo convert "$@" $GDM_BG&lt;br /&gt;         else&lt;br /&gt;            zenity --error  --text="Can not set xsplash background and gdm background!"&lt;br /&gt;         fi&lt;br /&gt;      fi&lt;br /&gt;      #Set gdm background&lt;br /&gt;      sudo -u gdm gconftool-2 --type string --set /desktop/gnome/background/picture_filename "$@"&lt;br /&gt;   fi&lt;br /&gt;else&lt;br /&gt;   zenity --error  --text="Image can not download\!"&lt;br /&gt;fi&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;if [[ $# == 2 ]]&lt;br /&gt;then&lt;br /&gt;   #gpicview  "$( cat $CURRENT_IMG_PATH )" &amp;amp;&lt;br /&gt;   set_bg  $( cat $CURRENT_IMG_PATH )&lt;br /&gt;   exit 0;&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;touch  $CACHE_IMG_LIST  $CURRENT 2&amp;gt;/dev/null&lt;br /&gt;mkdir  $THUMB_DIR 2&amp;gt;/dev/null&lt;br /&gt;&lt;br /&gt;IMG_NO=$( cat  $CURRENT )&lt;br /&gt;NO_OF_IMGS=$( cat $CACHE_IMG_LIST | wc -l )&lt;br /&gt;&lt;br /&gt;if [[ $NO_OF_IMGS == $IMG_NO || $NO_OF_IMGS == 0 ]]&lt;br /&gt;then&lt;br /&gt;   find -L $G_DIR | grep -e $CATEGORY -e '\.'...*$ &amp;gt; $CACHE_IMG_LIST&lt;br /&gt;   rand_file $CACHE_IMG_LIST&lt;br /&gt;   echo 1 &amp;gt; $CURRENT&lt;br /&gt;   IMG_NO=1&lt;br /&gt;fi &lt;br /&gt;&lt;br /&gt;i=1;&lt;br /&gt;if [[ $NO_OF_IMGS != 0 ]]&lt;br /&gt;then&lt;br /&gt;while read line &lt;br /&gt;do&lt;br /&gt;  if [[ $i == $IMG_NO ]]&lt;br /&gt;  then&lt;br /&gt;    if [[ $NO_OF_IMGS == $IMG_NO ]]&lt;br /&gt;    then&lt;br /&gt;      echo 1 &amp;gt;  $CURRENT&lt;br /&gt;    else&lt;br /&gt;      echo $(($i+1)) &amp;gt;  $CURRENT&lt;br /&gt;    fi&lt;br /&gt;    cd $THUMB_DIR&lt;br /&gt;    FILE_NAME="$( basename $line )"&lt;br /&gt;    if [[ -e "$THUMB_DIR/$FILE_NAME" ]]&lt;br /&gt;    then&lt;br /&gt;      echo "$THUMB_DIR/$FILE_NAME"&lt;br /&gt;    else&lt;br /&gt;      convert -resize 150 "$line" "$THUMB_DIR/$FILE_NAME" 2&amp;gt;/dev/null&lt;br /&gt;      echo "$THUMB_DIR/$FILE_NAME"&lt;br /&gt;    fi&lt;br /&gt;    echo "$line" &amp;gt; $CURRENT_IMG_PATH&lt;br /&gt;    break;&lt;br /&gt;  fi&lt;br /&gt;  i=$(($i+1));&lt;br /&gt;done &amp;lt; $CACHE_IMG_LIST&lt;br /&gt;else&lt;br /&gt;   echo $NO_IMAGE&lt;br /&gt;fi&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-1089432473137798776?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/1089432473137798776/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2010/03/use-gkrellm-to-displays-random-web.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/1089432473137798776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/1089432473137798776'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2010/03/use-gkrellm-to-displays-random-web.html' title='Use GKrellKam to displays random web thumbnails on desktop'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_5e88KWjsOls/S8He8mniZTI/AAAAAAAAAUM/LvKbAQ4MJHE/s72-c/no_image.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-5472127978174890396</id><published>2009-11-11T01:35:00.000-08:00</published><updated>2009-11-11T04:04:58.377-08:00</updated><title type='text'>wbar theme manager</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5e88KWjsOls/SvqecmmvgxI/AAAAAAAAAPY/uX80sT8BemM/s1600-h/wbar_theme.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 270px;" src="http://2.bp.blogspot.com/_5e88KWjsOls/SvqecmmvgxI/AAAAAAAAAPY/uX80sT8BemM/s400/wbar_theme.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5402804917220901650" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1. Set DEFAULT_THEME name in script which is a link to an available theme&lt;br /&gt;2. Set TEMPLATE theme in script which should be a working set of icons correspondent with your .wbar configuration file&lt;br /&gt;3. /usr/share/wbar/iconpack directory should be writable by you or you have to run this script as root (sudo)&lt;br /&gt;4. To add new theme select NEW_THEME item at the top of the list in zenity wndow&lt;br /&gt;5. To reset the themes after changing .wbar select RESET_THEME item of the list window&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="overflow: auto; background-color: silver; height: 300px;"&gt;&lt;code&gt;&lt;pre&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;# Copyright (C) 2008 Nayanajit Mahendra Laxaman mail: nmlaxaman@gmail.com&lt;br /&gt;&lt;br /&gt;# This program is free software; you can redistribute it and/or modify&lt;br /&gt;# it under the terms of the GNU General Public License as published by&lt;br /&gt;# the Free Software Foundation; either version 2 of the License, or&lt;br /&gt;# (at your option) any later version.&lt;br /&gt;&lt;br /&gt;# This program is distributed in the hope that it will be useful,&lt;br /&gt;# but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the&lt;br /&gt;# GNU General Public License for more details.&lt;br /&gt;&lt;br /&gt;WBAR_THEME_ROOT="/usr/share/wbar/iconpack"&lt;br /&gt;DEFAULT_THEME="dreamdock"&lt;br /&gt;TEMPLATE="$WBAR_THEME_ROOT/dream"&lt;br /&gt;THEME_ROOT="/usr/share/icons"&lt;br /&gt;&lt;br /&gt;ICONS=$( cat ~/.wbar | grep i: | awk '{printf $2" "}' | uniq )&lt;br /&gt;N_ICONS=$(cat ~/.wbar | grep i: |wc -l)&lt;br /&gt;EPOCH=$((100/$N_ICONS))&lt;br /&gt;PROGRESS=0&lt;br /&gt;DEFAULE="gnome"&lt;br /&gt;&lt;br /&gt;THEME=''&lt;br /&gt;&lt;br /&gt;function select_theme(){&lt;br /&gt;THEMES=$(ls $WBAR_THEME_ROOT | grep -v -e $DEFAULT_THEME -e $TEMPLATE |  awk '{printf " FALSE "$1}')&lt;br /&gt;NEW_THEME=$(zenity --width=300 --height=270  --list --radiolist  --column "Select" --column "Theme" TRUE NEW_THEME FALSE RESET_THEMES `echo $THEMES` );&lt;br /&gt;echo $NEW_THEME;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function new_theme_select(){&lt;br /&gt;  cd $THEME_ROOT&lt;br /&gt;  NEW_THEME=$( zenity --file-selection --directory $THEME_ROOT --title="Choose an icon theme from /usr/share/icons/" )&lt;br /&gt;  NEW_THEME=$( basename $NEW_THEME )&lt;br /&gt;  if [ ! -z "$NEW_THEME" ]   2&gt; /dev/null                  &lt;br /&gt;  then                                                   &lt;br /&gt;&lt;br /&gt;  if [[ -e $THEME_ROOT/$NEW_THEME ]]&lt;br /&gt;  then&lt;br /&gt;     echo $NEW_THEME&lt;br /&gt;  else&lt;br /&gt;     zenity --warning --text="Theme not found "&lt;br /&gt;     exit 1;&lt;br /&gt;  fi&lt;br /&gt;  else&lt;br /&gt;     zenity --warning --text="No theme given "&lt;br /&gt;     exit 1;&lt;br /&gt;  fi&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;function generate_theme(){&lt;br /&gt;mkdir $WBAR_THEME_ROOT/$THEME&lt;br /&gt;cd $WBAR_THEME_ROOT/$THEME&lt;br /&gt;for ICON in $ICONS&lt;br /&gt;do&lt;br /&gt;&lt;br /&gt;PROGRESS=$(($PROGRESS+$EPOCH))&lt;br /&gt;echo  $PROGRESS&lt;br /&gt;&lt;br /&gt;ICON=$( basename $ICON )&lt;br /&gt;&lt;br /&gt;FILE=$( find $THEME_ROOT/$THEME -iname $ICON  | grep -i 'scalable' | head -1)&lt;br /&gt;&lt;br /&gt;if [[ $FILE == '' ]]&lt;br /&gt;then&lt;br /&gt;   FILE=$( find $THEME_ROOT/$DEFAULT -iname $ICON  | grep -i 'scalable' | head -1)&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;if [[ $FILE == '' ]]&lt;br /&gt;then&lt;br /&gt;   FILE=$TEMPLATE/$ICON &lt;br /&gt;fi&lt;br /&gt;cp -L $FILE $ICON&lt;br /&gt;done&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;THEME=$( select_theme )&lt;br /&gt;&lt;br /&gt;if [[ $THEME == 'RESET_THEMES' ]]&lt;br /&gt;then&lt;br /&gt;N_THEMES=$( ls  $WBAR_THEME_ROOT | grep -v -e $DEFAULT_THEME -e $TEMPLATE | wc -l)&lt;br /&gt;EPOCH=$((100/$N_THEMES))&lt;br /&gt;PROGRESS=0&lt;br /&gt;&lt;br /&gt;   for theme in $( ls  $WBAR_THEME_ROOT | grep -v -e $DEFAULT_THEME -e $TEMPLATE )&lt;br /&gt;   do&lt;br /&gt;      PROGRESS=$(($PROGRESS+$EPOCH))&lt;br /&gt;      echo  $PROGRESS&lt;br /&gt;&lt;br /&gt;      THEME=$theme&lt;br /&gt;      generate_theme&lt;br /&gt;   done | zenity --progress --title="Resetting wbar icon themes" --text="Be patient\nIt will take some time to reset icon themes..."  --auto-close&lt;br /&gt;&lt;br /&gt;   exit 1;&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;if [[ $THEME == 'NEW_THEME' ]]&lt;br /&gt;then&lt;br /&gt;   THEME=$( new_theme_select )&lt;br /&gt;   if [[ $? == 0 ]]&lt;br /&gt;   then&lt;br /&gt;    generate_theme | zenity --progress --title="Generating wbar icon theme" --text="Be patient\nIt will take some time to generate icon theme..."  --auto-close&lt;br /&gt;   fi&lt;br /&gt;   exit 1;&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;if [[ $THEME == '' ]]&lt;br /&gt;then&lt;br /&gt;   zenity --warning --text="Theme not changed"&lt;br /&gt;   exit 1;&lt;br /&gt;else&lt;br /&gt;   cd $WBAR_THEME_ROOT&lt;br /&gt;   rm $DEFAULT_THEME&lt;br /&gt;   ln -s $THEME $DEFAULT_THEME&lt;br /&gt;fi&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-5472127978174890396?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/5472127978174890396/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2009/11/wbar-theme-manager.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/5472127978174890396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/5472127978174890396'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2009/11/wbar-theme-manager.html' title='wbar theme manager'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_5e88KWjsOls/SvqecmmvgxI/AAAAAAAAAPY/uX80sT8BemM/s72-c/wbar_theme.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-4247699602756469608</id><published>2009-11-06T18:13:00.000-08:00</published><updated>2010-02-16T01:49:22.225-08:00</updated><title type='text'>Share your 3G/HSDPA connection with friends using simple Linux router/gateway</title><content type='html'>1. Copy following script to a file  (say router_man.sh )&lt;br /&gt;2. Set your local interface and Internet interface in the script&lt;br /&gt;3. Make the file executable (use chmod +x router_man.sh)&lt;br /&gt;4. To start(add) the router &lt;br /&gt;router_man.sh -a&lt;br /&gt;&lt;br /&gt;To stop(delete) the router&lt;br /&gt;router_man.sh -d&lt;br /&gt;&lt;br /&gt;To see the information&lt;br /&gt;router_man.sh -s&lt;br /&gt;&lt;br /&gt;5. In your friends laptop set your local IP as the gateway(router)&lt;br /&gt;&lt;br /&gt;thats all... &lt;br /&gt;&lt;br /&gt;&lt;div style="overflow: auto; background-color: silver; height: 300px;"&gt;&lt;code&gt;&lt;pre&gt;#!/bin/bash&lt;br /&gt;# Copyright (C) 2008 Nayanajit Mahendra Laxaman mail: nmlaxaman@gmail.com&lt;br /&gt;&lt;br /&gt;# This program is free software; you can redistribute it and/or modify&lt;br /&gt;# it under the terms of the GNU General Public License as published by&lt;br /&gt;# the Free Software Foundation; either version 2 of the License, or&lt;br /&gt;# (at your option) any later version.&lt;br /&gt;&lt;br /&gt;# This program is distributed in the hope that it will be useful,&lt;br /&gt;# but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the&lt;br /&gt;# GNU General Public License for more details.&lt;br /&gt;&lt;br /&gt;INTERNET=ppp0&lt;br /&gt;LOCAL=eth0&lt;br /&gt;if [[ $1 == '-a' ]]&lt;br /&gt;then&lt;br /&gt;iptables --table nat -A POSTROUTING --out-interface $INTERNET -j MASQUERADE&lt;br /&gt;iptables -A FORWARD --in-interface $LOCAL -j ACCEPT&lt;br /&gt;echo 1 &gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;elif [[ $1 == '-d' ]]&lt;br /&gt;then&lt;br /&gt;iptables --table nat -D POSTROUTING --out-interface $INTERNET -j MASQUERADE&lt;br /&gt;iptables -D FORWARD --in-interface $LOCAL -j ACCEPT&lt;br /&gt;echo 0 &gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;elif [[ $1 == '-s' ]]&lt;br /&gt;then&lt;br /&gt;echo "==iptables=="&lt;br /&gt;iptables -nL&lt;br /&gt;iptables -t nat -nL&lt;br /&gt;echo "==ip_forward=="&lt;br /&gt;cat /proc/sys/net/ipv4/ip_forward&lt;br /&gt;else&lt;br /&gt;echo "Invalide param!"&lt;br /&gt;echo "try -a for add or -d for delete -s for status"&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-4247699602756469608?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/4247699602756469608/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2009/11/share-your-3ghsdpa-connection-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/4247699602756469608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/4247699602756469608'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2009/11/share-your-3ghsdpa-connection-with.html' title='Share your 3G/HSDPA connection with friends using simple Linux router/gateway'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-247578843296986463</id><published>2009-08-17T18:47:00.000-07:00</published><updated>2009-08-17T19:16:28.495-07:00</updated><title type='text'>Setting up trac with svn in Debian</title><content type='html'>Reference:&lt;br /&gt;http://trac.edgewall.org/wiki/TracOnDebian&lt;br /&gt;&lt;br /&gt;1) Installing trac and apache2 and svn&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);font-family:courier new;" &gt;apt-get install trac apache2 libapache2-mod-wsgi subversion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;2) Creating trac projecs&lt;br /&gt;NOTE: here my_project is the project name&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);font-family:courier new;" &gt;mkdir /var/lib/trac&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);font-family:courier new;" &gt;trac-admin /var/lib/trac/my_project initenv&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;3) Testing trac&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);font-family:courier new;" &gt;tracd --port 8000 /var/lib/trac/my_project&lt;/span&gt;&lt;br /&gt;Then open with browser http://localhost:8000&lt;br /&gt;&lt;br /&gt;4) Deploying project in web (apache)&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);font-family:courier new;" &gt;trac-admin /var/lib/trac deploy /var/www/trac&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;5) Apache2 configuration for the project&lt;br /&gt;Create a file /etc/apache2/sites-enabled/trac_svn and add following to that file&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);font-family:courier new;" &gt;WSGIScriptAlias /trac /var/www/trac/my_project/cgi-bin/trac.wsgi&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;Directory /var/www/trac/cgi-bin&amp;gt;&lt;br /&gt;WSGIApplicationGroup %{GLOBAL}&lt;br /&gt;Order deny,allow&lt;br /&gt;Allow from all&lt;br /&gt;&amp;lt;/Directory&amp;gt;&lt;br /&gt;&lt;br /&gt;6) Testing the depoyment&lt;br /&gt;Open with browser http://localhost/trac/my_project&lt;br /&gt;&lt;br /&gt;7) Setting up svn project&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);font-family:courier new;" &gt;mkdir -p /var/lib/svn/my_project&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);font-family:courier new;" &gt;svnadmin create /var/lib/svn/my_project&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;8)Adding Users (through apache digest authentication)&lt;br /&gt;NOTE: Here user_name is your user name&lt;br /&gt;&lt;br /&gt;i) Enabling digest auth module&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);font-family:courier new;" &gt;cd /etc/apache2/mods-enabled&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);font-family:courier new;" &gt;ln -s ../mods-available/auth_digest.load&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;ii) Adding user to htpassword file ( Use -c for the first time only)&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);font-family:courier new;" &gt;htdigest -c /etc/trac/htpasswd my_project user_name&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;iii)Add following to /etc/apache2/sites-enabled/trac_svn&lt;br /&gt;&lt;br /&gt;&amp;lt;Location "/trac/login"&amp;gt;&lt;br /&gt;   AuthType Digest&lt;br /&gt;   AuthName "my_project"&lt;br /&gt;   AuthDigestDomain /trac/my_project&lt;br /&gt;   AuthUserFile /etc/trac/htpasswd&lt;br /&gt;   Require user user_name&lt;br /&gt;&amp;lt;/Location&amp;gt;&lt;br /&gt;&lt;br /&gt;iv)Setting access level in trac&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;trac-admin /var/lib/trac permission add user_name TRAC_ADMIN&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; trac-admin /var/lib/trac permission list&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;9) Adding plugins to trac&lt;br /&gt;download the file and remove the .zip extension and run&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);font-family:courier new;" &gt;easy_install --always-unzip TracWebAdmin-0.1.2dev_r4240-py2.3.egg&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-247578843296986463?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/247578843296986463/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2009/08/setting-up-trac-with-svn-in-debian.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/247578843296986463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/247578843296986463'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2009/08/setting-up-trac-with-svn-in-debian.html' title='Setting up trac with svn in Debian'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-5756811063709386525</id><published>2009-08-13T08:43:00.000-07:00</published><updated>2010-03-11T21:15:24.074-08:00</updated><title type='text'>Using msb430 devices with contiki-2.x</title><content type='html'>&lt;a href="http://cst.mi.fu-berlin.de/projects/ScatterWeb/images/hardware/msb/msb4.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://cst.mi.fu-berlin.de/projects/ScatterWeb/images/hardware/msb/msb4.jpg" style="cursor: pointer; display: block; height: 276px; margin: 0px auto 10px; text-align: center; width: 213px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Installing gcc-msb430:&lt;br /&gt;Added following line to the file /etc/apt/sources.list&lt;br /&gt;deb &lt;a href="http://wyper.ca/debian" rel="nofollow" target="_blank"&gt;http://wyper.ca/debian&lt;/a&gt; i686/&lt;br /&gt;Then run:&lt;br /&gt;apt-get update&lt;br /&gt;apt-get install binutils-msp430 gcc-msp430 msp430-libc msp430-jtag&lt;br /&gt;&lt;br /&gt;-------------------------------------------------------------------&lt;br /&gt;Burning apps:&lt;br /&gt;Change ownership of /dev/parport0&lt;br /&gt;chmod o+rw /dev/parport0&lt;br /&gt;Compile and burn application&lt;br /&gt;make TARGET=msb430 &amp;lt;appname&amp;gt;.u&lt;br /&gt;&lt;/appname&gt;&lt;br /&gt;Note: Here appname is your application name msb430 is the device&lt;br /&gt;platform '.u' denote that it should be uploaded (burned) to the&lt;br /&gt;device.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-5756811063709386525?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/5756811063709386525/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2009/08/using-msb430-devices-with-contiki-2x.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/5756811063709386525'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/5756811063709386525'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2009/08/using-msb430-devices-with-contiki-2x.html' title='Using msb430 devices with contiki-2.x'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-7554948418898977255</id><published>2009-07-25T05:51:00.000-07:00</published><updated>2009-07-25T05:51:00.114-07:00</updated><title type='text'>Parameters we can used for cooja in contiki-2.x</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Syntax:&lt;br/&gt;java -jar cooja.jar [parameters]&lt;br/&gt;&lt;br/&gt;Parameters:&lt;br/&gt;-contiki= &lt;br/&gt;Can provide custom contiki path instead of the default path which cooja is contained ( I guess )&lt;br/&gt;&lt;br/&gt;-external_tools_config=&lt;br/&gt;Can provide custom externel_tools file. The default file is  contiki-2.x/tools/cooja/build/external_tools_linux.config&lt;br/&gt;&lt;br/&gt;-quickstart= &lt;br/&gt;Quickly start the simulator using the given config file. &lt;br/&gt;The configuration file can be either a saved simulation (.csc) contiki build to target cooja (.cooja) or a contiki source file (.c) &lt;br/&gt;( .csc  .cooja .c )&lt;br/&gt;&lt;br/&gt;-nogui= &lt;br/&gt;Quickly starting a saved simulator(.csc), make targeted to cooja (.cooja) or contiki source file (.c)  WITHOUT gui&lt;br/&gt;( .csc, .cooja, .c )&lt;br/&gt;Make sure at least one test editor is controlling the simulation &lt;br/&gt;&lt;br/&gt;-applet &lt;br/&gt;Load the applets given followed by following switches given bellow&lt;br/&gt;     -web= &lt;br/&gt;        web applet path&lt;br/&gt;     -sky_firmware= &lt;br/&gt;        sky firmware&lt;br/&gt;     -esb_firmware= &lt;br/&gt;        esb firmware&lt;br/&gt;     -build= &lt;br/&gt;        build path&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-7554948418898977255?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/7554948418898977255/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2009/07/parameters-we-can-used-for-cooja-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/7554948418898977255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/7554948418898977255'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2009/07/parameters-we-can-used-for-cooja-in.html' title='Parameters we can used for cooja in contiki-2.x'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-6403189159720371907</id><published>2009-06-16T17:46:00.000-07:00</published><updated>2009-11-11T03:44:56.769-08:00</updated><title type='text'>How to acquire URLs of the packages from apt (Debian,Ubuntu)[updated]</title><content type='html'>Following script will list the URLs of the packages and it's dependencies&lt;br /&gt;1. copy it to apt_urls.sh&lt;br /&gt;2. make it executable chmod +x apt_urls.sh&lt;br /&gt;3. use it ./apt_urls.sh &lt;package name=""&gt;&lt;br /&gt;eg:- ./apt_urls.sh mysql-server&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;CODE:&lt;br /&gt;&lt;div style="overflow:auto; background-color: silver; height: 300px;"&gt;&lt;code&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;if [[ $# = 0 ]]&lt;br /&gt;then&lt;br /&gt;   echo "Usage:"&lt;br /&gt;   echo "$0 &lt;package list&gt;"&lt;br /&gt;   exit 0&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;DEPS="/tmp/deps.list"&lt;br /&gt;&lt;br /&gt;function get_urls(){&lt;br /&gt;if [[ $1 == 'upgrade' || $1 == 'dist-upgrade' ]]&lt;br /&gt;then&lt;br /&gt;  echo $( apt-get $1 -s | grep Inst | awk '{print $2}') &gt; $DEPS&lt;br /&gt;else&lt;br /&gt;  echo $( apt-get install $1 -s | grep Inst | awk '{print $2}') &gt; $DEPS&lt;br /&gt;fi&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function list_urls(){&lt;br /&gt;for PKG in $( cat $DEPS )&lt;br /&gt;do&lt;br /&gt;  PKG_PATH=$( apt-cache show $PKG | grep Filename: | awk '{print $2}' );&lt;br /&gt;  PKG_DIR=$( echo $PKG_PATH| awk -F '/' '{print $2}' );&lt;br /&gt;  BASE_URL=$( grep ^deb /etc/apt/sources.list | grep $PKG_DIR | awk '{print $2}' );&lt;br /&gt;&lt;br /&gt;  for URL in $BASE_URL &lt;br /&gt;  do&lt;br /&gt;    echo $URL/$PKG_PATH&lt;br /&gt;  done | sort | uniq&lt;br /&gt;done&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;get_urls $1&lt;br /&gt;list_urls&lt;br /&gt;&lt;br /&gt;&lt;/package&gt;&lt;/code&gt;&lt;/div&gt;&lt;/package&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-6403189159720371907?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/6403189159720371907/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2009/06/how-to-acquire-urls-of-packages-from.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/6403189159720371907'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/6403189159720371907'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2009/06/how-to-acquire-urls-of-packages-from.html' title='How to acquire URLs of the packages from apt (Debian,Ubuntu)[updated]'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-2282883185213234319</id><published>2009-06-07T06:29:00.000-07:00</published><updated>2009-06-16T18:06:00.977-07:00</updated><title type='text'>Enlightenment 17 in Arch Linux</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_5e88KWjsOls/SivBK0PT6tI/AAAAAAAAANQ/AV_VAFzVUy0/s1600-h/desktop.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 250px;" src="http://4.bp.blogspot.com/_5e88KWjsOls/SivBK0PT6tI/AAAAAAAAANQ/AV_VAFzVUy0/s400/desktop.png" alt="" id="BLOGGER_PHOTO_ID_5344577774370941650" border="0" /&gt;&lt;/a&gt;Its really cool fast and up-to-date...&lt;br /&gt;&lt;br /&gt;ArchLinux: &lt;a href="http://www.archlinux.org/"&gt;http://www.archlinux.org/&lt;/a&gt;&lt;br /&gt;ArchLinux e17:&lt;a href="http://wiki.archlinux.org/index.php/E17"&gt;http://wiki.archlinux.org/index.php/E17&lt;/a&gt;&lt;br /&gt;enlightenment: &lt;a href="http://www.enlightenment.org/"&gt;http://www.enlightenment.org/&lt;/a&gt;&lt;br /&gt;elive: &lt;a href="http://www.elivecd.org/"&gt;http://www.elivecd.org/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-2282883185213234319?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/2282883185213234319/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2009/06/enlightenment-17-in-arch-linux.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/2282883185213234319'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/2282883185213234319'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2009/06/enlightenment-17-in-arch-linux.html' title='Enlightenment 17 in Arch Linux'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_5e88KWjsOls/SivBK0PT6tI/AAAAAAAAANQ/AV_VAFzVUy0/s72-c/desktop.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-4572811273513027355</id><published>2009-05-16T16:16:00.000-07:00</published><updated>2009-05-19T22:44:17.706-07:00</updated><title type='text'>Blue curl usplash and gfxboot themes</title><content type='html'>I modified a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;usplash&lt;/span&gt;&lt;/span&gt; theme and a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;gfxboot&lt;/span&gt;&lt;/span&gt; theme with adding blue curl background and the debian logo&lt;br /&gt;&lt;br /&gt;Blue curl &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;usplash&lt;/span&gt;&lt;/span&gt;:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5e88KWjsOls/Sg9JoU8s-6I/AAAAAAAAAMw/iw5Mu6ldWCM/s1600-h/usplash_theme.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 191px;" src="http://3.bp.blogspot.com/_5e88KWjsOls/Sg9JoU8s-6I/AAAAAAAAAMw/iw5Mu6ldWCM/s400/usplash_theme.png" alt="" id="BLOGGER_PHOTO_ID_5336565040624237474" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Blue cur &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;gfxboot&lt;/span&gt;&lt;/span&gt; theme:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5e88KWjsOls/Sg9JoawE_tI/AAAAAAAAAMo/CAP-H7XzgnA/s1600-h/Blue_curl_gfxboot.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 302px;" src="http://3.bp.blogspot.com/_5e88KWjsOls/Sg9JoawE_tI/AAAAAAAAAMo/CAP-H7XzgnA/s400/Blue_curl_gfxboot.png" alt="" id="BLOGGER_PHOTO_ID_5336565042181897938" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Both can download &lt;a href="http://www.gnome-look.org/usermanager/search.php?username=nayanajith&amp;amp;action=contents"&gt;here &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-4572811273513027355?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/4572811273513027355/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2009/05/blue-curl-usplash-and-gfxboot-themes.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/4572811273513027355'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/4572811273513027355'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2009/05/blue-curl-usplash-and-gfxboot-themes.html' title='Blue curl usplash and gfxboot themes'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_5e88KWjsOls/Sg9JoU8s-6I/AAAAAAAAAMw/iw5Mu6ldWCM/s72-c/usplash_theme.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-4083280832795268257</id><published>2009-04-28T21:59:00.000-07:00</published><updated>2009-07-24T20:57:04.702-07:00</updated><title type='text'>[solved] PROLINK PHS100 HSDPA workout for Debian lenny and Ubuntu intrepid</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.prolink2u.com/new/products/gallery/PHS100/PHS100.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 277px; height: 240px;" src="http://www.prolink2u.com/new/products/gallery/PHS100/PHS100.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;* check wethre system is up-to-date ( apt-get update &amp;amp;&amp;amp; apt-get upgrade)&lt;br /&gt;1. wget http://www.draisberghof.de/usb_modeswitch/usb_modeswitch-0.9.7.tar.bz2&lt;br /&gt;2. tar xjvf usb_modeswitch-0.9.7.tar.bz2 &amp;amp;&amp;amp; cd usb_modeswitch-0.9.7 &amp;amp;&amp;amp; make install&lt;br /&gt;3. Edit /etc/usb_modeswitch.conf and add following section (similar to iCON 210 section) to end of the file&lt;br /&gt;&lt;div style="overflow: scroll; background-color: silver; height: 300px;"&gt;&lt;code&gt;########################################################&lt;br /&gt;# Option PROLINK PHS100&lt;br /&gt;#&lt;br /&gt;# Contributor: laxaman&lt;br /&gt;&lt;br /&gt;DefaultVendor=  0x1e0e&lt;br /&gt;DefaultProduct= 0xf000&lt;br /&gt;&lt;br /&gt;TargetVendor=   0x1e0e&lt;br /&gt;TargetProduct=  0x9000&lt;br /&gt;&lt;br /&gt;# Not really necessary because IDs of target device are different&lt;br /&gt;TargetClass=    0xff&lt;br /&gt;&lt;br /&gt;MessageEndpoint=0x1&lt;br /&gt;MessageContent="555342431234567800000000000006bd000000020000000000000000000000"&lt;br /&gt;&lt;br /&gt;ResponseEndpoint=0x1&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;4. Create /usr/sbin/prolink_hsdpa.sh with the content given bellow and make it executable (chmod +x /usr/sbin/prolink_hsdpa.sh)&lt;br /&gt;&lt;div style="overflow: scroll; background-color: silver; height: 300px;"&gt;&lt;code&gt;&lt;/code&gt;&lt;code&gt;#!/bin/bash&lt;br /&gt;# Copyright (C) 2008 Nayanajit Mahendra Laxaman mail: nmlaxaman@gmail.com&lt;br /&gt;&lt;br /&gt;# This program is free software; you can redistribute it and/or modify&lt;br /&gt;# it under the terms of the GNU General Public License as published by&lt;br /&gt;# the Free Software Foundation; either version 2 of the License, or&lt;br /&gt;# (at your option) any later version.&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;code&gt;PATH=/usr/bin:/bin:/usr/sbin:/sbin&lt;br /&gt;modprobe -r usbserial&lt;br /&gt;sleep 1&lt;br /&gt;modprobe usbserial vendor=0x1e0e product=0x9000&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;5. Create /etc/udev/rules.d/45-prolink_hsdpa.rules with the content given bellow&lt;br /&gt;&lt;div style="overflow: scroll; background-color: silver; height: 300px;"&gt;&lt;code&gt;# Copyright (C) 2008 Nayanajit Mahendra Laxaman mail: nmlaxaman@gmail.com&lt;br /&gt;&lt;br /&gt;# This program is free software; you can redistribute it and/or modify&lt;br /&gt;# it under the terms of the GNU General Public License as published by&lt;br /&gt;# the Free Software Foundation; either version 2 of the License, or&lt;br /&gt;# (at your option) any later version.&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;ACTION=="add", SUBSYSTEMS=="scsi", DRIVERS=="sr", \&lt;br /&gt;ATTR{manufacturer}=="PROLINK ", \&lt;br /&gt;RUN:=""&lt;br /&gt;&lt;br /&gt;SUBSYSTEM=="usb", SYSFS{idProduct}=="f000", SYSFS{idVendor}=="1e0e", \&lt;br /&gt;RUN:="/usr/sbin/usb_modeswitch"&lt;br /&gt;&lt;br /&gt;SUBSYSTEM=="usb", SYSFS{idProduct}=="9000", SYSFS{idVendor}=="1e0e", \&lt;br /&gt;RUN:="/usr/sbin/prolink_hsdpa.sh"&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;6. Thats it now you can plug your PROLINK PHS100 hsdpa dongle you will see some devices in /dev/ such as ttyUSB0 ttyUSB1 ttyUSB2 ttyUSB3 ttyUSB3 will the working one for data connection&lt;br /&gt;&lt;br /&gt;7. You can use wvdial to dial your connection. If you don't have wvdial then install it (apt-get install wvdial). copy following content to /etc/wvdial.conf and type wvdial in your terminal to connect.&lt;br /&gt;&lt;br /&gt;&lt;div style="overflow: scroll; background-color: silver; height: 300px;"&gt;&lt;code&gt;&lt;br /&gt;[Dialer Defaults]&lt;br /&gt;Modem = /dev/ttyUSB3&lt;br /&gt;Baud = 1843200&lt;br /&gt;Modem Type = Analog Modem&lt;br /&gt;Init2 = ATZ&lt;br /&gt;Init3 = ATQ0 V1 E1 S0=0 &amp;amp;C1 &amp;amp;D2 +FCLASS=0&lt;br /&gt;Init4 = AT+CGDCONT=1,"IP","&lt;our&gt;"&lt;br /&gt;Dial Command = ATDT&lt;br /&gt;Phone = *99***1#&lt;br /&gt;Username = ''&lt;br /&gt;Password = ''&lt;br /&gt;Stupid Mode = yes&lt;/our&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-4083280832795268257?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/4083280832795268257/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2009/04/prolink-phs100-hsdpa-workout-for-debian.html#comment-form' title='14 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/4083280832795268257'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/4083280832795268257'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2009/04/prolink-phs100-hsdpa-workout-for-debian.html' title='[solved] PROLINK PHS100 HSDPA workout for Debian lenny and Ubuntu intrepid'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-5332828148673587485</id><published>2009-04-24T09:27:00.000-07:00</published><updated>2009-04-24T09:40:24.818-07:00</updated><title type='text'>Script to add applications to fvwm-crystal menu</title><content type='html'>Following script will add applications to fvwm-crystal menu&lt;br /&gt;&lt;br /&gt;Screenshot of fvwm-crystal:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_5e88KWjsOls/SfHpwdaTbMI/AAAAAAAAAMg/RZ5AEHO7UXY/s1600-h/scrnS1D4ji.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 250px;" src="http://4.bp.blogspot.com/_5e88KWjsOls/SfHpwdaTbMI/AAAAAAAAAMg/RZ5AEHO7UXY/s400/scrnS1D4ji.png" alt="" id="BLOGGER_PHOTO_ID_5328296852893953218" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="overflow: scroll; background-color: silver; height: 300px;"&gt;&lt;code&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;APP_BASE=/usr/share/fvwm-crystal/fvwm/Applications&lt;br /&gt;#APP_BASE=~/.fvwm/Applications/&lt;br /&gt;&lt;br /&gt;if [[ $1 == '' ]]&lt;br /&gt;then&lt;br /&gt;echo "Usage:"&lt;br /&gt;echo "$0 &lt;app path=""&gt; [icon name]"&lt;br /&gt;exit 0&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;if [[ ! -e $APP_BASE  ]]&lt;br /&gt;then&lt;br /&gt;echo "Menu base does not exists!"&lt;br /&gt;exit 0&lt;br /&gt;#mkdir -p $APP_BASE&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;MENUS=($( ls $APP_BASE ));&lt;br /&gt;MENU=&lt;br /&gt;APP=$1&lt;br /&gt;APP_NAME=`basename $1`&lt;br /&gt;ICON=$2&lt;br /&gt;SCRIPT=&lt;br /&gt;&lt;br /&gt;if [[ `which $APP` == '' &amp;amp;&amp;amp;  ! -e $APP ]]&lt;br /&gt;then&lt;br /&gt;echo "$APP does not exists!"&lt;br /&gt;exit 0&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;i=0&lt;br /&gt;while true&lt;br /&gt;do&lt;br /&gt;[[ ${MENUS[$i]} == '' ]] &amp;amp;&amp;amp; break;&lt;br /&gt;echo "$i. ${MENUS[$i]}"&lt;br /&gt;i=`expr $i + 1`&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;OPT=''&lt;br /&gt;echo "Enter Menu number to insert item:"&lt;br /&gt;read OPT&lt;br /&gt;if [[ $OPT -lt $i &amp;amp;&amp;amp;  $OPT -ge 0 ]]&lt;br /&gt;then&lt;br /&gt;MENU=${MENUS[$OPT]}&lt;br /&gt;else&lt;br /&gt;echo "wrong"&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;if [[ $2 == '' ]]&lt;br /&gt;then&lt;br /&gt;ICON=$APP_NAME&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;SCRIPT="~$ICON~$APP_NAME"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ANS=""&lt;br /&gt;echo "Menu item: $APP_BASE/$MENU/$SCRIPT"&lt;br /&gt;echo "Continue creating menu item? [y/n]: "&lt;br /&gt;read ANS&lt;br /&gt;if [[ $ANS == 'y' ]]&lt;br /&gt;then&lt;br /&gt;if [[ -e $SCRIPT ]]&lt;br /&gt;then&lt;br /&gt;echo "Script exists!";&lt;br /&gt;else&lt;br /&gt;echo "#!/bin/sh&lt;br /&gt;exec $APP \$@&lt;br /&gt;" &gt; $APP_BASE/$MENU/$SCRIPT&lt;br /&gt;chmod +x $APP_BASE/$MENU/$SCRIPT&lt;br /&gt;fi&lt;br /&gt;else&lt;br /&gt;echo "Not creating menu item!"&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;&lt;/app&gt;&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;Save the script in /usr/bin/fvwm-crystal-menu-gen.sh and make it executable (chmod +x /usr/bin/fvwm-crystal-menu-gen.sh). Use following sytax to add applications to menus&lt;br /&gt;&lt;br /&gt;/usr/bin/fvwm_crystal_menu_gen.sh &lt;app&gt; [icon name]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If the application is in PATH you don't have to enter absolute path as &lt;app&gt; just give  application name. If you want to acompany an icon with a different name input it in place [icon name]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-5332828148673587485?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/5332828148673587485/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2009/04/script-to-add-applications-to-fvwm.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/5332828148673587485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/5332828148673587485'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2009/04/script-to-add-applications-to-fvwm.html' title='Script to add applications to fvwm-crystal menu'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_5e88KWjsOls/SfHpwdaTbMI/AAAAAAAAAMg/RZ5AEHO7UXY/s72-c/scrnS1D4ji.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-3725099869500466170</id><published>2009-04-24T08:32:00.000-07:00</published><updated>2009-04-24T08:53:19.466-07:00</updated><title type='text'>Script to change icons in fvwm-crystal menus</title><content type='html'>I'm using &lt;a href="http://www.fvwm-crystal.org/"&gt;fvwm-crystle&lt;/a&gt; because it is:&lt;br /&gt;1. light weight&lt;br /&gt;2. eyecandy&lt;br /&gt;3. user friendly&lt;br /&gt;4. customizable&lt;br /&gt;5. different&lt;br /&gt;&lt;br /&gt;see the screenshot:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_5e88KWjsOls/SfHeiPq4rPI/AAAAAAAAAMY/-sbiFE5j-WY/s1600-h/scrnzGwJrW.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 250px;" src="http://4.bp.blogspot.com/_5e88KWjsOls/SfHeiPq4rPI/AAAAAAAAAMY/-sbiFE5j-WY/s400/scrnzGwJrW.png" alt="" id="BLOGGER_PHOTO_ID_5328284514059332850" border="0" /&gt;&lt;/a&gt;Script:&lt;br /&gt;&lt;br /&gt;&lt;div style="overflow: scroll; background-color: silver; height: 300px;"&gt;&lt;code&gt;&lt;br /&gt;#!/bin/bash&lt;/code&gt;&lt;br /&gt;&lt;code&gt;if [[ $1 == '' ]]&lt;br /&gt;then&lt;br /&gt;echo "usage"&lt;br /&gt;echo "$0 &lt;icon name=""&gt; [comparable icon name]"&lt;br /&gt;exit 0&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;FVWM_ICON_PATH="/usr/share/fvwm-crystal/fvwm/icons/Default"&lt;br /&gt;ICON_NAME=$1.png&lt;br /&gt;ICON_PATH=""&lt;br /&gt;ICON_PATH_ARR=""&lt;br /&gt;&lt;br /&gt;if [[ $2 != '' ]]&lt;br /&gt;then&lt;br /&gt;#ICON_PATH=(`for icon in $( locate $2 | grep -e "\/$2.png" -e  "\/$2.jpg" -e  "\/$2.svg" ); do echo $icon; done`)&lt;br /&gt;ICON_PATH_ARR=($( locate $2 | grep -e "\/$2.png" -e  "\/$2.jpg" -e  "\/$2.svg" ))&lt;br /&gt;else&lt;br /&gt;ICON_PATH_ARR=($( locate $1 | grep  -e "\/$1.png" -e  "\/$1.jpg" -e  "\/$1.svg" ))&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;if [[  $ICON_PATH_ARR == '' ]]&lt;br /&gt;then&lt;br /&gt;echo "Icon not found!!"&lt;br /&gt;exit 0&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;i=0&lt;br /&gt;while true&lt;br /&gt;do&lt;br /&gt;[[ ${ICON_PATH_ARR[$i]} == '' ]] &amp;amp;&amp;amp; break;&lt;br /&gt;echo "$i. ${ICON_PATH_ARR[$i]}"&lt;br /&gt;i=`expr $i + 1`&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;OPT=''&lt;br /&gt;echo "Enter icon number to convert:"&lt;br /&gt;read OPT&lt;br /&gt;if [[ $OPT -lt $i &amp;amp;&amp;amp;  $OPT -ge 0 ]]&lt;br /&gt;then&lt;br /&gt;ICON_PATH=${ICON_PATH_ARR[$OPT]}&lt;br /&gt;else&lt;br /&gt;echo "wrong"&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;if [[  $ICON_PATH  != '' || $ICON_NAME  != '' ]]&lt;br /&gt;then&lt;br /&gt;&lt;br /&gt;ANS=""&lt;br /&gt;echo "Icon destination: $ICON_PATH"&lt;br /&gt;echo "Icon name: $ICON_NAME"&lt;br /&gt;echo "Continue creating icons? [y/n]: "&lt;br /&gt;read ANS&lt;br /&gt;if [[ $ANS == 'y' ]]&lt;br /&gt;then&lt;br /&gt;#convert $ICON_PATH -resize 16 -format 'png' $FVWM_ICON_PATH/16x16/$ICON_NAME&lt;br /&gt;convert $ICON_PATH -resize 22 -format 'png' $FVWM_ICON_PATH/22x22/apps/$ICON_NAME&lt;br /&gt;convert $ICON_PATH -resize 32 -format 'png' $FVWM_ICON_PATH/32x32/apps/$ICON_NAME&lt;br /&gt;convert $ICON_PATH -resize 48 -format 'png' $FVWM_ICON_PATH/48x48/apps/$ICON_NAME&lt;br /&gt;else&lt;br /&gt;echo "Icons not creating!!"&lt;br /&gt;fi&lt;br /&gt;else&lt;br /&gt;echo "Icon Not found!!!"&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;&lt;/icon&gt;&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;It is easy to add icons. Save the script to a file (/usr/bin/fvwm-crystal-change-icons.sh)  and make it executable (chmod +x /usr/bin/fvwm-crystal-change-icons.sh ) and then type&lt;br /&gt;&lt;br /&gt;/usr/bin/fvwm-crystal-change-icons.sh  &lt;icon&gt; [comparable icon name]&lt;br /&gt;&lt;br /&gt;Here &lt;icon&gt; is mandatory and and it is the name of the correspoding application. [comparable icon name] is compulsary, if  icon with the given name is not available give the applicationn name as &lt;icon&gt; and also a comparable icon name&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-3725099869500466170?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/3725099869500466170/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2009/04/script-to-change-icons-in-fvwm-crystal.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/3725099869500466170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/3725099869500466170'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2009/04/script-to-change-icons-in-fvwm-crystal.html' title='Script to change icons in fvwm-crystal menus'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_5e88KWjsOls/SfHeiPq4rPI/AAAAAAAAAMY/-sbiFE5j-WY/s72-c/scrnzGwJrW.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-6459896990241578221</id><published>2009-02-23T19:56:00.000-08:00</published><updated>2009-02-27T15:55:07.432-08:00</updated><title type='text'>Multiseat for Dual headed(Multiple headed) grapic (VGA) version-0.3</title><content type='html'>Here I have modified &lt;a href="http://nmlaxaman.blogspot.com/2009/01/multiseat-for-dual-headedmultiple.html"&gt;Multiseat setup for Dual-Headed graphic cards&lt;/a&gt; which will be now supports more seats!(tested for four seats). Please refer &lt;a href="http://nmlaxaman.blogspot.com/2009/01/multiseat-for-dual-headedmultiple.html"&gt;earlier post&lt;/a&gt; for more information on how to setup&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/usr/bin/duautomseat:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="overflow: scroll; background-color: silver; height: 300px;"&gt;&lt;code&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;# Copyright (C) 2008 Nayanajit Mahendra Laxaman mail: nmlaxaman@gmail.com&lt;br /&gt;&lt;br /&gt;# This program is free software; you can redistribute it and/or modify&lt;br /&gt;# it under the terms of the GNU General Public License as published by&lt;br /&gt;# the Free Software Foundation; either version 2 of the License, or&lt;br /&gt;# (at your option) any later version.&lt;br /&gt;&lt;br /&gt;# This program is distributed in the hope that it will be useful,&lt;br /&gt;# but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the&lt;br /&gt;# GNU General Public License for more details.&lt;br /&gt;&lt;br /&gt;LOG=/var/log/duauto.log&lt;br /&gt;SESSION=$(echo $1 | sed s/':'/''/)&lt;br /&gt;SESSION_1=$(expr $SESSION - 2)&lt;br /&gt;SCREEN=""&lt;br /&gt;if [ $SESSION -gt 3 ]&lt;br /&gt;then&lt;br /&gt;export DISPLAY=:1&lt;br /&gt;export XAUTHORITY="/var/lib/gdm/:1.Xauth"&lt;br /&gt;SCREEN="1024x768@0+$(expr 1024 \* $( expr $SESSION_1 - 2))+0"&lt;br /&gt;else&lt;br /&gt;export DISPLAY=:0&lt;br /&gt;export XAUTHORITY="/var/lib/gdm/:0.Xauth"&lt;br /&gt;SCREEN="1024x768@0+$(expr 1024 \* $SESSION_1)+0"&lt;br /&gt;fi&lt;br /&gt;echo $SCREEN &gt;&gt; $LOG&lt;br /&gt;echo $DISPLAY &gt;&gt; $LOG&lt;br /&gt;echo $XAUTHORITY &gt;&gt; $LOG&lt;br /&gt;&lt;br /&gt;PARAMS=$@&lt;br /&gt;echo $PARAMS &gt;&gt; $LOG&lt;br /&gt;&lt;br /&gt;keyboards=($(ls -l /dev/input/by-path/ | grep -event- | grep kbd | awk -F '../' {'print $2'}))&lt;br /&gt;mouses=($(ls -l /dev/input/by-path/ | grep -event- | grep mouse | awk -F '../' {'print $2'}))&lt;br /&gt;echo $keyboards &gt;&gt; $LOG&lt;br /&gt;echo $mouses &gt;&gt; $LOG&lt;br /&gt;#PARAMS="dpms -switchCmd echo -2button -nozap -br $PARAMS"&lt;br /&gt;PARAMS="dpms  -nozap -br $PARAMS"&lt;br /&gt;command="/usr/bin/Xephyr -ac -screen $SCREEN -keybd evdev,,device=/dev/input/${keyboards[$SESSION_1]},xkbrules=xorg,xkbmodel=evdev,xkblayout=us,CoreKeyboard -mouse evdev,,device=/dev/input/${mouses[$SESSION_1]},Emulate3Buttons=true,CorePointer $PARAMS"&lt;br /&gt;echo $command  &gt;&gt; $LOG&lt;br /&gt;echo '&lt;&lt;&lt;end&gt;&gt;&gt;' &gt;&gt; $LOG&lt;br /&gt;exec $command&lt;br /&gt;&lt;br /&gt;&lt;/end&gt;&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Append following to &lt;span style="font-family:courier new;"&gt;/etc/gdm/Init/Default&lt;/span&gt; before&lt;span style="font-family:courier new;"&gt; exit 0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="overflow: scroll; background-color: silver; height: 300px;"&gt;&lt;code&gt;&lt;br /&gt;WIDTH=1024&lt;br /&gt;&lt;br /&gt;export DISPLAY=:0&lt;br /&gt;export XAUTHORITY="/var/lib/gdm/:0.Xauth"&lt;br /&gt;COUNT0=$(xwininfo -root -children -display :0 | grep 'Xephyr' | wc -l)&lt;br /&gt;export DISPLAY=:1&lt;br /&gt;export XAUTHORITY="/var/lib/gdm/:1.Xauth"&lt;br /&gt;COUNT1=$(xwininfo -root -children -display :1 | grep 'Xephyr' | wc -l)&lt;br /&gt;LOG=/var/log/init.log&lt;br /&gt;echo "COUNT0:"$COUNT0  &gt;&gt; $LOG&lt;br /&gt;echo "COUNT1:"$COUNT1  &gt;&gt; $LOG&lt;br /&gt;&lt;br /&gt;if [[ $COUNT1 != 0 ]]&lt;br /&gt;then&lt;br /&gt;export DISPLAY=:1&lt;br /&gt;export XAUTHORITY="/var/lib/gdm/:1.Xauth"&lt;br /&gt;echo "DISPLAY:"$DISPLAY  &gt;&gt; $LOG&lt;br /&gt;echo "XAUTHORITY:"$XAUTHORITY  &gt;&gt; $LOG&lt;br /&gt;&lt;br /&gt;XEID=$(xwininfo -root -children -display :1 | grep "Xephyr on :$( expr $COUNT1 + 3)" --max-count=1 | awk '{print $1}')&lt;br /&gt;echo "XEID:"$XEID  &gt;&gt; $LOG&lt;br /&gt;SHIFT=$(expr $WIDTH \* $(expr $COUNT1 - 1))&lt;br /&gt;echo "int 1" &gt;&gt; $LOG&lt;br /&gt;echo "SHIFT:"$SHIFT  &gt;&gt; $LOG&lt;br /&gt;[[ $XEID != '' ]] &amp;amp;&amp;amp; wmctrl -i -r $XEID -e 0,$SHIFT,0,-1,-1&lt;br /&gt;&lt;br /&gt;elif [[ $COUNT0 != 0 ]]&lt;br /&gt;then&lt;br /&gt;export DISPLAY=:0&lt;br /&gt;export XAUTHORITY="/var/lib/gdm/:0.Xauth"&lt;br /&gt;echo "DISPLAY:"$DISPLAY  &gt;&gt; $LOG&lt;br /&gt;echo "XAUTHORITY:"$XAUTHORITY  &gt;&gt; $LOG&lt;br /&gt;&lt;br /&gt;XEID=$(xwininfo -root -children -display :0 | grep "Xephyr on :$(expr $COUNT0 + 1)" --max-count=1 | awk '{print $1}')&lt;br /&gt;echo "XEID:"$XEID  &gt;&gt; $LOG&lt;br /&gt;SHIFT=$(expr $WIDTH \* $(expr $COUNT0 - 1))&lt;br /&gt;echo "int 2" &gt;&gt; $LOG&lt;br /&gt;echo "SHIFT:"$SHIFT  &gt;&gt; $LOG&lt;br /&gt;[[ $XEID != '' ]] &amp;amp;&amp;amp; wmctrl -i -r $XEID -e 0,$SHIFT,0,-1,-1&lt;br /&gt;fi&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/etc/gdm/gdm.conf&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;div style="overflow: scroll; background-color: silver; height: 300px;"&gt;&lt;code&gt;&lt;br /&gt;#&lt;br /&gt;[servers]&lt;br /&gt;0=Xephyr0&lt;br /&gt;1=Xephyr1&lt;br /&gt;&lt;br /&gt;2=Xephyr2&lt;br /&gt;3=Xephyr3&lt;br /&gt;4=Xephyr4&lt;br /&gt;5=Xephyr5&lt;br /&gt;&lt;br /&gt;[server-Xephyr0]&lt;br /&gt;name=Xephyr0&lt;br /&gt;command=/usr/bin/X -br -dpms -layout layout0 -novtswitch -sharevts&lt;br /&gt;handled=false&lt;br /&gt;flexible=false&lt;br /&gt;&lt;br /&gt;[server-Xephyr1]&lt;br /&gt;name=Xephyr1&lt;br /&gt;command=/usr/bin/X -br -dpms -layout layout1 -novtswitch -sharevts&lt;br /&gt;handled=false&lt;br /&gt;flexible=false&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[server-Xephyr2]&lt;br /&gt;name=Xephyr2&lt;br /&gt;command=/usr/bin/duautomseat&lt;br /&gt;handled=true&lt;br /&gt;flexible=false&lt;br /&gt;&lt;br /&gt;[server-Xephyr3]&lt;br /&gt;name=Xephyr3&lt;br /&gt;command=/usr/bin/duautomseat&lt;br /&gt;handled=true&lt;br /&gt;flexible=false&lt;br /&gt;&lt;br /&gt;[server-Xephyr4]&lt;br /&gt;name=Xephyr4&lt;br /&gt;command=/usr/bin/duautomseat&lt;br /&gt;handled=true&lt;br /&gt;flexible=false&lt;br /&gt;&lt;br /&gt;[server-Xephyr5]&lt;br /&gt;name=Xephyr5&lt;br /&gt;command=/usr/bin/duautomseat&lt;br /&gt;handled=true&lt;br /&gt;flexible=false&lt;br /&gt;&lt;br /&gt;[greeter]&lt;br /&gt;GraphicalThemes=circles/:debian-moreblue/:happygnome/:happygnome-list&lt;br /&gt;GraphicalThemeRand=true&lt;br /&gt;GraphicalTheme=circles&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/etc/X11/xorg.conf&lt;/span&gt;:&lt;br /&gt;&lt;div style="overflow: scroll; background-color: silver; height: 300px;"&gt;&lt;code&gt;&lt;br /&gt;Section "InputDevice"&lt;br /&gt;Identifier "Generic Keyboard"&lt;br /&gt;Driver  "kbd"&lt;br /&gt;Option  "XkbRules" "xorg"&lt;br /&gt;Option  "XkbModel" "pc104"&lt;br /&gt;Option  "XkbLayout" "us"&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section "InputDevice"&lt;br /&gt;Identifier "Configured Mouse"&lt;br /&gt;Driver  "mouse"&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section "Device"&lt;br /&gt;Identifier "Configured Video Device0"&lt;br /&gt;Driver  "nvidia"&lt;br /&gt;Busid   "PCI:17:12:0"&lt;br /&gt;Option   "NoInt10" "No"&lt;br /&gt;Option  "Twinview" "true"&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section "Device"&lt;br /&gt;Identifier "Configured Video Device1"&lt;br /&gt;Driver  "nvidia"&lt;br /&gt;Busid   "PCI:17:10:0"&lt;br /&gt;Option   "NoInt10" "No"&lt;br /&gt;Option  "Twinview" "true"&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Section "Monitor"&lt;br /&gt;Identifier "Configured Monitor0"&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section "Monitor"&lt;br /&gt;Identifier "Configured Monitor1"&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Section "Screen"&lt;br /&gt;Identifier "Default Screen0"&lt;br /&gt;Monitor  "Configured Monitor0"&lt;br /&gt;Device  "Configured Video Device0"&lt;br /&gt; DefaultDepth    24&lt;br /&gt; Subsection      "Display"&lt;br /&gt;  Viewport    0 0&lt;br /&gt;         Depth   24&lt;br /&gt;         Modes    "1024x768"&lt;br /&gt;         Virtual 2048 768&lt;br /&gt; EndSubSection&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section "Screen"&lt;br /&gt;Identifier "Default Screen1"&lt;br /&gt;Monitor  "Configured Monitor1"&lt;br /&gt;Device  "Configured Video Device1"&lt;br /&gt; DefaultDepth    24&lt;br /&gt; Subsection      "Display"&lt;br /&gt;  Viewport    0 0&lt;br /&gt;         Depth   24&lt;br /&gt;         Modes    "1024x768"&lt;br /&gt;         Virtual 2048 768&lt;br /&gt; EndSubSection&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section "ServerLayout"&lt;br /&gt;Identifier  "layout0"&lt;br /&gt;screen   "Default Screen0"  0 0&lt;br /&gt;Inputdevice  "Generic Keyboard"&lt;br /&gt;Inputdevice  "Configured Mouse"&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section "ServerLayout"&lt;br /&gt;Identifier  "layout1"&lt;br /&gt;screen   "Default Screen1"  0 0&lt;br /&gt;Inputdevice  "Generic Keyboard"&lt;br /&gt;Inputdevice  "Configured Mouse"&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Section "ServerFlags"&lt;br /&gt;#Option "DontZap"   "true"&lt;br /&gt;#Option "DontVTSwitch"   "true"&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;To find  Busid for each Graphic card use;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;lspci | grep -i vga | awk '{print $1}'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;then convert the hex values in to decimal for example:&lt;br /&gt;&lt;table border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;hex&lt;/td&gt;&lt;td&gt;decimal&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;&lt;span style="font-family:courier new;"&gt;11:0c:0&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-family:courier new;"&gt;17:12:0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;11 -&gt; 17&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;0c -&gt; 12&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;0  -&gt; 0&lt;/span&gt;&lt;br /&gt;.~&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-6459896990241578221?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/6459896990241578221/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2009/02/multiseat-for-dual-headedmultiple_23.html#comment-form' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/6459896990241578221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/6459896990241578221'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2009/02/multiseat-for-dual-headedmultiple_23.html' title='Multiseat for Dual headed(Multiple headed) grapic (VGA) version-0.3'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-85833645304873599</id><published>2009-02-15T23:16:00.000-08:00</published><updated>2009-02-23T19:54:57.737-08:00</updated><title type='text'>Multiseat for Dual headed(Multiple headed) grapic (VGA) version-0.2</title><content type='html'>Here I have modified &lt;a href="http://nmlaxaman.blogspot.com/2009/01/multiseat-for-dual-headedmultiple.html"&gt;Multiseat setup for Dual-Headed graphic cards&lt;/a&gt; which will be now supports more seats!. Please refer &lt;a href="http://nmlaxaman.blogspot.com/2009/01/multiseat-for-dual-headedmultiple.html"&gt;earlier post&lt;/a&gt; for more information on how to setup&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/usr/bin/duautomseat:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="overflow: scroll; background-color: silver; height: 300px;"&gt;&lt;code&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;# Copyright (C) 2008 Nayanajit Mahendra Laxaman mail: nmlaxaman@gmail.com&lt;br /&gt;&lt;br /&gt;# This program is free software; you can redistribute it and/or modify&lt;br /&gt;# it under the terms of the GNU General Public License as published by&lt;br /&gt;# the Free Software Foundation; either version 2 of the License, or&lt;br /&gt;# (at your option) any later version.&lt;br /&gt;&lt;br /&gt;# This program is distributed in the hope that it will be useful,&lt;br /&gt;# but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the&lt;br /&gt;# GNU General Public License for more details.&lt;br /&gt;&lt;br /&gt;LOG=/tmp/duauto.log&lt;br /&gt;export DISPLAY=:0&lt;br /&gt;export XAUTHORITY="/var/lib/gdm/:0.Xauth"&lt;br /&gt;echo $DISPLAY &gt;&gt; $LOG&lt;br /&gt;echo $XAUTHORITY &gt;&gt; $LOG&lt;br /&gt;&lt;br /&gt;PARAMS=$@&lt;br /&gt;echo $PARAMS &gt;&gt; $LOG&lt;br /&gt;&lt;br /&gt;keyboards=($(ls -l /dev/input/by-path/ | grep -event- | grep kbd | awk -F '../' {'print $2'}))&lt;br /&gt;mouses=($(ls -l /dev/input/by-path/ | grep -event- | grep mouse | awk -F '../' {'print $2'}))&lt;br /&gt;&lt;br /&gt;#PARAMS="dpms -switchCmd echo -2button -nozap -br $PARAMS"&lt;br /&gt;PARAMS="dpms  -nozap -br $PARAMS"&lt;br /&gt;SESSION=$(echo $1 | sed s/':'/''/)&lt;br /&gt;SESSION_1=$(expr $SESSION - 1)&lt;br /&gt;SCREEN="1024x768@0+$(expr 1024 \* $SESSION_1)+0"&lt;br /&gt;command="/usr/bin/Xephyr -ac :$SESSION -screen $SCREEN -keybd evdev,,device=/dev/input/${keyboards[$SESSION_1]},xkbrules=xorg,xkbmodel=evdev,xkblayout=us,CoreKeyboard -mouse evdev,,device=/dev/input/${mouses[$SESSION_1]},Emulate3Buttons=true,CorePointer $PARAMS"&lt;br /&gt;echo $command &gt;&gt; $LOG&lt;br /&gt;echo '&lt;&lt;&lt;end&gt;&gt;&gt;' &gt;&gt; $LOG&lt;br /&gt;#exec $command&lt;br /&gt;&lt;br /&gt;&lt;/end&gt;&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;Append following to /etc/gdm/Init/Default&lt;div style="overflow: scroll; background-color: silver; height: 300px;"&gt;&lt;code&gt;&lt;br /&gt;export DISPLAY=:0&lt;br /&gt;export XAUTHORITY="/var/lib/gdm/:0.Xauth"&lt;br /&gt;WIDTH=1024&lt;br /&gt;COUNT=$(xwininfo -root -children -display :0 | grep 'Xephyr on' | wc -l)&lt;br /&gt;XEID=$(xwininfo -root -children -display :0 | grep "Xephyr on :$COUNT" --max-count=1 | awk '{print $1}')&lt;br /&gt;SHIFT=$(expr $WIDTH \* $(expr $COUNT - 1))&lt;br /&gt;[[ $XEID != '' ]] &amp;amp;&amp;amp; wmctrl -i -r $XEID -e 0,$SHIFT,0,-1,-1&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;/etc/gdm/gdm.conf:&lt;br /&gt;&lt;br /&gt;&lt;div style="overflow: scroll; background-color: silver; height: 300px;"&gt;&lt;code&gt;&lt;br /&gt;#&lt;br /&gt;[servers]&lt;br /&gt;0=Xephyr0&lt;br /&gt;1=Xephyr1&lt;br /&gt;2=Xephyr2&lt;br /&gt;3=Xephyr3&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;N=XephyrN&lt;br /&gt;&lt;br /&gt;[server-Xephyr0]&lt;br /&gt;name=Xephyr0&lt;br /&gt;command=/usr/bin/X -br -dpms -s 0&lt;br /&gt;handled=false&lt;br /&gt;flexible=false&lt;br /&gt;&lt;br /&gt;[server-Xephyr1]&lt;br /&gt;name=Xephyr1&lt;br /&gt;command=/usr/bin/duautomseat&lt;br /&gt;handled=true&lt;br /&gt;flexible=false&lt;br /&gt;&lt;br /&gt;[server-Xephyr2]&lt;br /&gt;name=Xephyr2&lt;br /&gt;command=/usr/bin/duautomseat&lt;br /&gt;handled=true&lt;br /&gt;flexible=false&lt;br /&gt;&lt;br /&gt;[server-Xephyr3]&lt;br /&gt;name=Xephyr3&lt;br /&gt;command=/usr/bin/duautomseat&lt;br /&gt;handled=true&lt;br /&gt;flexible=false&lt;br /&gt;&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;&lt;br /&gt;[server-XephyrN]&lt;br /&gt;name=XephyrN&lt;br /&gt;command=/usr/bin/duautomseat&lt;br /&gt;handled=true&lt;br /&gt;flexible=false&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[greeter]&lt;br /&gt;#Greeter=/usr/bin/loginduautomseat&lt;br /&gt;GraphicalThemes=circles/:debian-moreblue/:happygnome/:happygnome-list&lt;br /&gt;GraphicalThemeRand=true&lt;br /&gt;GraphicalTheme=circles&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-85833645304873599?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/85833645304873599/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2009/02/multiseat-for-dual-headedmultiple.html#comment-form' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/85833645304873599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/85833645304873599'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2009/02/multiseat-for-dual-headedmultiple.html' title='Multiseat for Dual headed(Multiple headed) grapic (VGA) version-0.2'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-3187144507411195392</id><published>2009-02-11T09:44:00.000-08:00</published><updated>2009-02-11T10:01:26.620-08:00</updated><title type='text'>kannel send sms to specific port</title><content type='html'>To send sms to a specific port number ( eg: port in your j2me application ) you have to add following extra parameter to kannel send sms url&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;udh=&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;which will specify the User Data Header of the sms. For example following url will send the sms to port 6579&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;http://127.0.0.1:13013/cgi-bin/sendsms?username=[kannel user]&amp;amp;password=[kannel passwd]&amp;amp;to=[to phone number]&amp;amp;text=[message text]&amp;amp;udh=%06%05%04%19%B3&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As you can see udh is a url-encoded string and it have a standard format as follows;&lt;br /&gt;&lt;br /&gt;[how long the UDH is] [the format used to specify ports numbers] [the port number length] [destination port number] [source port number]&lt;br /&gt;&lt;br /&gt;As a practical example, say I want to create a UDH to send a sms to port 2948, the UDH will be:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;06 05 04 0B 84 23 F0 -&gt; 06%05%04%0B%84%23%F0 &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;where:&lt;br /&gt;&lt;br /&gt;* 06 means "hey read the following 6 bytes"&lt;br /&gt;* 05 is the format for numbers, in this case hexadecimal numbers&lt;br /&gt;* 04 will tell the UDH that each port is represented using 4 character&lt;br /&gt;* 0B84 is the destination port in hexadecimal, 2948 (decimal representation)&lt;br /&gt;* 23F0 is the source port in hexadecimal, 9200 (decimal representation) or 23F0 (hexadecimal representation).&lt;br /&gt;&lt;br /&gt;You have to keep in mind that after adding udh to the url, sms will be transfred as a binary messaage.&lt;br /&gt;&lt;br /&gt;Ref:&lt;a href="http://mobiforge.com/developing/story/binary-sms-sending-rich-content-devices-using-sms"&gt;http://mobiforge.com/developing/story/binary-sms-sending-rich-content-devices-using-sms&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-3187144507411195392?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/3187144507411195392/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2009/02/kannel-send-sms-to-specific-port.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/3187144507411195392'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/3187144507411195392'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2009/02/kannel-send-sms-to-specific-port.html' title='kannel send sms to specific port'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-1130530849840851535</id><published>2009-02-11T08:53:00.000-08:00</published><updated>2009-02-11T10:05:49.747-08:00</updated><title type='text'>kannel sms delivery report workout</title><content type='html'>1) Add one of the following options to core group of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;kannel&lt;/span&gt; configuration. If you use &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;mysql&lt;/span&gt; as &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;dlr&lt;/span&gt;-storage you have to configure two more groups to associate &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;mysql&lt;/span&gt; with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;kannel&lt;/span&gt;. If you use &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;dlr&lt;/span&gt;-storage=internal skip step 2. If you use &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;dlr&lt;/span&gt;-storage=internal the data is not tangible according to my knowledge. Also keep in mind that there are other parameters for &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;dlr&lt;/span&gt;-storage which we can use to connect with other databases like &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;postgresql&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;dlr&lt;/span&gt;-storage = internal&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;dlr&lt;/span&gt;-storage = &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;mysql&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;2) If you use &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;mysql&lt;/span&gt; add following two groups to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;kannel&lt;/span&gt;.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;conf&lt;/span&gt; (or to separate file and include that file). Put your database &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;username&lt;/span&gt; and password to the place of &lt;username&gt; [db user] and [db &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;passwd&lt;/span&gt;] &lt;passworrd&gt;. Group &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;dlr&lt;/span&gt;-db uses to specify the table and map the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;feilds&lt;/span&gt; together. if you configure for &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;mysql&lt;/span&gt;, the message will be &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_20"&gt;temporarily&lt;/span&gt; stored in the table &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_21"&gt;until&lt;/span&gt; it reaches the destination.&lt;br /&gt;&lt;div style="overflow: scroll; background-color: silver; height: 300px;"&gt;&lt;code&gt;&lt;br /&gt;group = &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;mysql&lt;/span&gt;-connection&lt;br /&gt;id = &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;mydlr&lt;/span&gt;             &lt;br /&gt;host = &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;localhost&lt;/span&gt;       &lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;username&lt;/span&gt; = [db user]&lt;username&gt;         &lt;br /&gt;password = [db &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;passwd&lt;/span&gt;]&lt;password&gt;&lt;br /&gt;database = &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;kannel&lt;/span&gt;      &lt;br /&gt;max-connections = 1    &lt;br /&gt;               &lt;br /&gt;group = &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;dlr&lt;/span&gt;-db         &lt;br /&gt;id = &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;mydlr&lt;/span&gt;             &lt;br /&gt;table = &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;dlr&lt;/span&gt;            &lt;br /&gt;field-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31"&gt;smsc&lt;/span&gt; = &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32"&gt;smsc&lt;/span&gt;      &lt;br /&gt;field-timestamp = ts   &lt;br /&gt;field-destination = destination&lt;br /&gt;field-source = source  &lt;br /&gt;field-service = service&lt;br /&gt;field-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_33"&gt;url&lt;/span&gt; = &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_34"&gt;url&lt;/span&gt;        &lt;br /&gt;field-mask = mask      &lt;br /&gt;field-status = status  &lt;br /&gt;field-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_35"&gt;boxc&lt;/span&gt;-id = &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_36"&gt;boxc&lt;/span&gt;&lt;br /&gt;&lt;/password&gt;&lt;/username&gt;&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_37"&gt;Thats&lt;/span&gt; all for &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_38"&gt;kannel&lt;/span&gt;.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_39"&gt;conf&lt;/span&gt;...&lt;br /&gt;&lt;br /&gt;3) Now you have to introduce following extra parameters to your &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_40"&gt;kannel&lt;/span&gt; send &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_41"&gt;sms&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_42"&gt;url&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_43"&gt;dlr&lt;/span&gt;-mask=&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_44"&gt;dlr&lt;/span&gt;-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_45"&gt;url&lt;/span&gt;=&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_46"&gt;dlr&lt;/span&gt;-mask specifies the types of reports which &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_47"&gt;kannel&lt;/span&gt; should generate. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_48"&gt;dlr&lt;/span&gt;-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_49"&gt;url&lt;/span&gt; specifies the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_50"&gt;url&lt;/span&gt; which will be called when the delivery report is received. For &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_51"&gt;dlr&lt;/span&gt;-mask you can use one of the following mask numbers or any combination of them.&lt;br /&gt;&lt;br /&gt;1: delivery success&lt;br /&gt;&lt;br /&gt;2: delivery failure&lt;br /&gt;&lt;br /&gt;4: message buffered&lt;br /&gt;&lt;br /&gt;8: &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_52"&gt;smsc&lt;/span&gt; submit&lt;br /&gt;&lt;br /&gt;16: &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_53"&gt;smsc&lt;/span&gt; reject&lt;br /&gt;&lt;br /&gt;If you want multiple report types, you simply add the values together. For &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_54"&gt;dlr&lt;/span&gt;-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_55"&gt;url&lt;/span&gt; you have to provide a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_56"&gt;url&lt;/span&gt;-encoded &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_57"&gt;url&lt;/span&gt; for example&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_58"&gt;url&lt;/span&gt;:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;http://localhost/sms/inc/deliveryReport.php?user=john&amp;amp;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_59"&gt;passwd&lt;/span&gt;=1234&amp;amp;type=%d&amp;amp;receiver=%p&amp;amp;reply=%A&amp;amp;time=%t&amp;amp;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_60"&gt;usr&lt;/span&gt;=%n&amp;amp;message=%b&lt;/span&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_61"&gt;urlencoded&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_62"&gt;url&lt;/span&gt;:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;http%3A%2F%2&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_63"&gt;Flocalhost&lt;/span&gt;%2&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_64"&gt;Fsms&lt;/span&gt;%2&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_65"&gt;Finc&lt;/span&gt;%2&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_66"&gt;FdeliveryReport&lt;/span&gt;.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_67"&gt;php&lt;/span&gt;%3&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_68"&gt;Fuser&lt;/span&gt;%3&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_69"&gt;Djohn&lt;/span&gt;%26&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_70"&gt;passwd&lt;/span&gt;%3D1234%26type%3D%25d%26receiver%3D%25p%26reply%3D%25A%26time%3D%25t%26&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_71"&gt;usr&lt;/span&gt;%3D%25n%26message%3D%25b&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If you use &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_72"&gt;php&lt;/span&gt; to interact with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_73"&gt;kannel&lt;/span&gt; you can easily generate &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_74"&gt;urlencoded&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_75"&gt;url&lt;/span&gt; using &lt;span style="font-family:courier new;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_76"&gt;urlencode&lt;/span&gt;(&lt;url&gt;)&lt;/url&gt;&lt;/span&gt; function.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;finally the resulting &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_77"&gt;url&lt;/span&gt; is like this&lt;br /&gt;http://localhost:13013/cgi-bin/sendsms?username=[kannel user]&lt;user&gt;&amp;amp;password=[&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_78"&gt;kannel&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_79"&gt;passwd&lt;/span&gt;]&lt;passwd&gt;&amp;amp;to=&lt;phone-no&gt;[to phone number]&amp;amp;text=[message text]&lt;message&gt;&amp;amp;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_80"&gt;dlr&lt;/span&gt;-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_81"&gt;url&lt;/span&gt;=http%3A%2F%2&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_82"&gt;Flocalhost&lt;/span&gt;%2&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_83"&gt;Fsms&lt;/span&gt;%2&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_84"&gt;Finc&lt;/span&gt;%2&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_85"&gt;FdeliveryReport&lt;/span&gt;.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_86"&gt;php&lt;/span&gt;%3&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_87"&gt;Fuser&lt;/span&gt;%3&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_88"&gt;Djohn&lt;/span&gt;%26&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_89"&gt;passwd&lt;/span&gt;%3D1234%26type%3D%25d%26receiver%3D%25p%26reply%3D%25A%26time%3D%25t%26&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_90"&gt;usr&lt;/span&gt;%3D%25n%26message%3D%25b&amp;amp;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_91"&gt;dlr&lt;/span&gt;-mask=7&lt;br /&gt;&lt;br /&gt;here I have used &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_92"&gt;dlr&lt;/span&gt;-mask=7 so  it will report following three types;&lt;br /&gt;1: delivery success&lt;br /&gt;&lt;br /&gt;2: delivery failure&lt;br /&gt;&lt;br /&gt;4: message buffered&lt;/message&gt;&lt;/phone-no&gt;&lt;/passwd&gt;&lt;/user&gt;&lt;/passworrd&gt;&lt;/username&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-1130530849840851535?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/1130530849840851535/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2009/02/kannel-sms-delivery-report-workout.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/1130530849840851535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/1130530849840851535'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2009/02/kannel-sms-delivery-report-workout.html' title='kannel sms delivery report workout'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-643412135591127693</id><published>2009-01-17T21:58:00.000-08:00</published><updated>2009-07-02T08:18:21.992-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='acer aspire 2930 oss-linux sound mic jak solved'/><title type='text'>Acer aspire 2930 Ubuntu sond card problems (mic,jak control) solved oss-linux</title><content type='html'>&lt;!-- &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_5e88KWjsOls/SXLWgF23plI/AAAAAAAAAMQ/inkLZeyvc_k/s1600-h/Screenshot.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 215px;" src="http://4.bp.blogspot.com/_5e88KWjsOls/SXLWgF23plI/AAAAAAAAAMQ/inkLZeyvc_k/s400/Screenshot.png" alt="" id="BLOGGER_PHOTO_ID_5292528358930228818" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1) Download &lt;span style="font-family:courier new;"&gt;oss-linux .rpm&lt;/span&gt; from &lt;a href="http://files.filefront.com/oss+linux+v40+1016i386rpm/;11473994;/fileinfo.html"&gt;here&lt;/a&gt;&lt;br /&gt;2) Convert it to &lt;span style="font-family:courier new;"&gt;.deb&lt;/span&gt; package with &lt;span style="font-family:courier new;"&gt;alien -d --scripts oss-linux-v4.0-1016.i386.rpm&lt;/span&gt;&lt;br /&gt;3)Stop all the applications using your sound card also the gnome panel applet&lt;br /&gt;4) install converted &lt;span style="font-family:courier new;"&gt;.deb&lt;/span&gt; package &lt;span style="font-family:courier new;"&gt;dpkg -i oss-linux_v4.0-1017_i386.deb&lt;/span&gt;&lt;br /&gt;( also you can directly download the &lt;span style="font-family:courier new;"&gt;.deb&lt;/span&gt; officially released package from &lt;a href="http://www.opensound.com/download.cgi"&gt;here&lt;/a&gt;, checking which one is good is up to you )&lt;br /&gt;5) Reboot the system and run &lt;span style="font-family:courier new;"&gt;ossxmix&lt;/span&gt; there you can find four seperate controls for front speakers and three jaks and many controls to configure the sound card.&lt;br /&gt;6)By checking &lt;span style="font-weight: bold;"&gt;input-mix-mute&lt;/span&gt; in mixer as rounded above image, you will be able to cut the noises.&lt;br /&gt;7)To enable microphone find &lt;span style="font-weight: bold;"&gt;int-mic&lt;/span&gt; in mixer window (I have rounded it above image)  and uncheck it if it is already checked checking all other inputs before using the mic is a good idea, to do that check all the boxes. To check the mic open voice recorder and record some sound and check.&lt;br /&gt;8)If you want to add a menu entry to ossxmix coppy following to &lt;span style="font-family:courier new;"&gt;/usr/share/applications/ossxmix.desktop&lt;/span&gt; you will be able to see ossxmix in your 'Sound and Video' sub menu&lt;br /&gt;&lt;div style="overflow: scroll; background-color: silver; height: 200px;"&gt;&lt;code&gt;&lt;br /&gt;[Desktop Entry]&lt;br /&gt;Name=Ossxmix&lt;br /&gt;GenericName=Oss Mixer&lt;br /&gt;Exec=ossxmix&lt;br /&gt;Icon=gnome-mixer&lt;br /&gt;Categories=GTK;AudioVideo;Audio;Player;&lt;br /&gt;Terminal=false&lt;br /&gt;Type=Application&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;--&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-643412135591127693?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/643412135591127693/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2009/01/acer-aspire-2930-ubuntu-sond-card.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/643412135591127693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/643412135591127693'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2009/01/acer-aspire-2930-ubuntu-sond-card.html' title='Acer aspire 2930 Ubuntu sond card problems (mic,jak control) solved oss-linux'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-1068704887403560095</id><published>2009-01-16T17:20:00.000-08:00</published><updated>2009-01-16T18:05:00.392-08:00</updated><title type='text'>Dictionary for English -Sinhala and Sinhala-Engliish  for stardict</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5e88KWjsOls/SXE7nwOvDDI/AAAAAAAAAMA/_37ksAydG_I/s1600-h/Screenshot.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 269px;" src="http://2.bp.blogspot.com/_5e88KWjsOls/SXE7nwOvDDI/AAAAAAAAAMA/_37ksAydG_I/s400/Screenshot.png" alt="" id="BLOGGER_PHOTO_ID_5292076591284685874" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:Verdana,Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;Stardict is both &lt;span style="font-style: italic;"&gt;static&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;scanning&lt;/span&gt; dictionary. Nice thing of stardict is,   it    does not depend on the application which the text is   contained (&lt;/span&gt;&lt;/span&gt;eg: &lt;a href="http://www.ucsc.cmb.ac.lk/ltrl/projects/EnSiTip/"&gt;ensitip&lt;/a&gt; works only in firefox).&lt;br /&gt;&lt;span style="font-family:Verdana,Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;1) install stardict&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Verdana,Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new,courier,monospace;"&gt;apt-get install stardict&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Verdana,Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;2) setting up Sinhala-English English-Sinhala dictionary&lt;br /&gt;&lt;a href="http://www.sinhalenfoss.org/sinhala-stardict/sinhala-stardict-120908.tar.gz"&gt;download&lt;/a&gt; the dictionary file from &lt;a href="http://www.sinhalenfoss.org/2008/09/stardict-%E0%B7%81%E0%B6%B6%E0%B7%8A%E0%B6%AF%E0%B6%9A%E0%B7%9D%E0%B7%81%E0%B6%BA%E0%B6%A7-%E0%B7%83%E0%B7%92%E0%B6%82%E0%B7%84%E0%B6%BD-%E0%B6%89%E0%B6%82%E0%B6%9C%E0%B7%8A%E2%80%8D%E0%B6%BB%E0%B7%93/"&gt;www.sinhalenfoss.org.&lt;/a&gt;&lt;br /&gt;extract the compressed file to /usr/share/stardict/dic&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;tar -xzvf sinhala-stardict-120908.tar.gz -C  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Verdana,Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;/usr/share/stardict/dic&lt;/span&gt;&lt;br /&gt;3) configurations&lt;br /&gt;stardict will be available in 'Accessories' sub-menu start it.&lt;br /&gt;Click the small button at bottom right corner of the dictionary window.&lt;br /&gt;Chose a suitable key for scan modification there. otherwise stardict will scan all the time when you select a text.&lt;br /&gt;4) You can also download many other dictionaries at &lt;a href="http://stardict.sourceforge.net/Dictionaries.php"&gt;http://stardict.sourceforge.net/Dictionaries.php&lt;/a&gt;,&lt;a href="http://stardict.sourceforge.net/Dictionaries_dictd-www.dict.org.php"&gt;http://stardict.sourceforge.net/Dictionaries_dictd-www.dict.org.php&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;a style="font-family: verdana;" href="http://nchc.dl.sourceforge.net/sourceforge/stardict/stardict-oald-2.4.2-1.noarch.rpm"&gt;Oxford Advanced Learner's Dictionary&lt;/a&gt;&lt;/span&gt;&lt;span style="font-family:Verdana,Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt; &lt;/span&gt;is a good one for English-English.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Verdana,Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-1068704887403560095?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/1068704887403560095/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2009/01/dictionary-for-english-sinhala-and.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/1068704887403560095'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/1068704887403560095'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2009/01/dictionary-for-english-sinhala-and.html' title='Dictionary for English -Sinhala and Sinhala-Engliish  for stardict'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_5e88KWjsOls/SXE7nwOvDDI/AAAAAAAAAMA/_37ksAydG_I/s72-c/Screenshot.png' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-5944121663451814057</id><published>2009-01-16T17:01:00.000-08:00</published><updated>2009-01-16T17:18:28.986-08:00</updated><title type='text'>Ubuntu Read-out-loud your documents for you</title><content type='html'>I found two applications which we can use to read our document out loud for us. If  you are bored with reading all day give some times to these applications to read the document out loud for you.&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;1) Adobe acrobat reader &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Installation:&lt;/span&gt;&lt;br /&gt;include following entry in &lt;span style="font-family: courier new;"&gt;/etc/apt/sources.list &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;deb http://packages.medibuntu.org/ intrepid free non-free&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Then execute:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;apt-get update&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;apt-get install acroread acroread-plugin-speech&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;using:&lt;/span&gt;&lt;br /&gt;Open a pdf file with acroread and go to menu &lt;span style="font-family: courier new;"&gt;View&gt;Read Out Loud &gt;Activate Read Out Loud&lt;/span&gt;&lt;br /&gt;then again go to menu &lt;span style="font-family: courier new;"&gt;View&gt;Read Out Loud &gt;Read This Page Only&lt;/span&gt;  or the other opttions&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;2)Firefox &lt;/span&gt;&lt;br /&gt;With these plugins firefox will read the web page out loud for you&lt;br /&gt;i) &lt;a href="http://firevox.clcworld.net/"&gt;fire vox&lt;/a&gt;&lt;br /&gt;ii)&lt;a href="http://clickspeak.clcworld.net/"&gt;clickspeak&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-5944121663451814057?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/5944121663451814057/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2009/01/ubuntu-read-out-loud-your-documents-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/5944121663451814057'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/5944121663451814057'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2009/01/ubuntu-read-out-loud-your-documents-for.html' title='Ubuntu Read-out-loud your documents for you'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-2050367771147494518</id><published>2009-01-11T07:09:00.001-08:00</published><updated>2009-02-10T15:52:50.450-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sms gateway kannel huawei E220'/><title type='text'>SMS gateway with kannel and your mobile phone (Ubuntu intrepid)</title><content type='html'>Kannel is a gateway for connecting WAP (Wireless Application Protocol) phones to the Internet. It also works as an SMS gateway, for providing SMS based services for GSM phones. Bellow is my configuration of kannel as a SMS-gateway&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1)&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;apt-get install kannel&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2)&lt;/span&gt;copy &lt;span style="font-family:courier new;"&gt;/usr/share/doc/kannel/examples/modems.conf&lt;/span&gt; to &lt;span style="font-family:courier new;"&gt;/etc/kannel/&lt;/span&gt; to include in kannel.conf&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3)&lt;/span&gt;Backup   &lt;span style="font-family:courier new;"&gt;/etc/kannel/kannel.conf&lt;/span&gt;  ( &lt;span style="font-family:courier new;"&gt;mv /etc/kannel/kannel.conf /etc/kannel/kannel.conf.bak&lt;/span&gt;) and create a new file &lt;span style="font-family:courier new;"&gt;/etc/kannel/kannel.conf&lt;/span&gt; with following configuration:&lt;br /&gt;&lt;div style="overflow: scroll; background-color: silver; height: 300px;"&gt;&lt;code&gt;&lt;br /&gt;group = core&lt;br /&gt;admin-port = 13000&lt;br /&gt;smsbox-port = 13001&lt;br /&gt;admin-password = bar&lt;br /&gt;log-file = "/var/log/kannel/kannel.log"&lt;br /&gt;log-level = 0&lt;br /&gt;box-deny-ip = "*.*.*.*"&lt;br /&gt;box-allow-ip = "127.0.0.1"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;group = smsc&lt;br /&gt;smsc = at&lt;br /&gt;modemtype = auto&lt;br /&gt;device=/dev/ttyUSB1&lt;br /&gt;my-number = &lt;your&gt;&lt;br /&gt;connect-allow-ip = 127.0.0.1&lt;br /&gt;log-level = 0&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;group = smsbox&lt;br /&gt;bearerbox-host = 127.0.0.1&lt;br /&gt;sendsms-port = 13013&lt;br /&gt;global-sender = &lt;your&gt;&lt;br /&gt;log-level = 0&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;group = sendsms-user&lt;br /&gt;username = kan&lt;br /&gt;password = abc&lt;br /&gt;concatenation= true&lt;br /&gt;max-messages = 10&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;group = sms-service&lt;br /&gt;keyword =&lt;br /&gt;keyword-regex = .*&lt;br /&gt;catch-all = yes&lt;br /&gt;max-messages = 0&lt;br /&gt;get-url = http://localhost/sms/inc/getsms.php?user=john&amp;amp;passwd=1234&amp;amp;mobile=%p&amp;amp;text=%a&lt;br /&gt;&lt;br /&gt;include = "/etc/kannel/modems.conf"&lt;br /&gt;&lt;/your&gt;&lt;/your&gt;&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;4) in above configuration put your phone number in the place of &lt;your&gt; and change the password and username &lt;code&gt;under group = sendsms-user&lt;/code&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;5) &lt;/span&gt;Change &lt;span style="font-family:courier new;"&gt;device=/dev/ttyUSB1&lt;/span&gt; to your device (eg: &lt;span style="font-family:courier new;"&gt;/dev/ttyS0, /dev/ttyACM0&lt;/span&gt; ). I'm using huawei E220 in my case and using &lt;span style="font-family:courier new;"&gt;/dev/ttyUSB1&lt;/span&gt; for sms-gateway and to access Internet I use &lt;span style="font-family:courier new;"&gt;/dev/ttyUSB0&lt;/span&gt;.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;6) &lt;/span&gt;Now configuration is almost done... now you can test your configuration with starting the gateway with following commands. It will return the errors to the terminal.&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;bearerbox -v 0 smskannel.conf &amp;amp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;smsbox -v 0 smskannel.conf &amp;amp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;7) &lt;/span&gt;I you have problem with opening your device (eg: &lt;span style="font-family:courier new;"&gt;/dev/ttyUSB1&lt;/span&gt;) try changing the permissions for that device with &lt;span style="font-family:courier new;"&gt;chmod a+rw /dev/ttyUSB1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;8) &lt;/span&gt;By default kannel will start at the boot time, so it is better you have plugged your device while booting otherwise kannel will try to probe the device continuously until you plug the device or stop kannel (to stop use '&lt;span style="font-family:courier new;"&gt;/etc/init.d/kannel stop&lt;/span&gt;' ).&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;9)&lt;/span&gt; kannel is configured to start as WAPBOX by default... to make it start as a SMSBOX (sms-gateway), edit &lt;span style="font-family:courier new;"&gt;/etc/default/kannel &lt;/span&gt;and put '&lt;span style="font-family:courier new;"&gt;START_SMSBOX=1&lt;/span&gt;' instead of '&lt;span style="font-family:courier new;"&gt;START_WAPBOX=1&lt;/span&gt;'&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;10)&lt;/span&gt; To send sms using terminal use following command:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;lynx -dump "http://127.0.0.1:13013/cgi-bin/sendsms?username=kan&amp;amp;password=abc&amp;amp;to=&lt;/span&gt;&lt;recipient no=""&gt;&lt;span style="font-family:courier new;"&gt;[recipient no]&amp;amp;text=&lt;/span&gt;&lt;message&gt;&lt;span style="font-family:courier new;"&gt;[text]"&lt;/span&gt;&lt;br /&gt;* It is easy to write an application with php like serverside language and provide a web-gui for kannel. You can find a simple web front end for kannel&lt;a href="http://kannel.jizz.gr/"&gt; here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;following link will provide brief descriptions for kannel.conf settings;&lt;br /&gt;&lt;a href="http://swik.net/User:marc/Chipmunk+Ninja+Technical+Articles/Setting+up,+Configuring,+and+Using+Kannel+to+send%2Freceive+SMS+messages/3e0s"&gt;http://swik.net/User:marc/Chipmunk+Ninja+Technical+Articles/Setting+up,+Configuring,+and+Using+Kannel+to+send%2Freceive+SMS+messages/3e0s&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Usefull links:&lt;br /&gt;&lt;a href="http://www.kannel.org/"&gt;http://www.kannel.org/&lt;/a&gt;&lt;br /&gt;&lt;/message&gt;&lt;/recipient&gt;&lt;/your&gt;&lt;p&gt;&lt;your&gt;&lt;recipient no=""&gt;&lt;message&gt;&lt;a href="http://kannel.jizz.gr/"&gt;http://kannel.jizz.gr/&lt;/a&gt;&lt;/message&gt;&lt;/recipient&gt;&lt;/your&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.kannel.org/download/1.3.2/userguide-1.3.2/userguide.pdf"&gt;User's guid&lt;/a&gt;&lt;your&gt;&lt;recipient no=""&gt;&lt;message&gt;&lt;br /&gt;&lt;/message&gt;&lt;/recipient&gt;&lt;/your&gt;&lt;/p&gt;&lt;your&gt;&lt;recipient no=""&gt;&lt;message&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/message&gt;&lt;/recipient&gt;&lt;/your&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-2050367771147494518?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/2050367771147494518/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2009/01/sms-gateway-with-kannel-and-your-mobile.html#comment-form' title='19 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/2050367771147494518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/2050367771147494518'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2009/01/sms-gateway-with-kannel-and-your-mobile.html' title='SMS gateway with kannel and your mobile phone (Ubuntu intrepid)'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>19</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-1966340441509036745</id><published>2009-01-09T17:44:00.000-08:00</published><updated>2009-02-23T19:55:53.776-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='multiseat dual-head grapic terminal low cost'/><title type='text'>Multiseat for Dual headed(Multiple headed) grapic (VGA) cards version-0.1</title><content type='html'>I have tested this method only with Debian lenny and still using without any problem&lt;br /&gt;&lt;br /&gt;1) Copy following script to /usr/bin/duautomseat and make it executable with &lt;span style="font-family:courier new;"&gt;chmod +x /usr/bin/duautomseat&lt;/span&gt;&lt;br /&gt;&lt;div style="overflow: scroll; background-color: silver; height: 300px;"&gt;&lt;code&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;# Copyright (C) 2008 Nayanajit Mahendra Laxaman mail: nmlaxaman@gmail.com&lt;br /&gt;&lt;br /&gt;# This program is free software; you can redistribute it and/or modify&lt;br /&gt;# it under the terms of the GNU General Public License as published by&lt;br /&gt;# the Free Software Foundation; either version 2 of the License, or&lt;br /&gt;# (at your option) any later version.&lt;br /&gt;&lt;br /&gt;# This program is distributed in the hope that it will be useful,&lt;br /&gt;# but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the&lt;br /&gt;# GNU General Public License for more details.&lt;br /&gt;#input format&lt;br /&gt;#:1 -auth /var/lib/gdm/:1.Xauth -nolisten tcp vt8&lt;br /&gt;&lt;br /&gt;LOG=/tmp/duauto.log&lt;br /&gt;export DISPLAY=:0&lt;br /&gt;export XAUTHORITY="/var/lib/gdm/:0.Xauth"&lt;br /&gt;echo $DISPLAY &gt;&gt; $LOG&lt;br /&gt;echo $XAUTHORITY &gt;&gt; $LOG&lt;br /&gt;&lt;br /&gt;PARAMS=$@&lt;br /&gt;echo $PARAMS &gt;&gt; $LOG&lt;br /&gt;&lt;br /&gt;keyboards=( echo $(ls -l /dev/input/by-path/ | grep -event- | grep kbd | awk -F '../' {'print $2'}) )&lt;br /&gt;mouses=( echo $(ls -l /dev/input/by-path/ | grep -event- | grep mouse | awk -F '../' {'print $2'}) )&lt;br /&gt;&lt;br /&gt;pkeyboards=($(ls /dev/input/by-path/ | grep -event- | grep kbd ))&lt;br /&gt;pmouses=($(ls /dev/input/by-path/ | grep -event- | grep mouse ))&lt;br /&gt;&lt;br /&gt;keyboards=$pkeyboards&lt;br /&gt;mouses=$pmouses&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;kbd1=${keyboards[1]}&lt;br /&gt;kbd2=${keyboards[2]}&lt;br /&gt;&lt;br /&gt;mouse1=${mouses[1]}&lt;br /&gt;mouse2=${mouses[2]}&lt;br /&gt;&lt;br /&gt;screen1="1024x768@0+0+0"&lt;br /&gt;screen2="1024x768@0+1024+0"&lt;br /&gt;&lt;br /&gt;ac1=1&lt;br /&gt;ac2=2&lt;br /&gt;&lt;br /&gt;#PARAMS="dpms -switchCmd echo -2button -nozap -br $PARAMS"&lt;br /&gt;PARAMS="dpms  -nozap -br $PARAMS"&lt;br /&gt;&lt;br /&gt;command=&lt;br /&gt;&lt;br /&gt;if [[ $1 == :1 ]]; then&lt;br /&gt;command="/usr/bin/Xephyr -ac :$ac1 -screen $screen1 -keybd evdev,,device=/dev/input/$kbd1,xkbrules=xorg,xkbmodel=evdev,xkblayout=us,CoreKeyboard -mouse evdev,,device=/dev/input/$mouse1,Emulate3Buttons=true,CorePointer $PARAMS"&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;if [[ $1 == :2 ]]; then&lt;br /&gt;command="/usr/bin/Xephyr -ac :$ac2 -screen $screen2 -keybd evdev,,device=/dev/input/$kbd2,xkbrules=xorg,xkbmodel=evdev,xkblayout=us,CoreKeyboard -mouse evdev,,device=/dev/input/$mouse2,Emulate3Buttons=true,CorePointer $PARAMS"&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;echo $command &gt;&gt; $LOG&lt;br /&gt;echo '&lt;&lt;&lt;end&gt;&gt;&gt;' &gt;&gt; $LOG&lt;br /&gt;exec $command&lt;br /&gt;&lt;br /&gt;&lt;/end&gt;&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;2) Backup your /etc/gdm/gdm.conf with &lt;span style="font-family:courier new;"&gt;mv /etc/gdm/gdm.conf /etc/gdm/gdm.conf.bak&lt;/span&gt; and create a new will as /etc/gdm/gdm.conf with following content in it&lt;br /&gt;&lt;div style="overflow: scroll; background-color: silver; height: 300px;"&gt;&lt;code&gt;&lt;br /&gt;[servers]&lt;br /&gt;0=Xephyr0&lt;br /&gt;1=Xephyr1&lt;br /&gt;2=Xephyr2&lt;br /&gt;&lt;br /&gt;[server-Xephyr0]&lt;br /&gt;name=Xephyr0&lt;br /&gt;command=/usr/bin/X -br -dpms -s 0&lt;br /&gt;handled=false&lt;br /&gt;flexible=false&lt;br /&gt;&lt;br /&gt;[server-Xephyr1]&lt;br /&gt;name=Xephyr1&lt;br /&gt;#default params :1 -auth /var/lib/gdm/:1.Xauth -nolisten tcp vt8&lt;br /&gt;command=/usr/bin/duautomseat&lt;br /&gt;handled=true&lt;br /&gt;flexible=false&lt;br /&gt;&lt;br /&gt;[server-Xephyr2]&lt;br /&gt;name=Xephyr2&lt;br /&gt;#default params :2 -auth /var/lib/gdm/:2.Xauth -nolisten tcp vt8&lt;br /&gt;command=/usr/bin/duautomseat&lt;br /&gt;handled=true&lt;br /&gt;flexible=false&lt;br /&gt;&lt;br /&gt;[greeter]&lt;br /&gt;#Greeter=/usr/bin/loginduautomseat&lt;br /&gt;GraphicalThemes=circles/:debian-moreblue/:happygnome/:happygnome-list&lt;br /&gt;GraphicalThemeRand=true&lt;br /&gt;GraphicalTheme=circles&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;3) Install wmctrl and xephyr with &lt;span style="font-family:courier new;"&gt;apt-get install xserver-xephyr wmctrl&lt;/span&gt; and modify /etc/gdm/Init/Default script with appending following code snippets before &lt;span style="font-family:courier new;"&gt;exit 0&lt;/span&gt; line at the bottom&lt;br /&gt;&lt;div style="overflow: scroll; background-color: silver; height: 300px;"&gt;&lt;code&gt;&lt;br /&gt;export DISPLAY=:0&lt;br /&gt;export XAUTHORITY="/var/lib/gdm/:0.Xauth"&lt;br /&gt;XEID=$( xwininfo -root -children -display :0 | grep 'Xephyr on :1' --max-count=1 | awk '{print $1}' )&lt;br /&gt;[[ $XEID != '' ]] &amp;amp;&amp;amp; wmctrl -i -r $XEID -e 0,1024,0,-1,-1&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;4) Configuring /etc/X11/xorg.conf; bellow is my configuration for my  nVidia GeForce 6200 graphic card:&lt;br /&gt;&lt;div style="overflow: scroll; background-color: silver; height: 300px;"&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;Section "InputDevice"&lt;br /&gt;Identifier "Generic Keyboard"&lt;br /&gt;Driver  "kbd"&lt;br /&gt;Option  "XkbRules" "xorg"&lt;br /&gt;Option  "XkbModel" "pc104"&lt;br /&gt;Option  "XkbLayout" "us"&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section "InputDevice"&lt;br /&gt;Identifier "Configured Mouse"&lt;br /&gt;Driver  "mouse"&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section "Device"&lt;br /&gt;Identifier "Configured Video Device"&lt;br /&gt;Driver  "nvidia"&lt;br /&gt;Option  "Twinview" "true"&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section "Monitor"&lt;br /&gt;Identifier "Configured Monitor"&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section "Screen"&lt;br /&gt;Identifier "Default Screen"&lt;br /&gt;Monitor  "Configured Monitor"&lt;br /&gt;      DefaultDepth    24&lt;br /&gt;      Subsection      "Display"&lt;br /&gt;              Depth   24&lt;br /&gt;              Modes    "1024x768"&lt;br /&gt;              Virtual 2048 768&lt;br /&gt;      EndSubSection&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section "ServerFlags"&lt;br /&gt;Option "DontZap"   "true"&lt;br /&gt;# Option "DontVTSwitch"   "true"&lt;br /&gt;# Option "HandleSpecialKeys"  "Always"&lt;br /&gt;# Option "BlankTime"   "0"&lt;br /&gt;# Option "StandbyTime"   "0"&lt;br /&gt;# Option "SuspendTime"   "0"&lt;br /&gt;# Option "OffTime"   "0"&lt;br /&gt;# Option "AllowMouseOpenFail"  "true"&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;* Since Screen resolution is hard-corded in duautomseat and /etc/gdm/Init/Deafault code snippets, you have to change them according to your screen resolution.&lt;br /&gt;&lt;br /&gt;* Now logout and see...&lt;br /&gt;&lt;br /&gt;Cheers !!!&lt;br /&gt;&lt;br /&gt;Ref:&lt;a href="http://netpatia.blogspot.com/2008/02/multiseat-computer-with-ubuntu-804.html"&gt;http://netpatia.blogspot.com/2008/02/multiseat-computer-with-ubuntu-804.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-1966340441509036745?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/1966340441509036745/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2009/01/multiseat-for-dual-headedmultiple.html#comment-form' title='34 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/1966340441509036745'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/1966340441509036745'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2009/01/multiseat-for-dual-headedmultiple.html' title='Multiseat for Dual headed(Multiple headed) grapic (VGA) cards version-0.1'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>34</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-478486138062077462</id><published>2009-01-02T19:39:00.000-08:00</published><updated>2009-01-02T19:45:40.345-08:00</updated><title type='text'>Nesc syntax colouring for VIM</title><content type='html'>Follow the guidelines  given in bellow link&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.vim.org/scripts/script.php?script_id=1847"&gt;http://www.vim.org/scripts/script.php?script_id=1847&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;See the result:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5e88KWjsOls/SV7fL1IDSKI/AAAAAAAAAL4/fclgwj6IjHQ/s1600-h/Screenshot-nayanajith%40nmlacer:+-opt-tinyos-2.1.0-apps-Blink.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 263px;" src="http://3.bp.blogspot.com/_5e88KWjsOls/SV7fL1IDSKI/AAAAAAAAAL4/fclgwj6IjHQ/s400/Screenshot-nayanajith%40nmlacer:+-opt-tinyos-2.1.0-apps-Blink.png" alt="" id="BLOGGER_PHOTO_ID_5286908406911944866" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;it is cool&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-478486138062077462?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/478486138062077462/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2009/01/nesc-syntax-colouring-for-vim.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/478486138062077462'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/478486138062077462'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2009/01/nesc-syntax-colouring-for-vim.html' title='Nesc syntax colouring for VIM'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_5e88KWjsOls/SV7fL1IDSKI/AAAAAAAAAL4/fclgwj6IjHQ/s72-c/Screenshot-nayanajith%40nmlacer:+-opt-tinyos-2.1.0-apps-Blink.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-5567533897809084926</id><published>2009-01-02T18:55:00.000-08:00</published><updated>2009-01-02T19:30:59.814-08:00</updated><title type='text'>Fingerprint authentication for Ubuntu intrepid Linux in acer aspire 2930</title><content type='html'>1) install the required packages&lt;br /&gt;&lt;br /&gt;apt-get install libpam-fprint fprint-demo&lt;br /&gt;&lt;br /&gt;2) restart the machine&lt;br /&gt;&lt;br /&gt;3) Run 'fprint_demo' and press 'Enroll' button in front of 'Right index finger' sweep your right index finger two three times to get a better scan then press ok and store the print.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_5e88KWjsOls/SV7bWXcmx5I/AAAAAAAAALw/bSK023u1RHw/s1600-h/fprint_demo"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 262px;" src="http://4.bp.blogspot.com/_5e88KWjsOls/SV7bWXcmx5I/AAAAAAAAALw/bSK023u1RHw/s400/fprint_demo" alt="" id="BLOGGER_PHOTO_ID_5286904189877143442" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;4) Go to 'identify' tab of 'fprint_demo' check weather it can identify you finger and remember the starting pont, motion, and end point of you finger when it identifies you.&lt;br /&gt;&lt;br /&gt;5) Edit /etc/pam.d/common-auth and include bellow line on top of all the active entris in the file&lt;br /&gt;&lt;br /&gt;'auth    sufficient      pam_fprint.so'&lt;br /&gt;&lt;br /&gt;6) Thats it, now logout and login to test the settings. In the login page first you have to enter your username then it will hold on untill you sweep your finger and will give you number of tries like 5. If you failed to sweep your finger in correct wey it will prompt for password.&lt;br /&gt;&lt;br /&gt;7) To aunticate sudoers with fingerprint you can add bellow entry to the top of the 'session' entries in  /etc/pam.d/sudo&lt;br /&gt;&lt;br /&gt;'session sufficient      pam_fprint.so'&lt;br /&gt;&lt;br /&gt;8) Now try to execute a command in your terminal with sudo it will ask for the finger sweep and if you fail to sweep in correct wey it will prompt for password&lt;br /&gt;&lt;br /&gt;good luck!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-5567533897809084926?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/5567533897809084926/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2009/01/fingerprint-authentication-for-ubuntu.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/5567533897809084926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/5567533897809084926'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2009/01/fingerprint-authentication-for-ubuntu.html' title='Fingerprint authentication for Ubuntu intrepid Linux in acer aspire 2930'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_5e88KWjsOls/SV7bWXcmx5I/AAAAAAAAALw/bSK023u1RHw/s72-c/fprint_demo' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-5258293365516871013</id><published>2009-01-01T21:20:00.000-08:00</published><updated>2009-01-01T22:19:31.281-08:00</updated><title type='text'>Installing TinyOS-2.x  in Ubuntu intrepid (8.10)</title><content type='html'>1) add bellow repository to your &lt;span style="font-family: courier new;"&gt;/etc/apt/sources.list&lt;/span&gt; though it is for hardy, it is working for intrepid also&lt;br /&gt;&lt;br /&gt;deb http://tinyos.stanford.edu/tinyos/dists/ubuntu hardy main&lt;br /&gt;&lt;br /&gt;2) with following commands you can update the apt-cache and search the required packages thin you can install the required version and all.&lt;br /&gt;&lt;br /&gt;apt-get update&lt;br /&gt;apt-cache search tinyos&lt;br /&gt;apt-get install tinyos-2.1.0&lt;br /&gt;&lt;br /&gt;3) then install python development package (headers)&lt;br /&gt;&lt;br /&gt;apt-get install python-dev&lt;br /&gt;&lt;br /&gt;4) Edit /opt/tinyos-2.1.0&lt;versio&gt;/tinyos.sh and change the CLASSPATH env-variable as bellow&lt;br /&gt;&lt;br /&gt;CLASSPATH=$CLASSPATH:$TOSROOT/support/sdk/java/tinyos.jar:.&lt;br /&gt;&lt;br /&gt;4) Import /opt/tinyos-&lt;versio&gt;&lt;/versio&gt;&lt;/versio&gt;2.1.0&lt;versio&gt;&lt;versio&gt;/tinyos.sh in your .bashrc; include bellow code snippet to ~/.bashrc&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;if [ -f /opt/tinyos-&lt;/span&gt;&lt;/versio&gt;&lt;/versio&gt;&lt;span style="font-family: courier new;"&gt;2.1.0&lt;/span&gt;&lt;versio style="font-family: courier new;"&gt;&lt;versio&gt;&lt;version&gt;/tinyos.sh ] ; then&lt;br /&gt;. /opt/tinyos-&lt;/version&gt;&lt;/versio&gt;&lt;/versio&gt;&lt;span style="font-family: courier new;"&gt;2.1.0&lt;/span&gt;&lt;versio&gt;&lt;versio&gt;&lt;version&gt;&lt;version&gt;&lt;span style="font-family: courier new;"&gt;/tinyos.sh&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;fi&lt;/span&gt;&lt;br /&gt;&lt;version&gt;&lt;br /&gt;5) Now execut bash again or restart the terminal and chech your enviorenment with bellow command. It will check the enviorenment and report you the status. (Ignore the WORNING returned due to graphvis version)&lt;br /&gt;&lt;br /&gt;tos-check-env&lt;br /&gt;&lt;br /&gt;6) Lets compile the first application&lt;br /&gt;&lt;br /&gt;cd $TOSROOT/apps/Blink&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;make micaz&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;for simulator&lt;br /&gt;&lt;br /&gt;make micaz sim&lt;br /&gt;&lt;br /&gt;have fun!~&lt;br /&gt;&lt;/version&gt;&lt;/version&gt;&lt;/version&gt;&lt;/versio&gt;&lt;/versio&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-5258293365516871013?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/5258293365516871013/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2009/01/installing-tinyos-2x-in-ubuntu-intrepid.html#comment-form' title='25 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/5258293365516871013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/5258293365516871013'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2009/01/installing-tinyos-2x-in-ubuntu-intrepid.html' title='Installing TinyOS-2.x  in Ubuntu intrepid (8.10)'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>25</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-8915223993442133361</id><published>2009-01-01T05:59:00.000-08:00</published><updated>2009-01-01T06:17:15.351-08:00</updated><title type='text'>anyRemote: java mobile phone remote control for Linux</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://anyremote.sourceforge.net/data/logo-detail.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 175px; height: 240px;" src="http://anyremote.sourceforge.net/data/logo-detail.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Recently I found a very useful tool called &lt;a href="http://anyremote.sourceforge.net/"&gt;anyRemote&lt;/a&gt; which converts a mobile phone with IR or Bluetooth in to a remote control for a Linux box. It is an opensource Sourceforge project also privides a &lt;a href="http://anyremote.sourceforge.net/dload.html"&gt;repository&lt;/a&gt; for ubuntu&lt;br /&gt;I was searching a workaround to use remote control facility of my Sony Ericsson w700i phone with my Ubuntu intrepid. Then I found this tool which supports many different types of phones and it is not dependent on whether you have a remote control with your phone.&lt;br /&gt;With following the documentation I was easilly able to configure the setup and now I can control my audacious player remotely.&lt;br /&gt;It provides facility to song control as well as volumen control and viewing the play list.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-8915223993442133361?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/8915223993442133361/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2009/01/anyremote-linux-remote-control-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/8915223993442133361'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/8915223993442133361'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2009/01/anyremote-linux-remote-control-for.html' title='anyRemote: java mobile phone remote control for Linux'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-8669992511102013983</id><published>2008-12-28T08:15:00.000-08:00</published><updated>2009-01-11T19:49:48.261-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='globalmenu'/><category scheme='http://www.blogger.com/atom/ns#' term='os x'/><category scheme='http://www.blogger.com/atom/ns#' term='mac'/><category scheme='http://www.blogger.com/atom/ns#' term='gnome'/><title type='text'>Install gnome-globalmenu 0.7 in Ubuntu intrepid (8.10)</title><content type='html'>gnome-globalmenu 0.7.0 is more customizable and have fulfiled most of the expectations of the os x lovers, see screen shot bellow.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_5e88KWjsOls/SVepZuvE6hI/AAAAAAAAALo/YBIFzNQUT4Q/s1600-h/Screenshot-2.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 234px;" src="http://4.bp.blogspot.com/_5e88KWjsOls/SVepZuvE6hI/AAAAAAAAALo/YBIFzNQUT4Q/s400/Screenshot-2.png" alt="" id="BLOGGER_PHOTO_ID_5284878947249875474" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;apt-get install alien&lt;/li&gt;&lt;li&gt;wget http://gnome2-globalmenu.googlecode.com/files/gnome-globalmenu-0.7.0.svn1861-1.fc10.i386.rpm&lt;/li&gt;&lt;li&gt;wget http://gnome2-globalmenu.googlecode.com/files/vala-0.5.1-1.fc10.src.rpm&lt;/li&gt;&lt;li&gt;alien -d --scripts vala-0.5.1-1.fc10.src.rpm gnome-globalmenu-0.7.0.svn1861-1.fc10.i386.rpm&lt;/li&gt;&lt;li&gt;dpkg -i vala_0.5.1-2_i386.deb gnome-globalmenu_0.7.0.svn1861-2_i386.deb&lt;/li&gt;&lt;li&gt;Configuring gnome environment to collaborate with globalmenu edit ~/.gnomerc ro /etc/profile and include following configuration to it. You have to keep at least 'export GTK_MODULES=globalmenu-gnome' line uncommented to enable globalmenu. Other options can check if you want.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;div style="overflow: scroll; background-color: silver; height: 300px;"&gt;&lt;code&gt;&lt;br /&gt;# Uncomment to load the GTK module&lt;br /&gt;&lt;br /&gt;export GTK_MODULES=globalmenu-gnome&lt;br /&gt;&lt;br /&gt;# Uncomment to tell the GTK module to open a Gtk&lt;br /&gt;&lt;br /&gt;# TreeView for all menus in the application you start.&lt;br /&gt;&lt;br /&gt;# export GNOMENU_FUN=1&lt;br /&gt;&lt;br /&gt;# Uncomment to disable global menu.&lt;br /&gt;&lt;br /&gt;# export GNOMENU_DISABLED=1&lt;br /&gt;&lt;br /&gt;# Uncomment to print a lot of debugging messages&lt;br /&gt;&lt;br /&gt;# export GNOMENU_VERBOSE=1&lt;br /&gt;&lt;br /&gt;# Uncomment to save the debugging messages to the given file.&lt;br /&gt;&lt;br /&gt;# export GNOMENU_LOG_FILE=/tmp/gnomenu.log&lt;br /&gt;&lt;br /&gt;# uncomment to disable the plugin for specific programs.&lt;br /&gt;&lt;br /&gt;# export GTK_MENUBAR_NO_MAC="fast-user-switch-applet"&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;That's it. now logout and login and add add 'global menu panel applet' to the panel&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-8669992511102013983?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/8669992511102013983/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2008/12/install-gnome-globalmenu-07-in-ubuntu.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/8669992511102013983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/8669992511102013983'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2008/12/install-gnome-globalmenu-07-in-ubuntu.html' title='Install gnome-globalmenu 0.7 in Ubuntu intrepid (8.10)'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_5e88KWjsOls/SVepZuvE6hI/AAAAAAAAALo/YBIFzNQUT4Q/s72-c/Screenshot-2.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-5770182877935817934</id><published>2008-12-21T05:04:00.000-08:00</published><updated>2008-12-28T17:32:48.247-08:00</updated><title type='text'>install Ubuntu 8.10 on AD Notebook (low performance notebook)</title><content type='html'>&lt;style type="text/css"&gt;&lt;!--   @page { size: 8.5in 11in; margin: 0.79in }   P { margin-bottom: 0.08in }  --&gt;  &lt;/style&gt;  &lt;p style="margin-bottom: 0in;"&gt;AD notebooks is very low cost low performance notebook in Sri Lanka similar product can find in &lt;a href="http://www.twinhead.com.tw/"&gt;this link&lt;/a&gt; called 'twinhead', which have the same configuration given bellow.&lt;br /&gt;AMD LX-800&lt;br /&gt;8″ TFT Screen @ 800×480 resolution (working for 1024×600 also)&lt;br /&gt;0.9kg&lt;br /&gt;4-in-1 Card Reader&lt;br /&gt;Wireless LAN 802.11b/g&lt;br /&gt;512MM RAM&lt;br /&gt;1.8″ 20GB HDD&lt;br /&gt;LAN Slot RJ-45&lt;br /&gt;USB Port x2, VGA Port x1&lt;br /&gt;Polymer Battery&lt;br /&gt;Dimension: 225×161x35mm (updated on 27 Mar 2008, previously reported as 250×188x36)&lt;br /&gt;&lt;br /&gt;Ubuntu Installation HowTo:&lt;br /&gt;&lt;br /&gt;You can install using Ubuntu live cd with external optical driver with normal steps. Since this is a very low performance notebook, it need some workout to make Ubuntu usable.&lt;br /&gt;&lt;br /&gt;1. Display(Xserver) configuration:&lt;br /&gt;go to single user mode(maintanance mode) and edit /etc/X11/xorg.conf. Bellow is my configuration&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style="overflow: scroll; background-color: silver; height: 300px;"&gt;&lt;code&gt;&lt;br /&gt;Section "InputDevice"&lt;br /&gt;Identifier "Generic Keyboard"&lt;br /&gt;Driver "kbd"&lt;br /&gt;Option "XkbRules" "xorg"&lt;br /&gt;Option "XkbModel" "pc105"&lt;br /&gt;Option "XkbLayout" "us"&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section "InputDevice"&lt;br /&gt;Identifier "Configured Mouse"&lt;br /&gt;Driver "mouse"&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section "Device"&lt;br /&gt;Identifier "Configured Video Device"&lt;br /&gt;Boardname "vesa"&lt;br /&gt;Busid "PCI:0:1:1"&lt;br /&gt;Driver "geode"&lt;br /&gt;Screen 0&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section "Monitor"&lt;br /&gt;Identifier "Configured Monitor"&lt;br /&gt;Vendorname "Generic LCD Display"&lt;br /&gt;Modelname "LCD Panel 1024x600"&lt;br /&gt;HorizSync 31.5 - 37.9&lt;br /&gt;VertRefresh 50.0 - 70.0&lt;br /&gt;DisplaySize 195 113&lt;br /&gt;modeline "1024x600@60" 48.96 1024 1064 1168 1312 600 601 604 622 -HSync -VSync&lt;br /&gt;Gamma 1.0&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section "Screen"&lt;br /&gt;Identifier "Default Screen"&lt;br /&gt;Device "Configured Video Device"&lt;br /&gt;Monitor "Configured Monitor"&lt;br /&gt;Defaultdepth 24&lt;br /&gt;SubSection "Display"&lt;br /&gt;Depth 24&lt;br /&gt;Virtual 1024 600&lt;br /&gt;Modes "1024x600@60" "800x600@60"&lt;br /&gt;EndSubSection&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section "ServerLayout"&lt;br /&gt;Identifier "Default Layout"&lt;br /&gt;screen 0 "Default Screen" 0 0&lt;br /&gt;EndSection&lt;br /&gt;Section "Module"&lt;br /&gt;Load "glx"&lt;br /&gt;Load "GLcore"&lt;br /&gt;Load "v4l"&lt;br /&gt;EndSection&lt;br /&gt;Section "ServerFlags"&lt;br /&gt;EndSection&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;then insert &lt;span style=""&gt;vga=0x317&lt;/span&gt; kernel option to &lt;span style=""&gt;/boot/grub/menu.list&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;span style=""&gt;/boot/vmlinuz-2.6.27-9-generic root=/dev/dsa3  ro vga=0x318&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;now reboot the system and you will have 1024x600 display in 24bit color depth&lt;br /&gt;&lt;br /&gt;2. Speed up the system:&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;p&gt;Stop the unwanted services; For that you can install  &lt;span style=""&gt;sysv-rc-conf &lt;/span&gt;and&lt;span style=""&gt;  &lt;/span&gt;uncheck unwanted services from run levels. See this forum  thread&lt;br /&gt;for more information&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p&gt;Reduce number of VTs starting; Go to &lt;span style=""&gt;/etc/event.d&lt;/span&gt;  directory ant comment out all the lines in tty3, tty4, tty5, and  tty6. This will only activate two VTs&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p&gt;Reducing access to the file-system; Edit &lt;span style=""&gt;/etc/fstab&lt;/span&gt;  and add &lt;span style=""&gt;noatime&lt;/span&gt; option to root  partition&lt;/p&gt; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;span style=""&gt;/dev/sda3 / ext3 noatime,errors=remount-ro 0 1&lt;/span&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;p&gt;Set journal data writeback option to filesystem; Edit  &lt;span style=""&gt;/etc/fstab&lt;/span&gt; and add&lt;span style=""&gt;  data=writeback&lt;/span&gt; option to root partition&lt;/p&gt; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;span style=""&gt;/dev/sda3 / ext3 noatime,errors=remount-ro,data=writeback 0 1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;and add &lt;span style=""&gt;rootflags=data=writeback&lt;/span&gt; kernel parameter to &lt;span style=""&gt;/boot/grub/menu.lst&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;span style=""&gt;/boot/vmlinuz-2.6.27-9-generic root= dev/dsa3 ro vga=0x318 rootflags=data=writeback&lt;/span&gt;&lt;/p&gt; &lt;p&gt;then restart the notebook and boot to single user mood and unmount / partition and run following command&lt;/p&gt; &lt;p&gt;&lt;span style=""&gt;sudo tune2fs -o journal_data_writeback /dev/&lt;partition&gt;&lt;/partition&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;then reboot again&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;p&gt;Reducing swaping; Edit&lt;span style=""&gt;  /etc/sysctl.conf &lt;/span&gt;and append following two lines to the file&lt;/p&gt; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;span style=""&gt;vm.swappiness=20&lt;br /&gt;vm.vfs_cache_pressure=50&lt;/span&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;p&gt;Choosing a better  I/O Scheduler for kernel; add &lt;span style=""&gt;elevator=cfq&lt;/span&gt;  to &lt;span style=""&gt;/boot/grub/menu.lst&lt;/span&gt; kernel  parameters&lt;/p&gt; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;span style=""&gt;/boot/vmlinuz-2.6.27-9-generic root= dev/dsa3 ro vga=0x318 rootflags=data=writeback elevator=cfq&lt;/span&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;p&gt;Configure nautilus with removing the desktop; Open  &lt;span style=""&gt;gconf-editor&lt;/span&gt; and go to apps &gt;  nauilus &gt; preferences, uncheck show_desktop option&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p&gt;Configure metacity with reducing resources;  Open  &lt;span style=""&gt;gconf-editor&lt;/span&gt; and go to apps &gt;  metacity &gt; general, check reduced_resources option&lt;/p&gt; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;Thats all for now, reboot the notebook, you will see significant performance improvement after doing all the changes given above. Not only for above notebook, this method is good for other low performance notebooks and old notebooks.&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;References:&lt;/p&gt; &lt;p&gt;&lt;a href="http://forums.debian.net/viewtopic.php?t=31275"&gt;http://forums.debian.net/viewtopic.php?t=31275&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://ubuntuforums.org/showthread.php?t=107856"&gt;http://ubuntuforums.org/showthread.php?t=107856&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.redhat.com/magazine/008jun05/features/schedulers/"&gt;http://www.redhat.com/magazine/008jun05/features/schedulers/&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.twinhead.com.tw/"&gt;http://www.twinhead.com.tw/&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://tldp.org/LDP/solrhe/Securing-Optimizing-Linux-RH-Edition-v1.3/chap6sec73.html"&gt;http://tldp.org/LDP/solrhe/Securing-Optimizing-Linux-RH-Edition-v1.3/chap6sec73.html&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-5770182877935817934?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/5770182877935817934/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2008/12/install-ubuntu-810-on-ad-notebook.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/5770182877935817934'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/5770182877935817934'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2008/12/install-ubuntu-810-on-ad-notebook.html' title='install Ubuntu 8.10 on AD Notebook (low performance notebook)'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-6671385531647010804</id><published>2008-12-17T22:03:00.000-08:00</published><updated>2008-12-17T22:27:48.644-08:00</updated><title type='text'>Advanced structured incremental backup system with rsync</title><content type='html'>Tree scripts associated with this setup&lt;br /&gt;1. backup_cs.sh&lt;br /&gt;The main script which runs in client server (client of the rsync server). Which first script 'backup_ss_before.sh' in server and do the syncing process and run 'backup_ss_after.sh' script and finish the backup.&lt;br /&gt;2. backup_ss_before.sh&lt;br /&gt;The script which performing required background setting of the backup location&lt;br /&gt;3. backup_ss_after.sh&lt;br /&gt;The script which does the cleaning process after backing up the files&lt;br /&gt;4.Before using this script you have to enable password less ssh/rsync login to remote host which you want to backup data.&lt;br /&gt;#1. ssh user@remote_host&lt;br /&gt;#2. ssh-keygen -t rsa&lt;br /&gt;#3. Don not give any phrase as password, leave it blank when asked&lt;br /&gt;#4. scp /home/user/.ssh/id_rsa.pub user@localhost&lt;br /&gt;#5. get back to localhost and;&lt;br /&gt;#6. cat id_rsa.pub &amp;gt;&amp;gt; /home/user/.ssh/authorized_keys&lt;br /&gt;#now you can rsyn without entering password&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;backup_cs.sh&lt;/span&gt;&lt;br /&gt;&lt;div style="overflow: scroll; background-color: silver; height: 300px;"&gt;&lt;code&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;# Copyright (C) 2008 Nayanajit Mahendra Laxaman mail: nmlaxaman@gmail.com&lt;br /&gt;&lt;br /&gt;# This program is free software; you can redistribute it and/or modify&lt;br /&gt;# it under the terms of the GNU General Public License as published by&lt;br /&gt;# the Free Software Foundation; either version 2 of the License, or&lt;br /&gt;# (at your option) any later version.&lt;br /&gt;&lt;br /&gt;# This program is distributed in the hope that it will be useful,&lt;br /&gt;# but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the&lt;br /&gt;# GNU General Public License for more details.&lt;br /&gt;&lt;br /&gt;#Enable disable daily weekly monthly yearly automated backup&lt;br /&gt;DAILY=true&lt;br /&gt;WEEKLY=true&lt;br /&gt;MONTHLY=true&lt;br /&gt;YEARLY=true&lt;br /&gt;&lt;br /&gt;#Relative backup directories for each level&lt;br /&gt;DAILY_BAK=daily&lt;br /&gt;WEEKLY_BAK=weekly&lt;br /&gt;MONTHLY_BAK=monthly&lt;br /&gt;YEARLY_BAK=yearly&lt;br /&gt;&lt;br /&gt;#Source(s) of backup directory&lt;br /&gt;BACKUP_SOURCE=&lt;path/to/backup/source&gt;&lt;br /&gt;&lt;br /&gt;#Destination of backup &lt;br /&gt;BACKUP_SERVER="&lt;user&gt;@&lt;host&gt;:&lt;path/to/backup/in/server&gt;"&lt;br /&gt;REMOTE_EXEC="ssh &lt;user&gt;@&lt;host&gt;"&lt;br /&gt;&lt;br /&gt;DAY=`date +%A`&lt;br /&gt;TOMORROW_DATE=`date --date="next day" +%d`;&lt;br /&gt;TOMORROW_MONTH=`date --date="next day" +%m`;&lt;br /&gt;YESTERDAY=`date --date="yesterday" +%d-%m-%y`;&lt;br /&gt;END_OF_WEEK=false&lt;br /&gt;END_OF_MONTH=false&lt;br /&gt;END_OF_YEAR=false&lt;br /&gt;&lt;br /&gt;[[ $DAY == Friday ]] &amp;&amp; END_OF_WEEK=true;&lt;br /&gt;[[ $TOMORROW_DATE == 01 ]] &amp;&amp;  END_OF_MONTH=true;&lt;br /&gt;[[ $TOMORROW_DATE == 01 ]] &amp;&amp; [[ $TOMORROW_MONTH == 01 ]] &amp;&amp; END_OF_YEAR=true;&lt;br /&gt;&lt;br /&gt;#cd  $BACKUP_DEST&lt;br /&gt;&lt;br /&gt;[[ -d $DAILY_BAK ]] || mkdir daily&lt;br /&gt;[[ -d $WEEKLY_BAK ]] || mkdir weekly&lt;br /&gt;[[ -d $MONTHLY_BAK ]] || mkdir monthly&lt;br /&gt;[[ -d $YEARLY_BAK ]] || mkdir yearly&lt;br /&gt;&lt;br /&gt;function debug(){&lt;br /&gt;echo "DAILY:$DAILY&lt;br /&gt;MONTHLY:$MONTHLY&lt;br /&gt;YEARLY:$YEARLY&lt;br /&gt;DAY:$DAY&lt;br /&gt;TOMORROW_DATE:$TOMORROW_DATE&lt;br /&gt;TOMORROW_MONTH:$TOMORROW_MONTH&lt;br /&gt;YESTERDAY:$YESTERDAY&lt;br /&gt;END_OF_MONTH:$END_OF_MONTH&lt;br /&gt;END_OF_YEAR:$END_OF_YEAR"&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#debug&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;TODAY_BACKUP=`date +%d-%m-%y`;&lt;br /&gt;YESTERDAY_BACKUP=$DAILY_BAK/$YESTERDAY;&lt;br /&gt;LASTWEEK_BACKUP=$WEEKLY_BAK/$( ls -tr $WEEKLY_BAK/ | tail -1 )&lt;br /&gt;LASTMONTH_BACKUP=$MONTHLY_BAK/$( ls -tr $MONTHLY_BAK/ | tail -1 )&lt;br /&gt;LASTYEAR_BACKUP=$YEARLY_BAK/$( ls -tr $YEARLY_BAK/ | tail -1 )&lt;br /&gt;                                                            &lt;br /&gt;$REMOTE_EXEC lms_backup_ss_before&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;if $YEARLY &amp;&amp; $END_OF_YEAR; then&lt;br /&gt;rsync -a --delete $BACKUP_SOURCE $BACKUP_SERVER/$YEARLY_BAK/$TODAY_BACKUP&lt;br /&gt;exit 0&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;if $MONTHLY &amp;&amp; $END_OF_MONTH; then&lt;br /&gt;rsync -a --delete $BACKUP_SOURCE $BACKUP_SERVER/$MONTHLY_BAK/$TODAY_BACKUP&lt;br /&gt;exit 0&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;if $WEEKLY &amp;&amp; $END_OF_WEEK; then&lt;br /&gt;rsync -a --delete $BACKUP_SOURCE $BACKUP_SERVER/$WEEKLY_BAK/$TODAY_BACKUP&lt;br /&gt;exit 0&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;if $DAILY; then&lt;br /&gt;echo in&lt;br /&gt;rsync -av --delete $BACKUP_SOURCE $BACKUP_SERVER/$DAILY_BAK/$TODAY_BACKUP&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;$REMOTE_EXEC lms_backup_ss_after&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;backup_ss_before.sh&lt;/span&gt;&lt;br /&gt;&lt;div style="overflow: scroll; background-color: silver; height: 300px;"&gt;&lt;code&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;# Copyright (C) 2008 Nayanajit Mahendra Laxaman mail: nmlaxaman@gmail.com&lt;br /&gt;&lt;br /&gt;# This program is free software; you can redistribute it and/or modify&lt;br /&gt;# it under the terms of the GNU General Public License as published by&lt;br /&gt;# the Free Software Foundation; either version 2 of the License, or&lt;br /&gt;# (at your option) any later version.&lt;br /&gt;&lt;br /&gt;# This program is distributed in the hope that it will be useful,&lt;br /&gt;# but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the&lt;br /&gt;# GNU General Public License for more details.&lt;br /&gt;&lt;br /&gt;#Enable disable daily weekly monthly yearly automated backup&lt;br /&gt;DAILY=true&lt;br /&gt;WEEKLY=true&lt;br /&gt;MONTHLY=true&lt;br /&gt;YEARLY=true&lt;br /&gt;&lt;br /&gt;#Relative backup directories for each level&lt;br /&gt;DAILY_BAK=daily&lt;br /&gt;WEEKLY_BAK=weekly&lt;br /&gt;MONTHLY_BAK=monthly&lt;br /&gt;YEARLY_BAK=yearly&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#Destination of backup &lt;br /&gt;BACKUP_DEST=&lt;path/to/backup&gt;&lt;br /&gt;&lt;br /&gt;DAY=`date +%A`&lt;br /&gt;TOMORROW_DATE=`date --date="next day" +%d`;&lt;br /&gt;TOMORROW_MONTH=`date --date="next day" +%m`;&lt;br /&gt;YESTERDAY=`date --date="yesterday" +%d-%m-%y`;&lt;br /&gt;&lt;br /&gt;END_OF_WEEK=false&lt;br /&gt;END_OF_MONTH=false&lt;br /&gt;END_OF_YEAR=false&lt;br /&gt;&lt;br /&gt;[[ $DAY == Friday ]] &amp;&amp; END_OF_WEEK=true;&lt;br /&gt;[[ $TOMORROW_DATE == 01 ]] &amp;&amp;  END_OF_MONTH=true;&lt;br /&gt;[[ $TOMORROW_DATE == 01 ]] &amp;&amp; [[ $TOMORROW_MONTH == 01 ]] &amp;&amp; END_OF_YEAR=true;&lt;br /&gt;&lt;br /&gt;cd  $BACKUP_DEST&lt;br /&gt;&lt;br /&gt;[[ -d $DAILY_BAK ]] || mkdir daily&lt;br /&gt;[[ -d $WEEKLY_BAK ]] || mkdir weekly&lt;br /&gt;[[ -d $MONTHLY_BAK ]] || mkdir monthly&lt;br /&gt;[[ -d $YEARLY_BAK ]] || mkdir yearly&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;TODAY_BACKUP=`date +%d-%m-%y`;&lt;br /&gt;&lt;br /&gt;if [[ -d $DAILY_BAK/$TODAY_BACKUP ]]; then&lt;br /&gt;exit 1&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;YESTERDAY_BACKUP=&lt;br /&gt;if [[ -d $DAILY_BAK/$YESTERDAY ]]; then&lt;br /&gt;YESTERDAY_BACKUP=$DAILY_BAK/$YESTERDAY;&lt;br /&gt;else&lt;br /&gt;YESTERDAY_BACKUP=$DAILY_BAK/$( ls -tr $DAILY_BAK/ | tail -1 );&lt;br /&gt;fi&lt;br /&gt;LASTWEEK_BACKUP=$WEEKLY_BAK/$( ls -tr $WEEKLY_BAK/ | tail -1 )&lt;br /&gt;LASTMONTH_BACKUP=$MONTHLY_BAK/$( ls -tr $MONTHLY_BAK/ | tail -1 )&lt;br /&gt;LASTYEAR_BACKUP=$YEARLY_BAK/$( ls -tr $YEARLY_BAK/ | tail -1 )&lt;br /&gt;&lt;br /&gt;if $YEARLY &amp;&amp; $END_OF_YEAR &amp;&amp; [[ -d $LASTYEAR_BACKUP ]]; then&lt;br /&gt;cp -al $LASTYEAR_BACKUP/ $YEARLY_BAK/$TODAY_BACKUP&lt;br /&gt;exit 0&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;if $MONTHLY &amp;&amp; $END_OF_MONTH &amp;&amp; [[ -d $LASTMONTH_BACKUP ]]; then&lt;br /&gt;cp -al $LASTMONTH_BACKUP/ $MONTHLY_BAK/$TODAY_BACKUP&lt;br /&gt;exit 0&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;if $WEEKLY &amp;&amp; $END_OF_WEEK &amp;&amp; [[ -d $LASTWEEK_BACKUP ]]; then&lt;br /&gt;cp -al $LASTWEEK_BACKUP/ $WEEKLY_BAK/$TODAY_BACKUP&lt;br /&gt;exit 0&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;if $DAILY &amp;&amp; [[ -d $YESTERDAY_BACKUP ]]; then&lt;br /&gt;cp -al $YESTERDAY_BACKUP $DAILY_BAK/$TODAY_BACKUP&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;backup_ss_after.sh&lt;/span&gt;&lt;br /&gt;&lt;div style="overflow: scroll; background-color: silver; height: 300px;"&gt;&lt;code&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;# Copyright (C) 2008 Nayanajit Mahendra Laxaman mail: nmlaxaman@gmail.com&lt;br /&gt;&lt;br /&gt;# This program is free software; you can redistribute it and/or modify&lt;br /&gt;# it under the terms of the GNU General Public License as published by&lt;br /&gt;# the Free Software Foundation; either version 2 of the License, or&lt;br /&gt;# (at your option) any later version.&lt;br /&gt;&lt;br /&gt;# This program is distributed in the hope that it will be useful,&lt;br /&gt;# but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the&lt;br /&gt;# GNU General Public License for more details.&lt;br /&gt;&lt;br /&gt;#Set the number of backups to keep in each level&lt;br /&gt;DAYS_TO_KEEP=7&lt;br /&gt;WEEKS_TO_KEEP=4&lt;br /&gt;MONTHS_TO_KEEP=4&lt;br /&gt;YEARS_TO_KEEP=2&lt;br /&gt;&lt;br /&gt;#Relative backup directories for each level&lt;br /&gt;DAILY_BAK=daily&lt;br /&gt;WEEKLY_BAK=weekly&lt;br /&gt;MONTHLY_BAK=monthly&lt;br /&gt;YEARLY_BAK=yearly&lt;br /&gt;&lt;br /&gt;#Destination of backup &lt;br /&gt;BACKUP_DEST=&lt;path/to/backup&gt;&lt;br /&gt;&lt;br /&gt;cd  $BACKUP_DEST&lt;br /&gt;&lt;br /&gt;expr $( ls $YEARLY_BAK | wc -l ) \&gt; $YEARS_TO_KEEP  &amp;&amp;  rm -fr $YEARLY_BAK/$( ls -t $YEARLY_BAK/ | tail -1 )&lt;br /&gt;expr $( ls $MONTHLY_BAK | wc -l ) \&gt; $MONTHS_TO_KEEP  &amp;&amp;  rm -fr $MONTHLY_BAK/$( ls -t $MONTHLY_BAK/ | tail -1 )&lt;br /&gt;expr $( ls $WEEKLY_BAK | wc -l ) \&gt; $WEEKS_TO_KEEP  &amp;&amp;  rm -fr $WEEKLY_BAK/$( ls -t $WEEKLY_BAK/ | tail -1 )&lt;br /&gt;expr $( ls $DAILY_BAK | wc -l ) \&gt; $DAYS_TO_KEEP  &amp;&amp;  rm -fr $DAILY_BAK/$( ls -t $DAILY_BAK/ | tail -1 )&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-6671385531647010804?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/6671385531647010804/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2008/12/advanced-structured-incremental-backup.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/6671385531647010804'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/6671385531647010804'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2008/12/advanced-structured-incremental-backup.html' title='Advanced structured incremental backup system with rsync'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-2998726728207563158</id><published>2008-12-13T00:30:00.000-08:00</published><updated>2008-12-13T01:18:49.480-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='advanced'/><category scheme='http://www.blogger.com/atom/ns#' term='rsync'/><category scheme='http://www.blogger.com/atom/ns#' term='structured'/><category scheme='http://www.blogger.com/atom/ns#' term='backups'/><category scheme='http://www.blogger.com/atom/ns#' term='incremental'/><title type='text'>rsync advanced backup script for structured incremental backups (updated 2)</title><content type='html'>&lt;div style="overflow: scroll; background-color: silver; height: 300px;"&gt;&lt;code&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;# Copyright (C) 2008 Nayanajit Mahendra Laxaman mail: nmlaxaman@gmail.com&lt;br /&gt;&lt;br /&gt;# This program is free software; you can redistribute it and/or modify&lt;br /&gt;# it under the terms of the GNU General Public License as published by&lt;br /&gt;# the Free Software Foundation; either version 2 of the License, or&lt;br /&gt;# (at your option) any later version.&lt;br /&gt;&lt;br /&gt;# This program is distributed in the hope that it will be useful,&lt;br /&gt;# but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the&lt;br /&gt;# GNU General Public License for more details.&lt;br /&gt;&lt;br /&gt;#Enable disable daily weekly monthly yearly automated backup&lt;br /&gt;DAILY=true&lt;br /&gt;WEEKLY=true&lt;br /&gt;MONTHLY=true&lt;br /&gt;YEARLY=true&lt;br /&gt;&lt;br /&gt;#Set the number of backups to keep in each level&lt;br /&gt;DAYS_TO_KEEP=7&lt;br /&gt;WEEKS_TO_KEEP=4&lt;br /&gt;MONTHS_TO_KEEP=4&lt;br /&gt;YEARS_TO_KEEP=2&lt;br /&gt;&lt;br /&gt;#Relative backup directories for each level&lt;br /&gt;DAILY_BAK=daily&lt;br /&gt;WEEKLY_BAK=weekly&lt;br /&gt;MONTHLY_BAK=monthly&lt;br /&gt;YEARLY_BAK=yearly&lt;br /&gt;&lt;br /&gt;#Source(s) of backup directory&lt;br /&gt;BACKUP_SOURCE=/tmp/&lt;br /&gt;&lt;br /&gt;#Destination of backup &lt;br /&gt;BACKUP_DEST=.&lt;br /&gt;&lt;br /&gt;DAY=`date +%A`&lt;br /&gt;TOMORROW_DATE=`date --date="next day" +%d`;&lt;br /&gt;TOMORROW_MONTH=`date --date="next day" +%m`;&lt;br /&gt;YESTERDAY=`date --date="yesterday" +%d-%m-%Y`;&lt;br /&gt;&lt;br /&gt;END_OF_WEEK=false&lt;br /&gt;END_OF_MONTH=false&lt;br /&gt;END_OF_YEAR=false&lt;br /&gt;&lt;br /&gt;[[ $DAY == Friday ]] &amp;&amp; END_OF_WEEK=true;&lt;br /&gt;[[ $TOMORROW_DATE == 01 ]] &amp;&amp;  END_OF_MONTH=true; &lt;br /&gt;[[ $TOMORROW_DATE == 01 ]] &amp;&amp; [[ $TOMORROW_MONTH == 01 ]] &amp;&amp; END_OF_YEAR=true;&lt;br /&gt;&lt;br /&gt;[[ -d $DAILY_BAK ]] || mkdir daily&lt;br /&gt;[[ -d $WEEKLY_BAK ]] || mkdir weekly&lt;br /&gt;[[ -d $MONTHLY_BAK ]] || mkdir monthly&lt;br /&gt;[[ -d $YEARLY_BAK ]] || mkdir yearly&lt;br /&gt;&lt;br /&gt;function debug(){&lt;br /&gt;echo "DAILY:$DAILY&lt;br /&gt;MONTHLY:$MONTHLY&lt;br /&gt;YEARLY:$YEARLY&lt;br /&gt;DAY:$DAY&lt;br /&gt;TOMORROW_DATE:$TOMORROW_DATE&lt;br /&gt;TOMORROW_MONTH:$TOMORROW_MONTH&lt;br /&gt;YESTERDAY:$YESTERDAY&lt;br /&gt;END_OF_MONTH:$END_OF_MONTH&lt;br /&gt;END_OF_YEAR:$END_OF_YEAR"&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#debug&lt;br /&gt;&lt;br /&gt;cd  $BACKUP_DEST&lt;br /&gt;&lt;br /&gt;TODAY_BACKUP=`date +%d-%m-%y`;&lt;br /&gt;YESTERDAY_BACKUP=$DAILY_BAK/$YESTERDAY;&lt;br /&gt;LASTWEEK_BACKUP=$WEEKLY_BAK/$( ls -tr $WEEKLY_BAK/ | tail -1 )&lt;br /&gt;LASTMONTH_BACKUP=$MONTHLY_BAK/$( ls -tr $MONTHLY_BAK/ | tail -1 )&lt;br /&gt;LASTYEAR_BACKUP=$YEARLY_BAK/$( ls -tr $YEARLY_BAK/ | tail -1 )&lt;br /&gt;&lt;br /&gt;if $YEARLY &amp;&amp; $END_OF_YEAR; then&lt;br /&gt;echo in&lt;br /&gt;[[ -d $LASTYEAR_BACKUP ]] &amp;&amp; cp -al $LASTYEAR_BACKUP/ $YEARLY_BAK/$TODAY_BACKUP&lt;br /&gt;rsync -a --delete $BACKUP_SOURCE $YEARLY_BAK/$TODAY_BACKUP&lt;br /&gt;expr $( ls $YEARLY_BAK | wc -l ) \&gt; $YEARS_TO_KEEP  &amp;&amp;  rm -fr $( ls -t $YEARLY_BAK/ | tail -1 )&lt;br /&gt;exit 0&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;if $MONTHLY &amp;&amp; $END_OF_MONTH; then&lt;br /&gt;[[ -d $LASTMONTH_BACKUP ]] &amp;&amp; cp -al $LASTMONTH_BACKUP/ $MONTHLY_BAK/$TODAY_BACKUP&lt;br /&gt;rsync -a --delete $BACKUP_SOURCE $MONTHLY_BAK/$TODAY_BACKUP&lt;br /&gt;expr $( ls $MONTHLY_BAK | wc -l ) \&gt; $MONTHS_TO_KEEP  &amp;&amp;  rm -fr $( ls -t $MONTHLY_BAK/ | tail -1 )&lt;br /&gt;exit 0&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;if $WEEKLY &amp;&amp; $END_OF_WEEK; then&lt;br /&gt;[[ -d $LASTWEEK_BACKUP ]] &amp;&amp; cp -al $LASTWEEK_BACKUP/ $WEEKLY_BAK/$TODAY_BACKUP&lt;br /&gt;rsync -a --delete $BACKUP_SOURCE $WEEKLY_BAK/$TODAY_BACKUP&lt;br /&gt;expr $( ls $WEEKLY_BAK | wc -l ) \&gt; $WEEKS_TO_KEEP  &amp;&amp;  rm -fr $( ls -t $WEEKLY_BAK/ | tail -1 )&lt;br /&gt;exit 0&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;if $DAILY; then&lt;br /&gt;[[ -d $YESTERDAY_BACKUP ]] &amp;&amp; cp -al $YESTERDAY_BACKUP/ $DAILY_BAK/$TODAY_BACKUP&lt;br /&gt;rsync -a --delete $BACKUP_SOURCE $DAILY_BAK/$TODAY_BACKUP&lt;br /&gt;expr $( ls $DAILY_BAK | wc -l ) \&gt; $DAYS_TO_KEEP  &amp;&amp;  rm -fr $( ls -t $DAILY_BAK/ | tail -1 )&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;See &lt;a href="http://nmlaxaman.blogspot.com/2008/08/bash-script-to-keep-inremental-backup.html"&gt;bash script to keep incremental backup&lt;/a&gt; for backing up to remote server&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-2998726728207563158?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/2998726728207563158/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2008/12/rsync-advanced-backup-script-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/2998726728207563158'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/2998726728207563158'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2008/12/rsync-advanced-backup-script-for.html' title='rsync advanced backup script for structured incremental backups (updated 2)'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-6290859201494495984</id><published>2008-11-25T16:10:00.001-08:00</published><updated>2008-11-25T17:12:03.295-08:00</updated><title type='text'>Mac4Lin netbook Theme</title><content type='html'>Modified Mac4Lin GTK theme for &lt;a href="https://launchpad.net/netbook-remix" class="l" onmousedown="return clk(this.href,'','','res','1','')"&gt;Ubuntu &lt;em&gt;Netbook Remix&lt;/em&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5e88KWjsOls/SSyULADMt9I/AAAAAAAAAJg/QE-CLeU9B0Q/s1600-h/Screenshot-2.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 32px;" src="http://3.bp.blogspot.com/_5e88KWjsOls/SSyULADMt9I/AAAAAAAAAJg/QE-CLeU9B0Q/s400/Screenshot-2.png" alt="" id="BLOGGER_PHOTO_ID_5272752180456896466" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.gnome-look.org/content/show.php?content=93897"&gt;Download&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-6290859201494495984?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/6290859201494495984/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2008/11/mac4lin-netbook-theme.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/6290859201494495984'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/6290859201494495984'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2008/11/mac4lin-netbook-theme.html' title='Mac4Lin netbook Theme'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_5e88KWjsOls/SSyULADMt9I/AAAAAAAAAJg/QE-CLeU9B0Q/s72-c/Screenshot-2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-8566752329121689556</id><published>2008-11-22T23:04:00.000-08:00</published><updated>2008-11-22T23:10:20.964-08:00</updated><title type='text'>Multi-threaded apt-get howto</title><content type='html'>1. start synaptic package manager&lt;br /&gt;2. select the package to be install&lt;br /&gt;3. goto File &gt; Package download script&lt;br /&gt;4. cat package_download_script.sh | sed s/wget/'proz -k=10'/ &gt; package_download_script_proz.sh&lt;br /&gt;5. goto /var/cache/apt/archive/&lt;br /&gt;6. execute the script here&lt;br /&gt;6. run apt-get install &lt;package_name&gt;&lt;br /&gt;&lt;br /&gt;that's it&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-8566752329121689556?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/8566752329121689556/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2008/11/multi-threaded-apt-get-howto.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/8566752329121689556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/8566752329121689556'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2008/11/multi-threaded-apt-get-howto.html' title='Multi-threaded apt-get howto'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-7256638242887269649</id><published>2008-11-22T22:28:00.000-08:00</published><updated>2008-11-22T22:59:34.889-08:00</updated><title type='text'>FLV video grabber for Linux</title><content type='html'>As I see, it is possible to grab the video cached  by your browser. For example, flash video your watching using youtube or any other video streaming site is caching in your browser cache while playing. If the caching bar of the streaming player completes the task, from the browser cache it is possible to grab that video.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0); font-style: italic;"&gt;This method is very useful because we don't have to download the video twice for future watching and waste our limited quota of download or the bandwidth.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Note that if you restart the browser or start playing another video in same player, browser will automatically delete earlier video cache. Therefore you have to do it before the player releases the cached file.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Here I have created an example script to grab FLV files from firefox web browser in Linux&lt;/span&gt;&lt;br /&gt;&lt;div style="overflow: scroll; background-color: silver; height: 200px;"&gt;&lt;code&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;cache="$HOME/.mozilla/firefox/*.default/Cache"&lt;br /&gt;videopath="$HOME/Videos"&lt;br /&gt;files=`file $( du -sh $cache/* | grep M | awk '{print $2}') | grep Flash | awk -F ':' '{print $1}'`&lt;br /&gt;for video in $files&lt;br /&gt;do&lt;br /&gt;cp $video $videopath/$(date  +%F_%H-%M-%S).flv&lt;br /&gt;done&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-7256638242887269649?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/7256638242887269649/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2008/11/get-streaming-video-from-browser-cache.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/7256638242887269649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/7256638242887269649'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2008/11/get-streaming-video-from-browser-cache.html' title='FLV video grabber for Linux'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-6544585343207989640</id><published>2008-11-18T21:55:00.000-08:00</published><updated>2008-11-18T22:45:33.784-08:00</updated><title type='text'>Shadows with CSS2 with DIV tags</title><content type='html'>&lt;div style="padding:0px;border:solid 2px #fff;border-top:solid 1px #fff;border-left:solid 1px #fff;"&gt;&lt;div style="padding:0px;border:solid 2px #eee;border-top:solid 1px #eee;border-left:solid 1px #eee;"&gt;&lt;div style="padding:0px;border:solid 2px #ddd;border-top:solid 1px #ddd;border-left:solid 1px #ddd;"&gt;&lt;div style="padding:0px;border:solid 2px #ccc;border-top:solid 1px #ccc;border-left:solid 1px #ccc;"&gt;&lt;div style="padding:0px;border:solid 2px #bbb;border-top:solid 1px #bbb;border-left:solid 1px #bbb;"&gt;&lt;div style="padding:0px;border:solid 2px #aaa;border-top:solid 1px #aaa;border-left:solid 1px #aaa;"&gt;&lt;div style="padding:0px;border:solid 2px #999;border-top:solid 1px #999;border-left:solid 1px #999;"&gt;&lt;div style="padding:0px;border:solid 2px #888;border-top:solid 1px #888;border-left:solid 1px #888;"&gt;&lt;div style="overflow: scroll; background-color: white; height: 300px;"&gt;&lt;/code&gt;&amp;lt;div style="padding:0px;border:solid 2px #fff;border-top:solid 1px #fff;border-left:solid 1px #fff;"&amp;gt;&lt;br /&gt;&amp;lt;div style="padding:0px;border:solid 2px #eee;border-top:solid 1px #eee;border-left:solid 1px #eee;"&amp;gt;&lt;br /&gt;&amp;lt;div style="padding:0px;border:solid 2px #ddd;border-top:solid 1px #ddd;border-left:solid 1px #ddd;"&amp;gt;&lt;br /&gt;&amp;lt;div style="padding:0px;border:solid 2px #ccc;border-top:solid 1px #ccc;border-left:solid 1px #ccc;"&amp;gt;&lt;br /&gt;&amp;lt;div style="padding:0px;border:solid 2px #bbb;border-top:solid 1px #bbb;border-left:solid 1px #bbb;"&amp;gt;&lt;br /&gt;&amp;lt;div style="padding:0px;border:solid 2px #aaa;border-top:solid 1px #aaa;border-left:solid 1px #aaa;"&amp;gt;&lt;br /&gt;&amp;lt;div style="padding:0px;border:solid 2px #999;border-top:solid 1px #999;border-left:solid 1px #999;"&amp;gt;&lt;br /&gt;&amp;lt;div style="padding:0px;border:solid 2px #888;border-top:solid 1px #888;border-left:solid 1px #888;"&amp;gt;&lt;br /&gt;&amp;lt;div&amp;gt;&lt;br /&gt;Your content goes here&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-6544585343207989640?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/6544585343207989640/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2008/11/shadows-with-css2-with-div-tags.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/6544585343207989640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/6544585343207989640'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2008/11/shadows-with-css2-with-div-tags.html' title='Shadows with CSS2 with DIV tags'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-214649149962179262</id><published>2008-11-15T00:59:00.000-08:00</published><updated>2008-11-15T01:05:46.309-08:00</updated><title type='text'>Opening a Laboratory with PokuruPCs</title><content type='html'>Opening ceremony of PokuruPC lab at Dharmasoka widyalaya, Ambalangoda Sri Lanka.&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/tCPbSJGqmDI&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/tCPbSJGqmDI&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-214649149962179262?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/214649149962179262/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2008/11/opening-ceremony-of-pokurupc-lab-at.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/214649149962179262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/214649149962179262'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2008/11/opening-ceremony-of-pokurupc-lab-at.html' title='Opening a Laboratory with PokuruPCs'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-3224583919640692071</id><published>2008-11-15T00:20:00.000-08:00</published><updated>2008-11-15T01:12:30.925-08:00</updated><title type='text'>Rounded corners and Shadows using CSS3</title><content type='html'>&lt;div style="height:410px; border: 8px solid rgb(136, 136, 136); -moz-border-radius-topleft: 20px; -moz-border-radius-topright: 20px; -moz-border-radius-bottomright: 20px; -moz-border-radius-bottomleft: 20px; min-height: 0px; min-width: 0px; background-color: rgb(136, 136, 136); -moz-border-top-colors: rgb(255, 255, 255) rgb(238, 238, 238) rgb(221, 221, 221) rgb(204, 204, 204) rgb(187, 187, 187) rgb(170, 170, 170) rgb(153, 153, 153) rgb(136, 136, 136); -moz-border-bottom-colors: rgb(255, 255, 255) rgb(238, 238, 238) rgb(221, 221, 221) rgb(204, 204, 204) rgb(187, 187, 187) rgb(170, 170, 170) rgb(153, 153, 153) rgb(136, 136, 136); -moz-border-left-colors: rgb(255, 255, 255) rgb(238, 238, 238) rgb(221, 221, 221) rgb(204, 204, 204) rgb(187, 187, 187) rgb(170, 170, 170) rgb(153, 153, 153) rgb(136, 136, 136); -moz-border-right-colors: rgb(255, 255, 255) rgb(238, 238, 238) rgb(221, 221, 221) rgb(204, 204, 204) rgb(187, 187, 187) rgb(170, 170, 170) rgb(153, 153, 153) rgb(136, 136, 136);"&gt;&lt;br /&gt;&lt;div style=" padding: 10px; background-color: white; -moz-border-radius-topleft: 10px; -moz-border-radius-topright: 10px; -moz-border-radius-bottomright: 10px; -moz-border-radius-bottomleft: 10px;position: relative; top: -20px; left: -3px; "&gt;&lt;br /&gt;This method is currently working for firefox and safari browsers. The code is given bellow&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;div style="overflow: scroll; background-color: silver; height: 300px;"&gt;&lt;/code&gt;&lt;br /&gt;&amp;lt;style&amp;gt;&lt;br /&gt;.shadow{&lt;br /&gt;     -webkit-border-radius: 20px;&lt;br /&gt;     -moz-border-radius: 20px;&lt;br /&gt;     min-height:0px;&lt;br /&gt;     min-width:0px;&lt;br /&gt;&lt;br /&gt;     border: 8px solid #888;&lt;br /&gt;     background-color: #888;&lt;br /&gt;     -moz-border-top-colors:  #fff #eee #ddd #ccc #bbb #aaa #999 #888;&lt;br /&gt;     -moz-border-bottom-colors:  #fff #eee #ddd #ccc #bbb #aaa #999 #888;&lt;br /&gt;     -moz-border-left-colors:  #fff #eee #ddd #ccc #bbb #aaa #999 #888;&lt;br /&gt;     -moz-border-right-colors:  #fff #eee #ddd #ccc #bbb #aaa #999 #888;&lt;br /&gt;}&lt;br /&gt;.inbox{&lt;br /&gt;     padding:5px;&lt;br /&gt;     background-color:white;&lt;br /&gt;     -webkit-border-radius: 10px;&lt;br /&gt;     -moz-border-radius: 10px;&lt;br /&gt;     position:relative;&lt;br /&gt;     top:-3px;&lt;br /&gt;     left:-3px;&lt;br /&gt;}&lt;br /&gt;&amp;lt;/style&amp;gt;&lt;br /&gt;&amp;lt;div class="shadow"&amp;gt;&lt;br /&gt;&amp;lt;div class="inbox"&amp;gt;&lt;br /&gt;&lt;b&gt;your text goes here&lt;/b&gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-3224583919640692071?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/3224583919640692071/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2008/11/rounded-corners-and-shadows-using-css-3.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/3224583919640692071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/3224583919640692071'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2008/11/rounded-corners-and-shadows-using-css-3.html' title='Rounded corners and Shadows using CSS3'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-1511783244433323671</id><published>2008-09-17T22:39:00.001-07:00</published><updated>2009-01-04T05:42:42.712-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='multiseat multi terminal resource constrained low cost'/><title type='text'>Multi terminal configuration automate package (automseat)</title><content type='html'>Multi terminal configuration automate package (automseat)  Is now available at  in&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://sourceforge.net/projects/automseat/"&gt;&lt;img style="cursor: pointer; width: 139px; height: 17px;" src="http://4.bp.blogspot.com/_5e88KWjsOls/SNHw_fpjhcI/AAAAAAAAAIY/Fcnl5tLBzXw/s400/sourceforge.gif" alt="" id="BLOGGER_PHOTO_ID_5247240014481556930" border="0" /&gt;&lt;/a&gt; both .deb and .rpm formats&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-1511783244433323671?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/1511783244433323671/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2008/09/multi-terminal-configuration-automate.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/1511783244433323671'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/1511783244433323671'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2008/09/multi-terminal-configuration-automate.html' title='Multi terminal configuration automate package (automseat)'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_5e88KWjsOls/SNHw_fpjhcI/AAAAAAAAAIY/Fcnl5tLBzXw/s72-c/sourceforge.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-5728825493756574034</id><published>2008-09-17T22:39:00.000-07:00</published><updated>2008-09-17T23:15:04.101-07:00</updated><title type='text'>PokuruPC In Action</title><content type='html'>&lt;span&gt;PokuruPC setup on Ambalangoda Dharmasoka college Sri Lanka. PokuruPC can be downloaded from &lt;a href="http://ucsc.cmb.ac.lk/wasn/" target="_blank" title="http://ucsc.cmb.ac.lk/wasn/" rel="nofollow" dir="ltr"&gt;http://ucsc.cmb.ac.lk/wasn/&lt;/a&gt;  in Research pag.&lt;br /&gt;&lt;/span&gt;&lt;object width="320" height="266" class="BLOG_video_class" id="BLOG_video-b56dea8ba423af48" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.youtube.com/get_player"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="flashvars" value="flvurl=http://v17.nonxt5.googlevideo.com/videoplayback?id%3Db56dea8ba423af48%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1329880296%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D4A55E2B46A172E39B13DB346AC45FA5FCE8F9839.2F22968034BBCEEA77250E84EF1235B2A268FA42%26key%3Dck1&amp;amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3Db56dea8ba423af48%26offsetms%3D5000%26itag%3Dw160%26sigh%3Dnm3QFIcYvu_OsUrTPZyLnEhiG5g&amp;amp;autoplay=0&amp;amp;ps=blogger"&gt;&lt;embed src="http://www.youtube.com/get_player" type="application/x-shockwave-flash"width="320" height="266" bgcolor="#FFFFFF"flashvars="flvurl=http://v17.nonxt5.googlevideo.com/videoplayback?id%3Db56dea8ba423af48%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1329880296%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D4A55E2B46A172E39B13DB346AC45FA5FCE8F9839.2F22968034BBCEEA77250E84EF1235B2A268FA42%26key%3Dck1&amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3Db56dea8ba423af48%26offsetms%3D5000%26itag%3Dw160%26sigh%3Dnm3QFIcYvu_OsUrTPZyLnEhiG5g&amp;autoplay=0&amp;ps=blogger"allowFullScreen="true" /&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-5728825493756574034?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='enclosure' type='video/mp4' href='http://www.blogger.com/video-play.mp4?contentId=b56dea8ba423af48&amp;type=video%2Fmp4' length='0'/><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/5728825493756574034/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2008/09/pokurupc-setup-on-ambalangoda.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/5728825493756574034'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/5728825493756574034'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2008/09/pokurupc-setup-on-ambalangoda.html' title='PokuruPC In Action'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-4681285646436256307</id><published>2008-08-20T23:41:00.001-07:00</published><updated>2008-08-20T23:41:32.845-07:00</updated><title type='text'>Sned sms server status reports to you mobile phone</title><content type='html'>Add following entries to /etc/crontab&lt;br /&gt;&lt;br /&gt;10&amp;nbsp; *&amp;nbsp;&amp;nbsp; * * *&amp;nbsp;&amp;nbsp; root /bin/bash /path/to/alert.sh&lt;br /&gt;10&amp;nbsp; 20&amp;nbsp; * * *&amp;nbsp;&amp;nbsp; root /bin/bash /path/to/info.sh&lt;br /&gt;&lt;br /&gt;alert.sh:&lt;br /&gt;&lt;div style="overflow: scroll; background-color: silver; height: 300px;"&gt;&lt;code&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;MESSAGE=""&lt;br /&gt;APACHE=$(ps aux | grep  apache | grep  -v 'grep' | wc -l)&lt;br /&gt;MYSQL=$(ps aux | grep  mysql | grep  -v 'grep' | wc -l)&lt;br /&gt;&lt;br /&gt;MESSAGE="A:$APACHE,M:$MYSQL"&lt;br /&gt;&lt;br /&gt;if [[ $MYSQL == "0" || $APACHE == "0" ]]; then&lt;br /&gt;sms -r r1 -u your_name -p your_password -m "$MESSAGE"&lt;br /&gt;else&lt;br /&gt;echo "$MESSAGE"&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;info.sh:&lt;br /&gt;       &lt;div style="overflow: scroll; background-color: silver; height: 300px;"&gt;&lt;code&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;SPACE=$( df -h /var | grep var | awk '{print $4}' )&lt;br /&gt;UPTIME=$( uptime | awk '{print $3}' )&lt;br /&gt;WHO=$( who | awk '{print $1}' )&lt;br /&gt;APACHE=$(ps aux | grep  apache | grep  -v 'grep' | wc -l)&lt;br /&gt;MYSQL=$(ps aux | grep  mysql | grep  -v 'grep' | wc -l)&lt;br /&gt;&lt;br /&gt;MESSAGE="S:$SPACE,U:$UPTIME,W:$WHO,A:$APACHE,M:$MYSQL"&lt;br /&gt;echo $MESSAGE&lt;br /&gt;&lt;br /&gt;sms -r r1 -u yourname -p your_password -m "$MESSAGE"&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="flockcredit" style="text-align: right; color: #CCC; font-size: x-small;"&gt;Blogged with the &lt;a href="http://www.flock.com/blogged-with-flock" style="color: #999; font-weight: bold;" target="_new" title="Flock Browser"&gt;Flock Browser&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-4681285646436256307?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/4681285646436256307/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2008/08/sned-sms-server-status-reports-to-you.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/4681285646436256307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/4681285646436256307'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2008/08/sned-sms-server-status-reports-to-you.html' title='Sned sms server status reports to you mobile phone'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-7063397800499393231</id><published>2008-08-20T23:33:00.001-07:00</published><updated>2008-08-21T02:50:05.508-07:00</updated><title type='text'>Send sms Bash script</title><content type='html'>Save the following script in /usr/bin/sms and make it executable (chmod +x /usr/bin/sms)&lt;br /&gt;&lt;br /&gt;then type sms in your terminal...&lt;br /&gt;&lt;br /&gt;To find the user_id s, log in to wow.lk sms account once, and go send sms mode and read source code. You will be able to find the id for the users you have added to your wow-sms account. Then include those in user_id1, user_id2, and  so on in the script.&lt;br /&gt;&lt;br /&gt;&lt;div style="overflow: scroll; background-color: silver; height: 300px;"&gt;&lt;code&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;# Copyright (C) 2008 Nayanajit Mahendra Laxaman mail: nmlaxaman@gmail.com&lt;br /&gt;&lt;br /&gt;# This program is free software; you can redistribute it and/or modify&lt;br /&gt;# it under the terms of the GNU General Public License as published by&lt;br /&gt;# the Free Software Foundation; either version 2 of the License, or&lt;br /&gt;# (at your option) any later version.&lt;br /&gt;&lt;br /&gt;# This program is distributed in the hope that it will be useful,&lt;br /&gt;# but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the&lt;br /&gt;# GNU General Public License for more details.&lt;br /&gt;&lt;br /&gt;RECIEVER=""&lt;br /&gt;MESSEGE=""&lt;br /&gt;ACCOUNT=""&lt;br /&gt;ACC=""&lt;br /&gt;RES=""&lt;br /&gt;INFO=false&lt;br /&gt;COOKEY=""&lt;br /&gt;&lt;br /&gt;USER=&lt;br /&gt;PASSWORD=&lt;br /&gt;&lt;br /&gt;PROXY="&lt;ip&gt;:&lt;port&gt;"&lt;br /&gt;&lt;br /&gt;user1=user_id1&lt;br /&gt;user2=user_id2 &lt;br /&gt;user3=user_id3&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# Show usage if necessary&lt;br /&gt;function usage(){&lt;br /&gt;echo "Usage: $0 -r [reciever]  -u [username] -p [password] -x [proxy] -m [message]-i ";&lt;br /&gt;echo "";&lt;br /&gt;echo "[reciever] = name of the reciever as in suntel sms account";&lt;br /&gt;echo "[message]  = Text of message you want to send with 140 letters";&lt;br /&gt;# echo "[account]  = you can have multiple accounts to wow site";&lt;br /&gt;echo "[username]  = Username to login wow site";&lt;br /&gt;echo "[password]  = Password to login wow site";&lt;br /&gt;echo "[proxy]  = Your web proxy in &amp;lt;ip&amp;gt;:&amp;lt;port&amp;gt; format (default:192.248.16.90:3128)";&lt;br /&gt;echo "-i  = Show information of the accounts and senders";&lt;br /&gt;exit 1;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;if [ $# -eq 0 ]; then&lt;br /&gt;usage;&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;#Show senders and accounts information&lt;br /&gt;function info(){&lt;br /&gt;echo "Reciever:"&lt;br /&gt;echo "&amp;lt;No.&amp;gt;    &amp;lt;Name&amp;gt;"&lt;br /&gt;echo "&lt;br /&gt;r1    user1(name)&lt;br /&gt;r2    user2(name)&lt;br /&gt;r3    user2(name)&lt;br /&gt;"&lt;br /&gt;exit;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;# Get command line arguments&lt;br /&gt;while [ "$1" != "" ] ; do&lt;br /&gt;   case $1&lt;br /&gt;   in&lt;br /&gt;   -r)&lt;br /&gt;       # Get the SMS number that we should send message to&lt;br /&gt;       RECIEVER=$2;&lt;br /&gt;       shift 2;&lt;br /&gt;       ;;&lt;br /&gt;   -m)&lt;br /&gt;       # Get the message we should send&lt;br /&gt;       MESSEGE=$2;&lt;br /&gt;       shift 2;&lt;br /&gt;       ;;&lt;br /&gt;   -a)&lt;br /&gt;       # Get the account&lt;br /&gt;       ACCOUNT=$2;&lt;br /&gt;       shift 2;&lt;br /&gt;       ;;&lt;br /&gt;   -u)&lt;br /&gt;       # Get username&lt;br /&gt;       USER=$2;&lt;br /&gt;       shift 2;&lt;br /&gt;       ;;&lt;br /&gt;   -p)&lt;br /&gt;       # Get password&lt;br /&gt;       PASSWORD=$2;&lt;br /&gt;       shift 2;&lt;br /&gt;       ;;&lt;br /&gt;   -x)&lt;br /&gt;       # Get password&lt;br /&gt;       PROXY=$2;&lt;br /&gt;       shift 2;&lt;br /&gt;       ;;&lt;br /&gt;   -i)&lt;br /&gt;       # Show information&lt;br /&gt;       INFO=true;&lt;br /&gt;       shift 1;&lt;br /&gt;       ;;&lt;br /&gt;   *)&lt;br /&gt;       echo "Unknown option: $1"&lt;br /&gt;       usage;&lt;br /&gt;       ;;&lt;br /&gt;   esac&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;if [[ $INFO == true ]]; then&lt;br /&gt;info;&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ACC="Username=$USER&amp;amp;Password=$PASSWORD"&lt;br /&gt;COOKEY="$HOME/.sms/cookey.$USER"&lt;br /&gt;&lt;br /&gt;case $RECIEVER in&lt;br /&gt;r1)&lt;br /&gt; RES=$user1&lt;br /&gt;;;&lt;br /&gt;r2)&lt;br /&gt; RES=$user2&lt;br /&gt;;;&lt;br /&gt;r3)&lt;br /&gt; RES=$user3&lt;br /&gt;;;&lt;br /&gt;*)&lt;br /&gt; info;&lt;br /&gt;;;&lt;br /&gt;esac&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;function debug(){&lt;br /&gt;echo "curl -x $PROXY --cookie $COOKEY --cookie-jar $COOKEY --user-agent Mozilla/4.0 --data $ACC&amp;amp;Submit=Submit&amp;amp;Action=login http://sms.wow.lk/user/login.php"&lt;br /&gt;echo "curl -x $PROXY --cookie $COOKEY  --user-agent Mozilla/4.0 --data message=$MESSEGE&amp;amp;action=send&amp;amp;Submit=Send+SMS&amp;amp;$RES=$RES http://sms.wow.lk/user/sendmessages.php"&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;function sendSms(){&lt;br /&gt;curl -x $PROXY --cookie $COOKEY --cookie-jar $COOKEY --user-agent Mozilla/4.0 --data "$ACC&amp;amp;Submit=Submit&amp;amp;Action=login" http://sms.wow.lk/user/login.php &amp;gt;/dev/null&lt;br /&gt;curl -x $PROXY --cookie $COOKEY  --user-agent Mozilla/4.0 --data "message=$MESSEGE&amp;amp;action=send&amp;amp;Submit=Send+SMS&amp;amp;$RES=$RES" http://sms.wow.lk/user/sendmessages.php &amp;gt;/dev/null&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;if [[ $MESSEGE != "" &amp;amp;&amp;amp; $ACC != "" &amp;amp;&amp;amp; $RES != "" &amp;amp;&amp;amp; $PROXY != "" &amp;amp;&amp;amp; $COOKEY != "" ]]; then&lt;br /&gt;# debug;&lt;br /&gt;sendSms;&lt;br /&gt;else&lt;br /&gt;echo "Check your parameters!!"&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;&lt;/port&gt;&lt;/ip&gt;&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="flockcredit" style="text-align: right; color: rgb(204, 204, 204); font-size: x-small;"&gt;Blogged with the &lt;a href="http://www.flock.com/blogged-with-flock" style="color: rgb(153, 153, 153); font-weight: bold;" target="_new" title="Flock Browser"&gt;Flock Browser&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-7063397800499393231?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/7063397800499393231/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2008/08/send-sms-bash-script.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/7063397800499393231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/7063397800499393231'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2008/08/send-sms-bash-script.html' title='Send sms Bash script'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-8695912170469753006</id><published>2008-08-20T23:25:00.001-07:00</published><updated>2008-08-20T23:44:29.559-07:00</updated><title type='text'>bash script to keep incremental backup</title><content type='html'>Add following entry to /etc/crontab&lt;br /&gt;&lt;br /&gt;20 4    * * *   root /bin/bash /path/to/sync.sh&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="overflow: scroll; background-color: silver; height: 300px;"&gt;&lt;code&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;# Copyright (C) 2008 Nayanajit Mahendra Laxaman mail: nmlaxaman@gmail.com&lt;br /&gt;&lt;br /&gt;# This program is free software; you can redistribute it and/or modify&lt;br /&gt;# it under the terms of the GNU General Public License as published by&lt;br /&gt;# the Free Software Foundation; either version 2 of the License, or&lt;br /&gt;# (at your option) any later version.&lt;br /&gt;&lt;br /&gt;# This program is distributed in the hope that it will be useful,&lt;br /&gt;# but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the&lt;br /&gt;# GNU General Public License for more details.&lt;br /&gt;&lt;br /&gt;### help ###&lt;br /&gt;#Before using this script you have to enable password less ssh/rsync login to remote host which you want to synchronize the data.&lt;br /&gt;#1. ssh user@remote_host&lt;br /&gt;#2. ssh-keygen -t rsa&lt;br /&gt;#3. Don not give any phrase as password, leave it blank when asked&lt;br /&gt;#4. scp /home/user/.ssh/id_rsa.pub user@localhost&lt;br /&gt;#5. get back to localhost and;&lt;br /&gt;#6. cat id_rsa.pub &amp;gt;&amp;gt; /home/user/.ssh/authorized_keys&lt;br /&gt;#now you can rsyn without entering password&lt;br /&gt;###########&lt;br /&gt;&lt;br /&gt;#backing up database&lt;br /&gt;BACKUPDIR=/root/backup_system&lt;br /&gt;LOG=lms_backup_`date +%m%d%Y`.log&lt;br /&gt;&lt;br /&gt;MOODLEWEB=/var/www/moodle_ug_2008&lt;br /&gt;MOODLEDATA=/var/moodledata_ug_2008&lt;br /&gt;LOGS=/var/log&lt;br /&gt;&lt;br /&gt;DBUSERNAME=root&lt;br /&gt;DBPASSWORD=letmeinliant&lt;br /&gt;DATABASE=moodledb_ug_2008&lt;br /&gt;DUMPOPTS="--add-drop-table"&lt;br /&gt;DUMPDB=moodledb_ug_2008.sql&lt;br /&gt;&lt;br /&gt;#SYNCHOST=root@ICTer.org&lt;br /&gt;SYNCHOST=root@192.248.16.114&lt;br /&gt;SYNCDIR=/usr/local/backups_lms_ug/sync/&lt;br /&gt;SYNCOPTS="-avz --delete --force --ignore-errors --whole-file"&lt;br /&gt;&lt;br /&gt;cd  $BACKUPDIR&lt;br /&gt;#dump database&lt;br /&gt;echo "Start mysqldump at `date`" &amp;gt;&amp;gt; $LOG&lt;br /&gt;mysqldump -u$DBUSERNAME -p$DBPASSWORD $DUMPOPTS $DATABASE &amp;gt; $DUMPDB 2&amp;gt;&amp;gt;$LOG&lt;br /&gt;echo "End mysqldump at `date`" &amp;gt;&amp;gt; $LOG&lt;br /&gt;&lt;br /&gt;#syncing web and data directories&lt;br /&gt;echo "Start rsync web and data directories at `date`" &amp;gt;&amp;gt; $LOG&lt;br /&gt;rsync $SYNCOPTS $MOODLEWEB $MOODLEDATA $LOGS $SYNCHOST:$SYNCDIR &amp;gt;&amp;gt;$LOG 2&amp;gt;&amp;gt;$LOG&lt;br /&gt;echo "End rsync web and data directories at `date`" &amp;gt;&amp;gt; $LOG&lt;br /&gt;&lt;br /&gt;#syncing database and log&lt;br /&gt;echo "Start rsync database and log at `date`" &amp;gt;&amp;gt; $LOG&lt;br /&gt;rsync $SYNCOPTS $DUMPDB $LOG $SYNCHOST:$SYNCDIR &amp;gt;&amp;gt;$LOG 2&amp;gt;&amp;gt;$LOG&lt;br /&gt;echo "Start rsync database and log at `date`" &amp;gt;&amp;gt; $LOG&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;  &lt;div class="flockcredit" style="text-align: right; color: rgb(204, 204, 204); font-size: x-small;"&gt;Blogged with the &lt;a href="http://www.flock.com/blogged-with-flock" style="color: rgb(153, 153, 153); font-weight: bold;" target="_new" title="Flock Browser"&gt;Flock Browser&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-8695912170469753006?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/8695912170469753006/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2008/08/bash-script-to-keep-inremental-backup.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/8695912170469753006'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/8695912170469753006'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2008/08/bash-script-to-keep-inremental-backup.html' title='bash script to keep incremental backup'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-3532755115548434969</id><published>2008-07-02T22:42:00.000-07:00</published><updated>2008-12-09T08:09:55.320-08:00</updated><title type='text'></title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5e88KWjsOls/SHMu990RFvI/AAAAAAAAAHY/_VM2OKUN4fk/s1600-h/multiseat.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_5e88KWjsOls/SHMu990RFvI/AAAAAAAAAHY/_VM2OKUN4fk/s400/multiseat.JPG" alt="" id="BLOGGER_PHOTO_ID_5220568035153221362" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Multiseat setup:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5e88KWjsOls/SGxm37-wZkI/AAAAAAAAAHQ/XUT8XDr9Eac/s1600-h/multiseat.jpg"&gt;&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-3532755115548434969?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/3532755115548434969/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2008/07/multiseat-setup.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/3532755115548434969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/3532755115548434969'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2008/07/multiseat-setup.html' title=''/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_5e88KWjsOls/SHMu990RFvI/AAAAAAAAAHY/_VM2OKUN4fk/s72-c/multiseat.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-8611022382440380901</id><published>2008-06-19T20:27:00.000-07:00</published><updated>2008-07-15T22:07:34.950-07:00</updated><title type='text'>Modification for  fully functioning Automation Script for Linux multiseat / multiterminal</title><content type='html'>This modified script will work for more than 2 terminals&lt;br /&gt;**Installation is similar to earlier script&lt;br /&gt;Ref:&lt;span style="font-size:85%;"&gt;&lt;a href="http://en.wikibooks.org/wiki/Multiterminal_with_evdev"&gt;Multiterminal with evdev&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;blink&gt;New version:&lt;/blink&gt;&lt;br /&gt;&lt;div style="overflow: scroll; background-color: silver; height: 300px;"&gt;&lt;code&gt;#!/bin/bash&lt;br /&gt;&lt;br /&gt;# Copyright (C) 2008 Nayanajit Mahendra Laxaman WASN-LAB University of Colombo School of Computing mail: nmlaxaman@gmail.com&lt;br /&gt;&lt;br /&gt;# This program is free software; you can redistribute it and/or modify&lt;br /&gt;# it under the terms of the GNU General Public License as published by&lt;br /&gt;# the Free Software Foundation; either version 2 of the License, or&lt;br /&gt;# (at your option) any later version.&lt;br /&gt;&lt;br /&gt;# This program is distributed in the hope that it will be useful,&lt;br /&gt;# but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;# GNU General Public License for more details.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;conf="/etc/multiseat.conf"&lt;br /&gt;&lt;br /&gt;source $conf&lt;br /&gt;if [ $reconfigure == false ]&lt;br /&gt;then&lt;br /&gt;echo -e '\033[00;32m**NOT\033[00;00mConfiguring /etc/multiseat.conf no /etc/gdm/gdm.conf-custom'&lt;br /&gt;#echo "Set reconfigure=true in /etc/multiseat.confif you want to reconfigure /etc/multiseat.conf no /etc/gdm/gdm.conf-custom in netx boot"&lt;br /&gt;else&lt;br /&gt;echo -e '\033[00;32m**\033[00;00mConfiguring /etc/multiseat.conf...'&lt;br /&gt;################################INPUT DEVICES##################################&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;: ${DIALOG=whiptail}&lt;br /&gt;&lt;br /&gt;: ${DIALOG_OK=0}&lt;br /&gt;: ${DIALOG_CANCEL=1}&lt;br /&gt;: ${DIALOG_ESC=255}&lt;br /&gt;: ${DIALOG_RENAME=3}&lt;br /&gt;&lt;br /&gt;tempfile=`tempfile 2&gt;/dev/null` || tempfile=/tmp/test$$&lt;br /&gt;trap "rm -f $tempfile" 0 1 2 5 15&lt;br /&gt;&lt;br /&gt;echo "#Multiseat device configuration file auto generated by multiseat_config on `date +'%Y-%m-%d.%H:%M:%S'` " &gt; $conf&lt;br /&gt;echo "reconfigure=true" &gt;&gt; $conf&lt;br /&gt;echo "vbrose=false" &gt;&gt; $conf&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;for inputdev in mouse kbd;&lt;br /&gt;do&lt;br /&gt;list=""&lt;br /&gt;s="s"&lt;br /&gt;if [ $vbrose == true ] ; then&lt;br /&gt;count=0&lt;br /&gt;for item in `cat /proc/bus/input/devices | grep -i $inputdev -B3 | grep Phys | grep  -e isa -e usb | awk '{print $2}' | grep input0 | sed -e s/Phys=// -e s@isa[0-9].../input[0-9]@@` ;&lt;br /&gt;do&lt;br /&gt;list="$list $item $inputdev:$count on";&lt;br /&gt;count=$( expr $count + 1 )&lt;br /&gt;done&lt;br /&gt;$DIALOG --backtitle "$inputdev$s configuration" \&lt;br /&gt;--title "$inputdev list" \&lt;br /&gt;    --checklist "Avilable $inputdev s are listed bellow with physical address please select the correct ones. /prc/bus/input/devices will be helpful when choosing the correct devices " 20 45 5 \&lt;br /&gt;     $list 2&gt; $tempfile&lt;br /&gt;&lt;br /&gt;retval=$?&lt;br /&gt;choice=`cat $tempfile`&lt;br /&gt;case $retval in&lt;br /&gt;$DIALOG_OK)&lt;br /&gt;choices=$( echo $choices | sed  s/'"'// );&lt;br /&gt;echo "$inputdev$s=\"$choice\"" &gt;&gt; $conf ;;&lt;br /&gt;$DIALOG_CANCEL)&lt;br /&gt;echo "Cancel pressed.";;&lt;br /&gt;$DIALOG_ESC)&lt;br /&gt;echo "ESC pressed.";;&lt;br /&gt;*)&lt;br /&gt;echo "Unexpected return code: $retval (ok would be $DIALOG_OK)";;&lt;br /&gt;esac&lt;br /&gt;else&lt;br /&gt;list=$( cat /proc/bus/input/devices | grep -i $inputdev -B3 | grep Phys | grep  -e isa -e usb | awk '{print $2}' | grep  input0 | sed -e s/Phys=// -e s@isa[0-9].../input[0-9]@@ )&lt;br /&gt;list=$( echo $list )&lt;br /&gt;echo  "$inputdev$s=\"$list\"" &gt;&gt; $conf&lt;br /&gt;fi&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;######################################VGA#######################################&lt;br /&gt;function hextodec(){&lt;br /&gt;let i1=$( echo $1 | awk -F ':' '{print "0x"$1}' )&lt;br /&gt;i2=$( echo $1 | awk -F ':' '{print $2}' )&lt;br /&gt;let i3=$( echo $i2 | awk -F '.' '{print "0x"$1}' )&lt;br /&gt;let i4=$( echo $i2 | awk -F '.' '{print "0x"$2}' )&lt;br /&gt;echo  "$i1:$i3:$i4"&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;devices=""&lt;br /&gt;vgas=$( lspci | grep VGA |  awk '{print $5"@"$1}' )&lt;br /&gt;for vga in $vgas&lt;br /&gt;do&lt;br /&gt;driver=`echo $vga | awk -F '@' '{print $1}'`&lt;br /&gt;busid=`echo $vga | awk -F '@' '{print $2}'`&lt;br /&gt;case $driver in&lt;br /&gt; Intel)&lt;br /&gt; driver="intel"&lt;br /&gt; ;;&lt;br /&gt; ATI)&lt;br /&gt; driver="ati"&lt;br /&gt; ;;&lt;br /&gt; Matrox)&lt;br /&gt; driver="mga"&lt;br /&gt; ;;&lt;br /&gt; nVidia)&lt;br /&gt; driver="nv"&lt;br /&gt; ;;&lt;br /&gt; Silicon)&lt;br /&gt; driver="sis"&lt;br /&gt; ;;&lt;br /&gt; *)&lt;br /&gt; driver="vesa"&lt;br /&gt; echo "**Default driver choosen for VGA if you aware with the driver name, please modify $driver@PCI:$busid  in $conf "&lt;br /&gt; ;;&lt;br /&gt;esac&lt;br /&gt;busid=$( hextodec $busid )&lt;br /&gt;devices="$devices $driver@PCI:$busid"&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;if [ $vbrose == true ] ; then&lt;br /&gt;$DIALOG --backtitle "VGA configuration" --inputbox "Auto generated devices string is given bellow with the format &lt;driver&gt;@PCI:&lt;busid in="" decimal=""&gt; you can change now if you will" 10 60 "$devices" 2&gt; $tempfile&lt;br /&gt;&lt;br /&gt;retval=$?&lt;br /&gt;choice=`cat $tempfile`&lt;br /&gt;case $retval in&lt;br /&gt;$DIALOG_OK)&lt;br /&gt;echo "devices=\"$choice\"" &gt;&gt; $conf;;&lt;br /&gt;$DIALOG_CANCEL)&lt;br /&gt;echo "Cancel pressed.";;&lt;br /&gt;$DIALOG_ESC)&lt;br /&gt;echo "ESC pressed.";;&lt;br /&gt;*)&lt;br /&gt;echo "Unexpected return code: $retval (ok would be $DIALOG_OK)";;&lt;br /&gt;esac&lt;br /&gt;&lt;br /&gt;else&lt;br /&gt;echo "devices=\"$devices\"" &gt;&gt; $conf&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;##############################writing gdm.conf-custom##############################&lt;br /&gt;#command=/usr/X11R6/bin/X -nolisten tcp -novtswitch -sharevts -layout layout:N: vt:T: ::N:&lt;br /&gt;source $conf&lt;br /&gt;&lt;br /&gt;stdserverid=':N:=Standard:N:&lt;br /&gt;'&lt;br /&gt;stdserver='&lt;br /&gt;[server-Standard:N:]&lt;br /&gt;name=Standard server&lt;br /&gt;command=/usr/X11R6/bin/X:N: -novtswitch -sharevts -layout layout:N:  vt:T:&lt;br /&gt;flexible=false&lt;br /&gt;'&lt;br /&gt;sing=0&lt;br /&gt;&lt;br /&gt;for device in $devices&lt;br /&gt;do&lt;br /&gt;sing=$( expr $sing + 1 )&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;dno=0&lt;br /&gt;tno=2&lt;br /&gt;if [[ $sing -gt 1 ]]&lt;br /&gt;then&lt;br /&gt;for device in $devices&lt;br /&gt;do&lt;br /&gt;ln -s $( which X ) $( which X )$dno 2&gt;/dev/null&lt;br /&gt;&lt;br /&gt;serverid="$serverid&lt;br /&gt;$( echo "$stdserverid" |sed s/:N:/$dno/ |sed s/:N:/$dno/)"&lt;br /&gt;server="$server"$(echo "$stdserver" |sed -e s/:N:/$dno/ -e s/:N:/$dno/ -e s/:N:/$dno/ -e s/:T:/$tno/);&lt;br /&gt;dno=$( expr $dno + 1 )&lt;br /&gt;tno=$( expr $tno + 1 )&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;gdmconf="/etc/gdm/gdm.conf-custom"&lt;br /&gt;&lt;br /&gt;echo -e '\033[00;32m**\033[00;00mConfiguring /etc/gdm/gdm.conf-custom...'&lt;br /&gt;#cp $gdmconf $gdmconf.`date +'%Y-%m-%d.%H-%M-%S'`&lt;br /&gt;if [[ ! -f "$gdmconf.bak" ]]&lt;br /&gt;then&lt;br /&gt;cp "$gdmconf" "$gdmconf.bak"&lt;br /&gt;fi&lt;br /&gt;echo "#Multiseat gdm configuration file auto generated by multiseat_config on `date +'%Y-%m-%d.%H:%M:%S'`" &gt; $gdmconf&lt;br /&gt;echo "[servers]" &gt;&gt; $gdmconf&lt;br /&gt;echo "$serverid" &gt;&gt; $gdmconf&lt;br /&gt;echo "$server" &gt;&gt; $gdmconf&lt;br /&gt;else&lt;br /&gt;echo -e '\033[00;32m**\033[00;00mFound single VGA card computer!!'&lt;br /&gt;&lt;br /&gt;#restoring gdm.conf-custom&lt;br /&gt;gdmconf="/etc/gdm/gdm.conf-custom"&lt;br /&gt;xconf="/etc/X11/xorg.conf"&lt;br /&gt;&lt;br /&gt;if [[ -f "$gdmconf.bak" ]]&lt;br /&gt;then&lt;br /&gt;cp "$gdmconf.bak" "$gdmconf"&lt;br /&gt;else&lt;br /&gt;rm -f "$gdmconf"&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;#Restoring xorg.conf&lt;br /&gt;if [[ -f $xconf.bak ]]&lt;br /&gt;then&lt;br /&gt;cp $xconf.bak $xconf&lt;br /&gt;else&lt;br /&gt;dpkg-reconfigure -phigh xserver-xorg&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;exit 0&lt;br /&gt;fi&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;############################setting up startup script###########################&lt;br /&gt;&lt;br /&gt;conf=/etc/multiseat.conf&lt;br /&gt;&lt;br /&gt;source $conf&lt;br /&gt;&lt;br /&gt;mousesection='&lt;br /&gt;Section "InputDevice"&lt;br /&gt;    Identifier      "mouse:M:"&lt;br /&gt;    Driver          "mouse"&lt;br /&gt;    Option          "Device"        "/dev/input/:E:"&lt;br /&gt;    Option          "CorePointer"&lt;br /&gt;    Option          "ZAxisMapping"  "4 5"&lt;br /&gt;    Option          "Emulate3Buttons"       "true"&lt;br /&gt;EndSection&lt;br /&gt;'&lt;br /&gt;kbdsection='&lt;br /&gt;Section "InputDevice"&lt;br /&gt;Identifier      "keyboard:K:"&lt;br /&gt;    Driver          "evdev"&lt;br /&gt;    Option          "Device"        "/dev/input/:E:"&lt;br /&gt;    Option          "CoreKeyboard"&lt;br /&gt;    Option          "XkbRules"      "xorg"&lt;br /&gt;    Option          "XkbModel"      "evdev"&lt;br /&gt;    Option          "XkbLayout"     "us"&lt;br /&gt;EndSection&lt;br /&gt;'&lt;br /&gt;devsection='&lt;br /&gt;Section "Device"&lt;br /&gt;    Identifier      "device:D:"&lt;br /&gt;    Driver          ":DR:"&lt;br /&gt;    Busid           ":B:"&lt;br /&gt;Option          "NoInt10" "Yes"&lt;br /&gt;EndSection&lt;br /&gt;'&lt;br /&gt;devsection_p='&lt;br /&gt;Section "Device"&lt;br /&gt;    Identifier      "device:D:"&lt;br /&gt;    Driver          ":DR:"&lt;br /&gt;    Busid           ":B:"&lt;br /&gt;Option          "NoInt10" "No"&lt;br /&gt;EndSection&lt;br /&gt;'&lt;br /&gt;monitorsection='&lt;br /&gt;Section "Monitor"&lt;br /&gt;    Identifier      "monitor:MO:"&lt;br /&gt;    Option          "DPMS"&lt;br /&gt;EndSection&lt;br /&gt;'&lt;br /&gt;screensection='&lt;br /&gt;Section "Screen"&lt;br /&gt;    Identifier      "screen:S:"&lt;br /&gt;    Device          "device:D:"&lt;br /&gt;    Monitor         "monitor:MO:"&lt;br /&gt;    Defaultdepth    24&lt;br /&gt;    SubSection "Display"&lt;br /&gt;            Modes   "1360x768" "1280x1024" "1024x768"&lt;br /&gt;    EndSubSection&lt;br /&gt;EndSection&lt;br /&gt;'&lt;br /&gt;layoutsection='&lt;br /&gt;Section "ServerLayout"&lt;br /&gt;    Identifier      "layout:L:"&lt;br /&gt;    screen          "screen:S:"&lt;br /&gt;    Inputdevice     "keyboard:K:"&lt;br /&gt;    Inputdevice     "mouse:M:"&lt;br /&gt;    Option          "IsolateDevice" ":B:"&lt;br /&gt;EndSection&lt;br /&gt;'&lt;br /&gt;&lt;br /&gt;flagssection='&lt;br /&gt;Section "ServerFlags"&lt;br /&gt;#        Option         "DontZap"  "true"&lt;br /&gt;#        Option         "DontVTSwitch"  "true"&lt;br /&gt;#        Option         "HandleSpecialKeys"     "Always"&lt;br /&gt;#  Option  "BlankTime"    "0"&lt;br /&gt;#        Option     "StandbyTime"  "0"&lt;br /&gt;#        Option     "SuspendTime"  "0"&lt;br /&gt;#        Option     "OffTime"      "0"&lt;br /&gt;    Option          "AllowMouseOpenFail"    "true"&lt;br /&gt;EndSection&lt;br /&gt;'&lt;br /&gt;&lt;br /&gt;mouse=""&lt;br /&gt;kbd=""&lt;br /&gt;mno=0&lt;br /&gt;kno=0&lt;br /&gt;dno=0&lt;br /&gt;&lt;br /&gt;xconf=/etc/X11/xorg.conf&lt;br /&gt;pxconf=/etc/X11/xorg.conf.probe&lt;br /&gt;&lt;br /&gt;echo -e '\033[00;32m**\033[00;00mConfiguring /etc/X11/xorg.conf and /etc/X11/xorg.conf.probe ...'&lt;br /&gt;#cp $xconf $xconf.`date +'%Y-%m-%d.%H-%M-%S'`&lt;br /&gt;if [ ! -f $xconf.bak ]&lt;br /&gt;then&lt;br /&gt;cp $xconf $xconf.bak&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;echo "#Generated by MXconfGen on `date`" &gt; $xconf&lt;br /&gt;echo "#Generated by MXconfGen on `date` for probe only" &gt; $pxconf&lt;br /&gt;&lt;br /&gt;for mouse in $mouses&lt;br /&gt;do&lt;br /&gt;dev=`grep -A3 $mouse /proc/bus/input/devices | grep 'H: Handlers=' | grep --only-matching -e 'mouse[0-9]*'`&lt;br /&gt;echo "$mousesection" | sed -e s/:E:/$dev/ -e s/:M:/$mno/ &gt;&gt;  $xconf&lt;br /&gt;mno=$( expr $mno + 1 )&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;for kbd in $kbds&lt;br /&gt;do&lt;br /&gt;dev=`grep -A3 $kbd /proc/bus/input/devices | grep 'H: Handlers=' | grep --only-matching -e 'event[0-9]*'`&lt;br /&gt;echo "$kbdsection" | sed -e s/:E:/$dev/  -e s/:K:/$kno/ &gt;&gt;  $xconf&lt;br /&gt;kno=$( expr $kno + 1 )&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;for device in  $devices&lt;br /&gt;do&lt;br /&gt;driver=$( echo $device  | awk -F '@' '{print $1}' )&lt;br /&gt;busid=$( echo $device  | awk -F '@' '{print $2}' )&lt;br /&gt;&lt;br /&gt;echo  "$devsection" | sed -e s/:DR:/$driver/  -e s/:B:/$busid/ -e s/:D:/$dno/ &gt;&gt;  $xconf&lt;br /&gt;echo "$monitorsection" | sed s/:MO:/$dno/  &gt;&gt;  $xconf&lt;br /&gt;echo "$screensection" | sed -e s/:S:/$dno/ -e s/:D:/$dno/ -e s/:MO:/$dno/ &gt;&gt;  $xconf&lt;br /&gt;echo "$layoutsection" | sed -e s/:L:/$dno/ -e s/:L:/$dno/  -e s/:K:/$dno/ -e s/:M:/$dno/ -e s/:B:/$busid/ -e s/:S:/$dno/ &gt;&gt;  $xconf&lt;br /&gt;&lt;br /&gt;###################Creating xorg.conf.probe for Xorg probing####################&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;echo  "$devsection_p" | sed -e s/:DR:/$driver/  -e s/:B:/$busid/ -e s/:D:/$dno/ &gt;&gt;  $pxconf&lt;br /&gt;echo "$monitorsection" | sed s/:MO:/$dno/  &gt;&gt;  $pxconf&lt;br /&gt;echo "$screensection" | sed -e s/:S:/$dno/ -e s/:D:/$dno/ -e s/:MO:/$dno/ &gt;&gt;  $pxconf&lt;br /&gt;&lt;br /&gt;dno=$( expr $dno + 1 )&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;screens=""&lt;br /&gt;sno=0&lt;br /&gt;&lt;br /&gt;for device in  $devices&lt;br /&gt;do&lt;br /&gt;screens=$screens" screen          \"screen$sno\"&lt;br /&gt;"&lt;br /&gt;sno=$( expr $sno + 1 )&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;echo '&lt;br /&gt;Section "ServerLayout"&lt;br /&gt;    Identifier      "probe"'  &gt;&gt;  $pxconf&lt;br /&gt;echo "$screens" &gt;&gt;  $pxconf&lt;br /&gt;echo 'EndSection'  &gt;&gt;  $pxconf&lt;br /&gt;&lt;br /&gt;############################ server flags for xorg.conf#####################&lt;br /&gt;echo "$flagssection" &gt;&gt;  $xconf&lt;br /&gt;&lt;br /&gt;#################################probing Xorg###############################&lt;br /&gt;echo -e '\033[00;32m**\033[00;00mProbing Xorg ...'&lt;br /&gt;Xorg -config $pxconf -probeonly 2&gt;/dev/null&lt;br /&gt;&lt;/busid&gt;&lt;/driver&gt;&lt;/code&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-8611022382440380901?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/8611022382440380901/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2008/06/modification-for-fully-functioning.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/8611022382440380901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/8611022382440380901'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2008/06/modification-for-fully-functioning.html' title='Modification for  fully functioning Automation Script for Linux multiseat / multiterminal'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-1509959596479907880</id><published>2008-05-13T20:55:00.000-07:00</published><updated>2008-07-15T22:08:54.452-07:00</updated><title type='text'>Fully functioning Automation Script for Linux multiseat / multiterminal</title><content type='html'>&lt;hidden name="keyword" content="multiseat, multiterminal, terminal server, linux, cost effective, multi seat, multi terminal"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Introduction:&lt;/span&gt;&lt;br /&gt;All you have to do is to put this script in your computer and set it to execute before gdm starts when starting the computer&lt;br /&gt;It will automatically detect the hardware configuration and make the changes at the startup time&lt;br /&gt;So you can plug as many as VGAs and MOUSEs KBDs  to the computer and restart the computer. The script will automatically reconfigure the system according to current configuration&lt;br /&gt;In the same way if your remove the hardware, the script will reconfigure the system to current hardware configuration&lt;br /&gt;Detected hardware and some parameters are available in /etc/multiseat.conf&lt;br /&gt;If the script did not detect the driver for vga correctly it will use VESA as the driver. If you know the driver so you can edit /etc/multiseat.conf to fit the configuration. When you are making configuration manually make reconfigure=false in /etc/multiseat.conf to not to overwrite at next startup. You can also edit the script to insert correct driver at startup time also. The script is not that difficult to understand.&lt;br /&gt;If you want to do the configuration in verbose mode you can make verbose=true in /etc/multiseat.conf&lt;br /&gt;If you do not want to reconfigure the system every time, the system boot make reconfigure=false in /etc/multiseat.conf&lt;br /&gt;&lt;br /&gt;Ref:&lt;/hidden&gt;&lt;a href="http://blog.chris.tylers.info/index.php?/archives/14-Multiseat-X-Under-X11R6.97.0.html"&gt;Chris Tyler's Blog&lt;/a&gt;&lt;hidden name="keyword" content="multiseat, multiterminal, terminal server, linux, cost effective, multi seat, multi terminal"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Installation:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/hidden&gt;&lt;ol&gt;&lt;li&gt;Copy the script given bellow to a file eg: MXconfGen&lt;/li&gt;&lt;ol&gt;&lt;li&gt;cat &gt; MXconfGen&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Past the coppyed content&lt;/li&gt;&lt;li&gt;press CTRL+C&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;Make the script executable&lt;/li&gt;&lt;ol&gt;&lt;li&gt;chmod +x MXconfGen&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;Place the script in /etc/init.d/&lt;/li&gt;&lt;ol&gt;&lt;li&gt;sudo cp MXconfGen /etc/init.d/&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;Make it execute at start time&lt;/li&gt;&lt;ol&gt;&lt;li&gt;sudo update-rc.d MXconfGen start 70 S .&lt;/li&gt;&lt;li&gt;this command works for debian based systems&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;Now reboot the system THATS ALL!&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Find more info in our &lt;a href="http://192.248.17.223:8180/" target="_blank"&gt;WASN&lt;/a&gt; website at University&lt;br /&gt;There go to &lt;span style="font-style: italic;"&gt;Research&lt;/span&gt; &gt; &lt;span style="font-style: italic;"&gt;Linux Multiseat environment&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="overflow: scroll; background-color: silver; height: 300px;"&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;&lt;br /&gt;# Copyright (C) 2008 Nayanajit Mahendra Laxaman WASN-LAB University of Colombo School of Computing mail: nmlaxaman@gmail.com&lt;br /&gt;&lt;br /&gt;# This program is free software; you can redistribute it and/or modify&lt;br /&gt;# it under the terms of the GNU General Public License as published by&lt;br /&gt;# the Free Software Foundation; either version 2 of the License, or&lt;br /&gt;# (at your option) any later version.&lt;br /&gt;&lt;br /&gt;# This program is distributed in the hope that it will be useful,&lt;br /&gt;# but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;# GNU General Public License for more details.&lt;br /&gt;&lt;br /&gt;conf="/etc/multiseat.conf"&lt;br /&gt;&lt;br /&gt;source $conf&lt;br /&gt;if [ $reconfigure == false ]&lt;br /&gt;then&lt;br /&gt;echo -e '\033[00;32m**NOT\033[00;00mConfiguring /etc/multiseat.conf no /etc/gdm/gdm.conf-custom'&lt;br /&gt;#echo "Set reconfigure=true in /etc/multiseat.confif you want to reconfigure /etc/multiseat.conf no /etc/gdm/gdm.conf-custom in netx boot"&lt;br /&gt;else&lt;br /&gt;echo -e '\033[00;32m**\033[00;00mConfiguring /etc/multiseat.conf...'&lt;br /&gt;##############################INPUT DEVICES################################&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;: ${DIALOG=whiptail}&lt;br /&gt;&lt;br /&gt;: ${DIALOG_OK=0}&lt;br /&gt;: ${DIALOG_CANCEL=1}&lt;br /&gt;: ${DIALOG_ESC=255}&lt;br /&gt;: ${DIALOG_RENAME=3}&lt;br /&gt;&lt;br /&gt;tempfile=`tempfile 2&gt;/dev/null` || tempfile=/tmp/test$$&lt;br /&gt;trap "rm -f $tempfile" 0 1 2 5 15&lt;br /&gt;&lt;br /&gt;echo "#Multiseat device configuration file auto generated by multiseat_config on `date +'%Y-%m-%d.%H:%M:%S'` " &gt; $conf&lt;br /&gt;echo "reconfigure=true" &gt;&gt; $conf&lt;br /&gt;echo "vbrose=false" &gt;&gt; $conf&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;for inputdev in mouse kbd;&lt;br /&gt;do&lt;br /&gt;list=""&lt;br /&gt;s="s"&lt;br /&gt;if [ $vbrose == true ] ; then&lt;br /&gt;count=0&lt;br /&gt;for item in `cat /proc/bus/input/devices | grep -i $inputdev -B3 | grep Phys | grep  -e isa -e usb | awk '{print $2}' | grep input0 | sed -e s/Phys=// -e s@isa[0-9].../input[0-9]@@` ;&lt;br /&gt;do&lt;br /&gt;list="$list $item $inputdev:$count on";&lt;br /&gt;count=$( expr $count + 1 )&lt;br /&gt;done&lt;br /&gt;$DIALOG --backtitle "$inputdev$s configuration" \&lt;br /&gt;--title "$inputdev list" \&lt;br /&gt;--checklist "Avilable $inputdev s are listed bellow with physical address please select the correct ones. /prc/bus/input/devices will be helpful when choosing the correct devices " 20 45 5 \&lt;br /&gt; $list 2&gt; $tempfile&lt;br /&gt;&lt;br /&gt;retval=$?&lt;br /&gt;choice=`cat $tempfile`&lt;br /&gt;case $retval in&lt;br /&gt;$DIALOG_OK)&lt;br /&gt;choices=$( echo $choices | sed  s/'"'// );&lt;br /&gt;echo "$inputdev$s=\"$choice\"" &gt;&gt; $conf ;;&lt;br /&gt;$DIALOG_CANCEL)&lt;br /&gt;echo "Cancel pressed.";;&lt;br /&gt;$DIALOG_ESC)&lt;br /&gt;echo "ESC pressed.";;&lt;br /&gt;*)&lt;br /&gt;echo "Unexpected return code: $retval (ok would be $DIALOG_OK)";;&lt;br /&gt;esac&lt;br /&gt;else&lt;br /&gt;list=$( cat /proc/bus/input/devices | grep -i $inputdev -B3 | grep Phys | grep  -e isa -e usb | awk '{print $2}' | grep  input0 | sed -e s/Phys=// -e s@isa[0-9].../input[0-9]@@ )&lt;br /&gt;list=$( echo $list )&lt;br /&gt;echo  "$inputdev$s=\"$list\"" &gt;&gt; $conf&lt;br /&gt;fi&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;####################################VGA#####################################&lt;br /&gt;function hextodec(){&lt;br /&gt;let i1=$( echo $1 | awk -F ':' '{print "0x"$1}' )&lt;br /&gt;i2=$( echo $1 | awk -F ':' '{print $2}' )&lt;br /&gt;let i3=$( echo $i2 | awk -F '.' '{print "0x"$1}' )&lt;br /&gt;let i4=$( echo $i2 | awk -F '.' '{print "0x"$2}' )&lt;br /&gt;echo  "$i1:$i3:$i4"&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;devices=""&lt;br /&gt;vgas=$( lspci | grep VGA |  awk '{print $5"@"$1}' )&lt;br /&gt;for vga in $vgas&lt;br /&gt;do&lt;br /&gt;driver=`echo $vga | awk -F '@' '{print $1}'`&lt;br /&gt;busid=`echo $vga | awk -F '@' '{print $2}'`&lt;br /&gt;case $driver in&lt;br /&gt;Intel)&lt;br /&gt;driver="intel"&lt;br /&gt;;;&lt;br /&gt;ATI)&lt;br /&gt;driver="ati"&lt;br /&gt;;;&lt;br /&gt;Matrox)&lt;br /&gt;driver="mga"&lt;br /&gt;;;&lt;br /&gt;nVidia)&lt;br /&gt;driver="nv"&lt;br /&gt;;;&lt;br /&gt;Silicon)&lt;br /&gt;driver="sis"&lt;br /&gt;;;&lt;br /&gt;*)&lt;br /&gt;driver="vesa"&lt;br /&gt;echo "**Default driver choosen for VGA if you aware with the driver name, please modify $driver@PCI:$busid  in $conf "&lt;br /&gt;;;&lt;br /&gt;esac&lt;br /&gt;busid=$( hextodec $busid )&lt;br /&gt;devices="$devices $driver@PCI:$busid"&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;if [ $vbrose == true ] ; then&lt;br /&gt;$DIALOG --backtitle "VGA configuration" --inputbox "Auto generated devices string is given bellow with the format &lt;driver&gt;@PCI:&lt;busid&gt; you can change now if you will" 10 60 "$devices" 2&gt; $tempfile&lt;br /&gt;&lt;br /&gt;retval=$?&lt;br /&gt;choice=`cat $tempfile`&lt;br /&gt;case $retval in&lt;br /&gt;$DIALOG_OK)&lt;br /&gt;echo "devices=\"$choice\"" &gt;&gt; $conf;;&lt;br /&gt;$DIALOG_CANCEL)&lt;br /&gt;echo "Cancel pressed.";;&lt;br /&gt;$DIALOG_ESC)&lt;br /&gt;echo "ESC pressed.";;&lt;br /&gt;*)&lt;br /&gt;echo "Unexpected return code: $retval (ok would be $DIALOG_OK)";;&lt;br /&gt;esac&lt;br /&gt;&lt;br /&gt;else&lt;br /&gt;echo "devices=\"$devices\"" &gt;&gt; $conf&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#############################writing gdm.conf-custom#############################&lt;br /&gt;source $conf&lt;br /&gt;&lt;br /&gt;stdserverid=':N:=Standard:N:&lt;br /&gt;'&lt;br /&gt;stdserver='&lt;br /&gt;[server-Standard:N:]&lt;br /&gt;name=Standard server&lt;br /&gt;command=/usr/X11R6/bin/X -novtswitch -sharevts -layout layout:N:&lt;br /&gt;flexible=false&lt;br /&gt;'&lt;br /&gt;sing=0&lt;br /&gt;&lt;br /&gt;for device in $devices&lt;br /&gt;do&lt;br /&gt;sing=$( expr $sing + 1 )&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;dno=0&lt;br /&gt;if [[ $sing -gt 1 ]]&lt;br /&gt;then&lt;br /&gt;for device in $devices&lt;br /&gt;do&lt;br /&gt;serverid="$serverid&lt;br /&gt;$( echo "$stdserverid" |sed s/:N:/$dno/ |sed s/:N:/$dno/)"&lt;br /&gt;server="$server"$(echo "$stdserver" |sed s/:N:/$dno/ |sed s/:N:/$dno/);&lt;br /&gt;dno=$( expr $dno + 1 )&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;gdmconf="/etc/gdm/gdm.conf-custom"&lt;br /&gt;&lt;br /&gt;echo -e '\033[00;32m**\033[00;00mConfiguring /etc/gdm/gdm.conf-custom...'&lt;br /&gt;#cp $gdmconf $gdmconf.`date +'%Y-%m-%d.%H-%M-%S'`&lt;br /&gt;if [[ ! -f "$gdmconf.bak" ]]&lt;br /&gt;then&lt;br /&gt;cp "$gdmconf" "$gdmconf.bak"&lt;br /&gt;fi&lt;br /&gt;echo "#Multiseat gdm configuration file auto generated by multiseat_config on `date +'%Y-%m-%d.%H:%M:%S'`" &gt; $gdmconf&lt;br /&gt;echo "[servers]" &gt;&gt; $gdmconf&lt;br /&gt;echo "$serverid" &gt;&gt; $gdmconf&lt;br /&gt;echo "$server" &gt;&gt; $gdmconf&lt;br /&gt;else&lt;br /&gt;echo -e '\033[00;32m**\033[00;00mFound single VGA card computer!!'&lt;br /&gt;&lt;br /&gt;#restoring gdm.conf-custom&lt;br /&gt;gdmconf="/etc/gdm/gdm.conf-custom"&lt;br /&gt;xconf="/etc/X11/xorg.conf"&lt;br /&gt;&lt;br /&gt;if [[ -f "$gdmconf.bak" ]]&lt;br /&gt;then&lt;br /&gt;cp "$gdmconf.bak" "$gdmconf"&lt;br /&gt;else&lt;br /&gt;rm -f "$gdmconf"&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;#Restoring xorg.conf&lt;br /&gt;if [[ -f $xconf.bak ]]&lt;br /&gt;then&lt;br /&gt;cp $xconf.bak $xconf&lt;br /&gt;else&lt;br /&gt;dpkg-reconfigure -phigh xserver-xorg&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;exit 0&lt;br /&gt;fi&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;###########################setting up startup script##########################&lt;br /&gt;&lt;br /&gt;conf=/etc/multiseat.conf&lt;br /&gt;&lt;br /&gt;source $conf&lt;br /&gt;&lt;br /&gt;mousesection='&lt;br /&gt;Section "InputDevice"&lt;br /&gt;Identifier      "mouse:M:"&lt;br /&gt;Driver          "mouse"&lt;br /&gt;Option          "Device"        "/dev/input/:E:"&lt;br /&gt;Option          "CorePointer"&lt;br /&gt;Option          "ZAxisMapping"  "4 5"&lt;br /&gt;Option          "Emulate3Buttons"       "true"&lt;br /&gt;EndSection&lt;br /&gt;'&lt;br /&gt;kbdsection='&lt;br /&gt;Section "InputDevice"&lt;br /&gt;Identifier      "keyboard:K:"&lt;br /&gt;Driver          "evdev"&lt;br /&gt;Option          "Device"        "/dev/input/:E:"&lt;br /&gt;Option          "CoreKeyboard"&lt;br /&gt;Option          "XkbRules"      "xorg"&lt;br /&gt;Option          "XkbModel"      "evdev"&lt;br /&gt;Option          "XkbLayout"     "us"&lt;br /&gt;EndSection&lt;br /&gt;'&lt;br /&gt;devsection='&lt;br /&gt;Section "Device"&lt;br /&gt;Identifier      "device:D:"&lt;br /&gt;Driver          ":DR:"&lt;br /&gt;Busid           ":B:"&lt;br /&gt;EndSection&lt;br /&gt;'&lt;br /&gt;monitorsection='&lt;br /&gt;Section "Monitor"&lt;br /&gt;Identifier      "monitor:MO:"&lt;br /&gt;Option          "DPMS"&lt;br /&gt;EndSection&lt;br /&gt;'&lt;br /&gt;screensection='&lt;br /&gt;Section "Screen"&lt;br /&gt;Identifier      "screen:S:"&lt;br /&gt;Device          "device:D:"&lt;br /&gt;Monitor         "monitor:MO:"&lt;br /&gt;Defaultdepth    24&lt;br /&gt;SubSection "Display"&lt;br /&gt;        Modes           "1024x768"&lt;br /&gt;EndSubSection&lt;br /&gt;EndSection&lt;br /&gt;'&lt;br /&gt;layoutsection='&lt;br /&gt;Section "ServerLayout"&lt;br /&gt;Identifier      "layout:L:"&lt;br /&gt;screen          "screen:S:"&lt;br /&gt;Inputdevice     "keyboard:K:"&lt;br /&gt;Inputdevice     "mouse:M:"&lt;br /&gt;Option          "IsolateDevice" ":B:"&lt;br /&gt;EndSection&lt;br /&gt;'&lt;br /&gt;initlayoutsection='&lt;br /&gt;Section "ServerLayout"&lt;br /&gt;Identifier      "layout:L:"&lt;br /&gt;screen          "screen:S:"&lt;br /&gt;Inputdevice     "keyboard:K:"&lt;br /&gt;Inputdevice     "mouse:M:"&lt;br /&gt;Option          "IsolateDevice" ":B:"&lt;br /&gt;EndSection&lt;br /&gt;'&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;flagssection='&lt;br /&gt;Section "ServerFlags"&lt;br /&gt;#        Option         "DontZap"  "true"&lt;br /&gt;#        Option         "DontVTSwitch"  "true"&lt;br /&gt;#        Option         "HandleSpecialKeys"     "Always"&lt;br /&gt;#     Option        "BlankTime"    "0"&lt;br /&gt;#        Option        "StandbyTime"  "0"&lt;br /&gt;#        Option        "SuspendTime"  "0"&lt;br /&gt;#        Option        "OffTime"      "0"&lt;br /&gt;Option          "AllowMouseOpenFail"    "true"&lt;br /&gt;EndSection&lt;br /&gt;'&lt;br /&gt;&lt;br /&gt;mouse=""&lt;br /&gt;kbd=""&lt;br /&gt;mno=0&lt;br /&gt;kno=0&lt;br /&gt;dno=0&lt;br /&gt;&lt;br /&gt;xconf=/etc/X11/xorg.conf&lt;br /&gt;&lt;br /&gt;echo -e '\033[00;32m**\033[00;00mConfiguring /etc/X11/xorg.conf...'&lt;br /&gt;#cp $xconf $xconf.`date +'%Y-%m-%d.%H-%M-%S'`&lt;br /&gt;if [ ! -f $xconf.bak ]&lt;br /&gt;then&lt;br /&gt;cp $xconf $xconf.bak&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;echo "#Generated by MXconfGen on `date`" &gt; $xconf&lt;br /&gt;&lt;br /&gt;for mouse in $mouses&lt;br /&gt;do&lt;br /&gt;dev=`grep -A3 $mouse /proc/bus/input/devices | grep 'H: Handlers=' | grep --only-matching -e 'mouse[0-9]*'`&lt;br /&gt;echo "$mousesection" | sed -e s/:E:/$dev/ -e s/:M:/$mno/ &gt;&gt;  $xconf&lt;br /&gt;mno=$( expr $mno + 1 )&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;for kbd in $kbds&lt;br /&gt;do&lt;br /&gt;dev=`grep -A3 $kbd /proc/bus/input/devices | grep 'H: Handlers=' | grep --only-matching -e 'event[0-9]*'`&lt;br /&gt;echo "$kbdsection" | sed -e s/:E:/$dev/  -e s/:K:/$kno/ &gt;&gt;  $xconf&lt;br /&gt;kno=$( expr $kno + 1 )&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;for device in  $devices&lt;br /&gt;do&lt;br /&gt;driver=$( echo $device  | awk -F '@' '{print $1}' )&lt;br /&gt;busid=$( echo $device  | awk -F '@' '{print $2}' )&lt;br /&gt;echo  "$devsection" | sed -e s/:DR:/$driver/  -e s/:B:/$busid/ -e s/:D:/$dno/ &gt;&gt;  $xconf&lt;br /&gt;echo "$monitorsection" | sed s/:MO:/$dno/  &gt;&gt;  $xconf&lt;br /&gt;echo "$screensection" | sed -e s/:S:/$dno/ -e s/:D:/$dno/ -e s/:MO:/$dno/ &gt;&gt;  $xconf&lt;br /&gt;echo "$layoutsection" | sed -e s/:L:/$dno/ -e s/:L:/$dno/  -e s/:K:/$dno/ -e s/:M:/$dno/ -e s/:B:/$busid/ -e s/:S:/$dno/ &gt;&gt;  $xconf&lt;br /&gt;dno=$( expr $dno + 1 )&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;echo "$flagssection" &gt;&gt;  $xconf&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/busid&gt;&lt;/driver&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-1509959596479907880?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/1509959596479907880/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2008/05/fully-functioning-script-for-linux.html#comment-form' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/1509959596479907880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/1509959596479907880'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2008/05/fully-functioning-script-for-linux.html' title='Fully functioning Automation Script for Linux multiseat / multiterminal'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-2251581783815053664</id><published>2007-09-25T03:12:00.000-07:00</published><updated>2008-12-09T08:09:59.258-08:00</updated><title type='text'></title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_5e88KWjsOls/RvjhZXU1hFI/AAAAAAAAADs/lWhS9PwpZ5A/s1600-h/img19.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_5e88KWjsOls/RvjhZXU1hFI/AAAAAAAAADs/lWhS9PwpZ5A/s400/img19.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5114085202753586258" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5e88KWjsOls/RvjhZnU1hGI/AAAAAAAAAD0/qSntlx1QvnE/s1600-h/img20.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_5e88KWjsOls/RvjhZnU1hGI/AAAAAAAAAD0/qSntlx1QvnE/s400/img20.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5114085207048553570" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5e88KWjsOls/RvjhZ3U1hHI/AAAAAAAAAD8/w0_azEl0IKk/s1600-h/img21.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_5e88KWjsOls/RvjhZ3U1hHI/AAAAAAAAAD8/w0_azEl0IKk/s400/img21.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5114085211343520882" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_5e88KWjsOls/RvjhaHU1hII/AAAAAAAAAEE/KoQwhA7B2BY/s1600-h/img22.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_5e88KWjsOls/RvjhaHU1hII/AAAAAAAAAEE/KoQwhA7B2BY/s400/img22.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5114085215638488194" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_5e88KWjsOls/RvjhaHU1hJI/AAAAAAAAAEM/IGJfp_haJOw/s1600-h/img23.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_5e88KWjsOls/RvjhaHU1hJI/AAAAAAAAAEM/IGJfp_haJOw/s400/img23.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5114085215638488210" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5e88KWjsOls/Rvjgu3U1hAI/AAAAAAAAADE/ZBlKyqmVeEw/s1600-h/img13.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_5e88KWjsOls/Rvjgu3U1hAI/AAAAAAAAADE/ZBlKyqmVeEw/s400/img13.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5114084472609145858" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5e88KWjsOls/Rvjgu3U1hBI/AAAAAAAAADM/kxwVF9JtiHU/s1600-h/img14.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_5e88KWjsOls/Rvjgu3U1hBI/AAAAAAAAADM/kxwVF9JtiHU/s400/img14.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5114084472609145874" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_5e88KWjsOls/RvjgvHU1hCI/AAAAAAAAADU/UOcujK2tn8Q/s1600-h/img15.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_5e88KWjsOls/RvjgvHU1hCI/AAAAAAAAADU/UOcujK2tn8Q/s400/img15.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5114084476904113186" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_5e88KWjsOls/RvjgvHU1hDI/AAAAAAAAADc/SD-Cph6iaXE/s1600-h/img16.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_5e88KWjsOls/RvjgvHU1hDI/AAAAAAAAADc/SD-Cph6iaXE/s400/img16.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5114084476904113202" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_5e88KWjsOls/RvjgvXU1hEI/AAAAAAAAADk/L6qm4WnFY08/s1600-h/img17.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_5e88KWjsOls/RvjgvXU1hEI/AAAAAAAAADk/L6qm4WnFY08/s400/img17.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5114084481199080514" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5e88KWjsOls/RvjgAnU1g7I/AAAAAAAAACc/t2S0HMdS5QU/s1600-h/img0.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_5e88KWjsOls/RvjgAnU1g7I/AAAAAAAAACc/t2S0HMdS5QU/s400/img0.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5114083678040196018" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5e88KWjsOls/RvjgA3U1g8I/AAAAAAAAACk/9DUMR30_tIY/s1600-h/img1.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_5e88KWjsOls/RvjgA3U1g8I/AAAAAAAAACk/9DUMR30_tIY/s400/img1.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5114083682335163330" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_5e88KWjsOls/RvjgBHU1g9I/AAAAAAAAACs/tRbR3rREMbs/s1600-h/img10.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_5e88KWjsOls/RvjgBHU1g9I/AAAAAAAAACs/tRbR3rREMbs/s400/img10.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5114083686630130642" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_5e88KWjsOls/RvjgBHU1g-I/AAAAAAAAAC0/826ev0jIeO8/s1600-h/img11.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_5e88KWjsOls/RvjgBHU1g-I/AAAAAAAAAC0/826ev0jIeO8/s400/img11.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5114083686630130658" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_5e88KWjsOls/RvjgBXU1g_I/AAAAAAAAAC8/WFvzD8B7HII/s1600-h/img12.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_5e88KWjsOls/RvjgBXU1g_I/AAAAAAAAAC8/WFvzD8B7HII/s400/img12.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5114083690925097970" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-2251581783815053664?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/2251581783815053664/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2007/09/blog-post.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/2251581783815053664'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/2251581783815053664'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2007/09/blog-post.html' title=''/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_5e88KWjsOls/RvjhZXU1hFI/AAAAAAAAADs/lWhS9PwpZ5A/s72-c/img19.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-8131549653962908753</id><published>2007-09-16T02:59:00.001-07:00</published><updated>2007-09-16T03:49:46.965-07:00</updated><title type='text'>Qemu with networking</title><content type='html'>1.Building the enviorenment:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;apt-get install qemu&lt;br /&gt;&lt;/li&gt;&lt;li&gt;apt-get install uml-utilities&lt;/li&gt;&lt;li&gt;apt-get install bridge-utils &lt;/li&gt;&lt;/ul&gt;2.Configuring HostOS:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;modprobe tun&lt;/li&gt;&lt;li&gt; mkdir /dev/net&lt;/li&gt;&lt;li&gt;mknod /dev/net/tun c 10 200&lt;/li&gt;&lt;li&gt;tunctl&lt;/li&gt;&lt;li&gt;brctl addbr br0&lt;/li&gt;&lt;li&gt;create /etc/qemu-ifup file and make it executable&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:courier new;"&gt;#!/bin/sh&lt;br /&gt;echo "Executing /etc/qemu-ifup"&lt;br /&gt;echo "Bringing up $1 for bridged mode..."&lt;br /&gt;ifconfig $1 0.0.0.0 promisc up&lt;br /&gt;echo "Adding $1 to br0..."&lt;br /&gt;brctl addif br0 $1&lt;br /&gt;sleep 2&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Create qemu-start.sh script and make it executable&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:courier new;"&gt;#!/bin/bash&lt;br /&gt;&lt;br /&gt;ARGS="-hda /dev/sda -boot c -net nic,vlan=0 -net tap,vlan=0,ifname=tap0,script=/etc/qemu-ifup -m 256 -localtime"&lt;br /&gt;echo "Loading kqemu kernel module..."&lt;br /&gt;modprobe kqemu&lt;br /&gt;echo "...."&lt;br /&gt;echo "Starting QEMU with..."&lt;br /&gt;echo $ARGS&lt;br /&gt;echo "...."&lt;br /&gt;echo "Setting memory"&lt;br /&gt;umount /dev/shm&lt;br /&gt;mount -t tmpfs -o size=272m none /dev/shm&lt;br /&gt;exec qemu $ARGS&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;host ip is =&gt; 192.248.17.221&lt;li&gt;ifconfig tap0 192.248.17.222 up&lt;/li&gt;&lt;li&gt;Start qemu with qemu-start.sh&lt;/li&gt;&lt;/ul&gt;3.Configuring GuestOS:&lt;ul&gt;&lt;li&gt;ifconfig eth0 192.248.17.223/24 up&lt;li&gt;route add default gw 192.248.17.222&lt;li&gt;ping 192.248.17.222&lt;/li&gt;&lt;/ul&gt;4.References:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;http://compsoc.dur.ac.uk/~djw/qemu.html&lt;br /&gt;&lt;/li&gt;&lt;li&gt;http://ubuntuforums.org/showthread.php?t=179472&lt;/li&gt;&lt;li&gt;http://wiki.openvz.org/Using_private_IPs_for_Hardware_Nodes&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;br /&gt;&lt;br /&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-8131549653962908753?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/8131549653962908753/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2007/09/qemu-with-networking.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/8131549653962908753'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/8131549653962908753'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2007/09/qemu-with-networking.html' title='Qemu with networking'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-2987600344602737813</id><published>2007-08-29T04:48:00.000-07:00</published><updated>2007-08-29T04:59:57.204-07:00</updated><title type='text'>Add security policy in tomcat5 on ubuntu</title><content type='html'>open the file&lt;br /&gt;/etc/tomcat5/policy.d/04webapps.policy&lt;br /&gt;and add folowing lines to that file here the container directory is "test" replace your container directory with "test"&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;grant codeBase "file:${catalina.home}/webapps/test/WEB-INF/classes/-" {&lt;br /&gt; permission java.security.AllPermission;&lt;br /&gt;};&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;with this entry all permision will be set to the classes in test/WEB-INF/classes/ directory; if you whish to apply specialized permisions you can customize&lt;br /&gt;"permission java.security.AllPermission;" line&lt;br /&gt;&lt;br /&gt;eg:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;permission java.net.SocketPermission "localhost:9001", "connect"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;for socket permision&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-2987600344602737813?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/2987600344602737813/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2007/08/add-security-policy-in-tomcat5-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/2987600344602737813'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/2987600344602737813'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2007/08/add-security-policy-in-tomcat5-on.html' title='Add security policy in tomcat5 on ubuntu'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-4955112558371744626</id><published>2007-08-28T20:11:00.000-07:00</published><updated>2007-08-28T20:12:11.262-07:00</updated><title type='text'>Fixing sudo error: sudo: must be setuid root</title><content type='html'>&lt;div style='background:gray'&gt;The error was&lt;br /&gt;&lt;code&gt;&lt;br /&gt;sudo: must be setuid root&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;to fix that problem&lt;br /&gt;log in to a virtual terminal as root&lt;br /&gt;and type&lt;br /&gt;&lt;code&gt;&lt;br /&gt;chmod 4111 /usr/bin/sudo&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-4955112558371744626?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/4955112558371744626/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2007/08/fixing-sudo-error-sudo-must-be-setuid.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/4955112558371744626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/4955112558371744626'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2007/08/fixing-sudo-error-sudo-must-be-setuid.html' title='Fixing sudo error: sudo: must be setuid root'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-8440113963517724848</id><published>2007-08-28T20:08:00.000-07:00</published><updated>2007-08-28T20:09:59.135-07:00</updated><title type='text'>Set proxy enviorentment variable in a python script</title><content type='html'>&lt;div style='background:gray'&gt;import os&lt;br /&gt;os.environ['http_proxy']='http://192.248.16.90:3128'&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-8440113963517724848?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/8440113963517724848/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2007/08/set-proxy-enviorentment-variable-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/8440113963517724848'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/8440113963517724848'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2007/08/set-proxy-enviorentment-variable-in.html' title='Set proxy enviorentment variable in a python script'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-8332995697365353387</id><published>2007-08-28T19:59:00.000-07:00</published><updated>2007-08-28T20:07:19.343-07:00</updated><title type='text'>Interactive python shell</title><content type='html'>&lt;div style='background:gray'&gt;&lt;br /&gt;&lt;li&gt;Crate an ~/.inputrc file and set editing-mode vi set horizontal-scroll-mode on. &lt;br /&gt;&lt;li&gt;Create PYTHONSTARTUP file called ~/.pythonstartup and export the path to that file in ~/.barshrc : PYTHONSTARTUP=/home/nayanajith/.pythonstartup. &lt;br /&gt;&lt;li&gt;Give pth from /. then the python shell work in vi line eddting mode when pressing Esc key. &lt;br /&gt;&lt;li&gt;Olso it gives the auto completion facility with the tab key&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-8332995697365353387?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/8332995697365353387/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2007/08/interactive-python-shell.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/8332995697365353387'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/8332995697365353387'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2007/08/interactive-python-shell.html' title='Interactive python shell'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-4295278483906582689</id><published>2007-08-16T05:18:00.001-07:00</published><updated>2008-12-09T08:10:00.088-08:00</updated><title type='text'>New customization to rox desktop and slim</title><content type='html'>I added some of my works to customize.org&lt;br /&gt;slim login themes &lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 181px; height: 126px;" src="http://1.bp.blogspot.com/_5e88KWjsOls/RsRCnkKQsnI/AAAAAAAAAB8/MLU9Ao493gA/s320/scshot.png" alt="" id="BLOGGER_PHOTO_ID_5099273925579289202" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_5e88KWjsOls/RsRCoUKQsoI/AAAAAAAAACE/Sy3B2HP9aVU/s1600-h/sccaptured.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 153px; height: 85px;" src="http://4.bp.blogspot.com/_5e88KWjsOls/RsRCoUKQsoI/AAAAAAAAACE/Sy3B2HP9aVU/s320/sccaptured.png" alt="" id="BLOGGER_PHOTO_ID_5099273938464191106" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;icon themes for rox desktop&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5e88KWjsOls/RsRD4EKQsqI/AAAAAAAAACU/TBeU9k8QY3U/s1600-h/screenshot-20070816_1753.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 163px; height: 122px;" src="http://3.bp.blogspot.com/_5e88KWjsOls/RsRD4EKQsqI/AAAAAAAAACU/TBeU9k8QY3U/s320/screenshot-20070816_1753.png" alt="" id="BLOGGER_PHOTO_ID_5099275308558758562" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;more info and downloads at&lt;br /&gt;http://customize.org/nayanajith&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-4295278483906582689?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/4295278483906582689/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2007/08/new-customization-to-rox-desktop-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/4295278483906582689'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/4295278483906582689'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2007/08/new-customization-to-rox-desktop-and.html' title='New customization to rox desktop and slim'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_5e88KWjsOls/RsRCnkKQsnI/AAAAAAAAAB8/MLU9Ao493gA/s72-c/scshot.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-2313886934014042909</id><published>2007-07-30T00:36:00.000-07:00</published><updated>2007-07-30T00:44:12.116-07:00</updated><title type='text'>Founded Lanka IT Revolution Community (LKReC)</title><content type='html'>&lt;p&gt;  With the evolution of Information technology, it getting generalized in the society, means the people getting more familiar  with that by time. Advance concepts and technologies we learned in universities have become easy to learn for the school students. While some students already in the stream, some students still don't know how to start learning and keep going.&lt;/p&gt;&lt;p&gt;  To help them with choosing the  suitable path to their career and to make them keep going, We hope to be the linkers of them to share there knowledge, helpers when they need some hand and motivators to keep excitement of learning.&lt;/p&gt;&lt;p&gt;  Though the mission mostly focused on the school students or the younger generation, others who interested can participate the community with there ideas and visions. They also can get hand from this community.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;The first seminar:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;First seminar was held at Piliyandala central college on last Friday. That was very interesting and the feedback was more than we expected. The students were happy and had long Q&amp;A session at the end.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: center; clear: both;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-2313886934014042909?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/2313886934014042909/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2007/07/founded-lanka-it-revolution-community.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/2313886934014042909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/2313886934014042909'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2007/07/founded-lanka-it-revolution-community.html' title='Founded Lanka IT Revolution Community (LKReC)'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-1910290827932949832</id><published>2007-07-30T00:21:00.000-07:00</published><updated>2008-12-09T08:10:01.114-08:00</updated><title type='text'>3d desktop wallpaper in FVWC-Crystal</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5e88KWjsOls/Rq24_YElbAI/AAAAAAAAAB0/WC3gkxsGsZw/s1600-h/3d-cloud-shadow-layout2.png"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_5e88KWjsOls/Rq24_YElbAI/AAAAAAAAAB0/WC3gkxsGsZw/s320/3d-cloud-shadow-layout2.png" alt="" id="BLOGGER_PHOTO_ID_5092930152558849026" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_5e88KWjsOls/Rq24bIEla_I/AAAAAAAAABs/lMRHtCquQvA/s1600-h/heaven-layout.png"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_5e88KWjsOls/Rq24bIEla_I/AAAAAAAAABs/lMRHtCquQvA/s320/heaven-layout.png" alt="" id="BLOGGER_PHOTO_ID_5092929529788591090" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_5e88KWjsOls/Rq2R_4Ela8I/AAAAAAAAABU/mDB2urpdPYE/s1600-h/Screenshot.png"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_5e88KWjsOls/Rq2R_4Ela8I/AAAAAAAAABU/mDB2urpdPYE/s320/Screenshot.png" alt="" id="BLOGGER_PHOTO_ID_5092887280195300290" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_5e88KWjsOls/Rq2SBIEla9I/AAAAAAAAABc/wwSdkA99d-4/s1600-h/Screenshot-1.png"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_5e88KWjsOls/Rq2SBIEla9I/AAAAAAAAABc/wwSdkA99d-4/s320/Screenshot-1.png" alt="" id="BLOGGER_PHOTO_ID_5092887301670136786" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_5e88KWjsOls/Rq2SCIEla-I/AAAAAAAAABk/5NCwB2XAmDI/s1600-h/Screenshot-2.png"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_5e88KWjsOls/Rq2SCIEla-I/AAAAAAAAABk/5NCwB2XAmDI/s320/Screenshot-2.png" alt="" id="BLOGGER_PHOTO_ID_5092887318850005986" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Renewed recipe with windows thumbnails with default recipe:&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-1910290827932949832?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/1910290827932949832/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2007/07/new-3d-desktop-wallpaper-in-fvwc.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/1910290827932949832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/1910290827932949832'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2007/07/new-3d-desktop-wallpaper-in-fvwc.html' title='3d desktop wallpaper in FVWC-Crystal'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_5e88KWjsOls/Rq24_YElbAI/AAAAAAAAAB0/WC3gkxsGsZw/s72-c/3d-cloud-shadow-layout2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-2307797401936907190</id><published>2007-07-19T03:37:00.000-07:00</published><updated>2007-07-19T03:50:59.759-07:00</updated><title type='text'>Simple script to add icons to idesktop</title><content type='html'>&lt;span style="font-family: courier new;"&gt;#!/bin/bash&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;cd ~/.idesktop&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;command=""&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;icon=""&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;caption=""&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;####using function#####&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;message=""&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;input=""&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;function requestUserInput() {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;while true; do&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;echo $message&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;read input &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;if [ -z $input ]   2&gt; /dev/null&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;then&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;continue &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;else&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;echo "You entered \"$input\" "&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;echo "Continue? [y/n]: "&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;read ans&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;if expr $ans = y &gt; /dev/null&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;then&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;break&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;else&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;continue&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;fi&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;fi&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;done&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;#request caption&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;if [ $# -eq 0 ]; then&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;message="Caption: "&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;requestUserInput&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;caption=$input&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;else&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;caption=$1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;fi&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;#request command&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;message="Command: "&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;requestUserInput&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;command=$input&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;#request icon&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;#rox icons&amp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;message="Icon: "&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;icon=$( zenity  --entry --text "Drag and Drop the Image here:" --title Image);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;#requestUserInput&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;#icon=$input&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;echo "table Icon&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  Caption: $caption&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  Command: $command&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  Icon: $icon&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  Width: 48&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  Height: 48&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  X: 0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  Y: 0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;end" &gt; $caption.lnk&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-2307797401936907190?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/2307797401936907190/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2007/07/simple-script-to-add-icons-to-idesktop.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/2307797401936907190'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/2307797401936907190'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2007/07/simple-script-to-add-icons-to-idesktop.html' title='Simple script to add icons to idesktop'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-7633480951782396797</id><published>2007-07-19T03:25:00.000-07:00</published><updated>2008-12-09T08:10:01.450-08:00</updated><title type='text'>Faast and cool Desktop with fluxbox idesk xcompmgr</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5e88KWjsOls/Rp8-ViobQoI/AAAAAAAAABE/EQ5u_oU5zdA/s1600-h/Screenshot.png"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_5e88KWjsOls/Rp8-ViobQoI/AAAAAAAAABE/EQ5u_oU5zdA/s320/Screenshot.png" alt="" id="BLOGGER_PHOTO_ID_5088854643746488962" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_5e88KWjsOls/Rp8-WCobQpI/AAAAAAAAABM/xYIA9Iv866c/s1600-h/Screenshot-1.png"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_5e88KWjsOls/Rp8-WCobQpI/AAAAAAAAABM/xYIA9Iv866c/s320/Screenshot-1.png" alt="" id="BLOGGER_PHOTO_ID_5088854652336423570" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-7633480951782396797?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/7633480951782396797/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2007/07/faast-and-cool-desktop-with-fluxbox.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/7633480951782396797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/7633480951782396797'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2007/07/faast-and-cool-desktop-with-fluxbox.html' title='Faast and cool Desktop with fluxbox idesk xcompmgr'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_5e88KWjsOls/Rp8-ViobQoI/AAAAAAAAABE/EQ5u_oU5zdA/s72-c/Screenshot.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7961470268390569807.post-7560542981584823912</id><published>2007-07-15T22:49:00.001-07:00</published><updated>2008-12-09T08:10:02.071-08:00</updated><title type='text'>Faaast, pretty, transparent and shadowed GNU/Linux with fvwm-crystal ROX-Filer and xcompmgr</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_5e88KWjsOls/RpsHNCobQlI/AAAAAAAAAAk/ocsrtwfmlC4/s1600-h/Screenshot.png"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_5e88KWjsOls/RpsHNCobQlI/AAAAAAAAAAk/ocsrtwfmlC4/s320/Screenshot.png" alt="" id="BLOGGER_PHOTO_ID_5087668124671230546" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5e88KWjsOls/RpsHNiobQmI/AAAAAAAAAAs/XOc6d9kmCtc/s1600-h/Screenshot-1.png"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_5e88KWjsOls/RpsHNiobQmI/AAAAAAAAAAs/XOc6d9kmCtc/s320/Screenshot-1.png" alt="" id="BLOGGER_PHOTO_ID_5087668133261165154" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_5e88KWjsOls/RpsHNyobQnI/AAAAAAAAAA0/N-GK2XiWBgM/s1600-h/Screenshot-2.png"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_5e88KWjsOls/RpsHNyobQnI/AAAAAAAAAA0/N-GK2XiWBgM/s320/Screenshot-2.png" alt="" id="BLOGGER_PHOTO_ID_5087668137556132466" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_5e88KWjsOls/RpsHNyobQnI/AAAAAAAAAA0/N-GK2XiWBgM/s1600-h/Screenshot-2.png"&gt;&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7961470268390569807-7560542981584823912?l=nmlaxaman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nmlaxaman.blogspot.com/feeds/7560542981584823912/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nmlaxaman.blogspot.com/2007/07/faaast-pritty-transparent-shadowed.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/7560542981584823912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7961470268390569807/posts/default/7560542981584823912'/><link rel='alternate' type='text/html' href='http://nmlaxaman.blogspot.com/2007/07/faaast-pritty-transparent-shadowed.html' title='Faaast, pretty, transparent and shadowed GNU/Linux with fvwm-crystal ROX-Filer and xcompmgr'/><author><name>Laxaman</name><uri>http://www.blogger.com/profile/04991211156748114536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_5e88KWjsOls/RpsHNCobQlI/AAAAAAAAAAk/ocsrtwfmlC4/s72-c/Screenshot.png' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
