Friday, December 2, 2011

Ubuntu 12.04 LTS Alpha 1 Released


Ubuntu 12.04 Alpha 1

What's New:

  • Ubuntu Software Centre adds support for multiple screenshots
  • New Linux Kernel version 3.2.0-2
  • Rythmbox as Default Music App
  • Tomboy, Banshee has been removed

Note: Installing the Alpha release is not recommended due to its early yet rapid developmental stage.

Sunday, November 27, 2011

Ubuntu 12.04 : IRC Workshops

All the IRC Workshops for Ubuntu 12.04 has been planned already, along with spiffy ads to spread around.

After much discussion,it has been decided to “focus” the IRC workshops. Instead of one long week it will be clubbed to just three days for each “week” but make the days longer to hit more time zones. So they will be from Tuesday to Thursday.

Open Week will be likely going to move to 30 minute sessions by default (though it can be adjusted), which will mean instructors will have to be more prepared ahead of time. So, less typing wasting time, more time pasting in prepared material and answering user questions.

 No change for the Global Jam

Ubuntu 12.04 : Developer Week                     31Jan - 2 Feb

Tuesday, November 22, 2011

Ubuntu One dropping CouchDB sync

Today it was announced that Ubuntu One will be dropping support for CouchDB sync.

John Rowland Lenton in mailing list said

"From the first days of Ubuntu One, before we were even in Ubuntu, we'vehad a structured data storage sync service based around CouchDB.

 For the last three years we have worked with the company behind CouchDB to make it scale in the particular ways we need it to scale in our server environment. Our situation is rather unique, and we were unable to resolve some of the issues we came across. We were thus unable to make CouchDB scale up to the millions of users and databases we have in our datacentres, and furthermore we were unable to make it scale down to be a reasonable load on small client machines.

 Because of this, we are turning off most of our CouchDB-related efforts. The contacts, notes and playlists databases will continue to exist on our servers to support the related services, but direct external access to the underlying databases will be shut off. Any other databases will be deleted from our servers entirely. 

For these same three years we have created and maintained desktopcouch, which is a desktop service (and related library) to access CouchDB more conveniently. Because we are no longer going to pursue CouchDB, we will no longer be developing desktopcouch; in fact, if anybody wants to take over, we'll be happy to work with you to make that official. For the upcoming 12.04 the Ubuntu One packages will not depend on desktopcouch nor couchdb in any way, and we'd recommend the distribution seriously consider whether they want to continue having the package in main, especially if no maintainer shows up.

 Because we still believe there is a lot of value to our users in the service we wanted to offer based on CouchDB, we're building something new, based on what we've learned. It's very small, merely a layer of abstraction and the definition of an API that will allow us and others to build what is needed ontop of existing tools. We're calling it U1DB for now, until it comes of age. If you're interested and techincally inclined you can follow our progress on lp:u1db; unfortunately our timing and resources are such that we can only promise the reference python implementation will be ready in time for 12.04, and thus 12.04 will ship without Ubuntu One having a solid story around synchronizing arbitrary structured data."

Monday, November 21, 2011

12.04 Ubuntu Developer Summit Proceedings

From 31st Oct 2011 – 4th Nov 2011 the Ubuntu Developer Summit took place in Orlando, Florida, USA. Attracting 800attendees from 42 different countries, this mix of Canonical employees, volunteers, upstreams, vendors, and partners engaged in 420 sessions across 9 tracks.
These sessions were used to discuss, design, and plan the Ubuntu 12.04 LTS edition that will be released in April 2012. This post provides a summary of many of the outcomes and decisions finalized at the event.

The Keynote

Mark Shuttleworth, the founder of Canonical and Ubuntu and head of Product Strategy at Canonical, provided the opening keynote, first talking about where have been focusing on Ubuntu:
  • Engaging and embracing developers is important (for Free Software) to bring applications to the Ubuntu platform.
  • makes it easy for developers and ISVs to target the Ubuntu platform and it’s large number if users by providing tools, a quick start guide, documentation and a software distribution mechanism through the Apps Portal and the updated Software Center client software.
  • Ubuntu One is the leading Client Services platform and the now available Windows client attracts more users to the Ubuntu platform.
  • User Testing is an important driver for Ubuntu to improve usability and make Ubuntu look and feel great (LightDM, AppSwitcher, Music Lens and monospace were called out specifically).
  • OpenStack became the cloud infrastructure of choice in Ubuntu and administrators can expect a tight integration into the Ubuntu Desktop.
  • Ubuntu is set to become the preferred cloud platform, as best guest but also as best host.
  • ARM gains more traction in traditional PC areas, e.g. Data Centers and Ubuntu contributes to the enablement of ARM.
  • LTS releases are now supported for a period of 5 years, which caters more to the needs of Corporate Customers.
  • Services in the Cloud will become more important and Ubuntu’s wider cloud offering and specifically JuJudefines Cloud Services as so called Charms, which distill expertise into reusable units.
  • The demand of Corporate Users is rising and Ubuntu will deliver a reference Corporate Desktop for these large scale deployments.
  • Power Users will be a focus for the upcoming release, where the same amount of effort that was spent on the general usability of the Ubuntu Desktop will be geared towards the needs of Power Users.
Mark then moved on introduce what he referred toas The Ubuntu Vision:
  • The Ubuntu mission of Linux for Human Beings cannot end at the Desktop but needs to take into account the devices that will be used by Human Beings in the years to come.
  • Ubuntu will power tablets, phones, TVs and smart screens from the car to the office kitchen by LTS 14.04.
  • Unity will be the coherent user interface for all these devices.
  • Ubuntu powered personal computing platforms will connect seamlessly to Desktop, Server and Cloud.
  • Ubuntu’s personal Cloud – Ubuntu One – will deliver, share and synchronize data and content between Ubuntu powered devices and other devices that are supported by Ubuntu One.

Sunday, November 20, 2011

New [Precise] linux kernel version (3.2.0-1.1) Has been Uploaded

A new Precise linux kernel has been uploaded. Now the version has been changed to 3.2. This is the first kernel upload based on the 3.2 kernel.

Highlights of this upload include:
  •  rebase to v3.2-rc2
  •  Consolidated amd64 server flavour into generic
  •  armhf — enable armhf and create the first flavours
  •  Enable CONFIG_EXT2_FS=m
  •  Build in CONFIG_SATA_AHCI=y
  •  Built-in xen-netfront and xen-blkfront
  •  Support for additional ALPS touchpads
  •  Updated seccomp patch set

The full changelog can be found at:

Wednesday, November 9, 2011

Firefox 8 Officially Released

Firefox 8 Officially Released

Firefox 8 might have been ‘out in the wild’ for a few days, but today marks itsofficial release.

Ubuntu 11.04 and 11.10 will automatically upgrade to Firefox 8 at some point in the coming days – no PPAs or downloads necessary.

What’s new?

Firefox 8, which aside from nudging the open-source browser a step closer to the version number of Internet Explorer (and trying to keep pace with Google Chrome’s), includes a handful of new features and notable changes: -

  • Twitter search engine installed by default
  • Third-party add-ons are disabled by default
  • A new ‘add-on selection dialog’ allows to verify add-ons on upgrading
  • Tabs can be loaded ‘on demand’, improving start-up times
  • HTML5 context menu support, improved memory management, and various stability fixes also feature.
  • Download

Ubuntu 11.04 and 11.10 users do not need to download or add any PPAs in order to get the update: just keep an eye on update manager over the next day or so to upgrade.

Ubuntu 10.04 LTS and 10.10 users can install/upgrade to Firefox 8 by adding theMozilla Stable Release PPA to their Software Sources. (Note that at the time of writing these builds are pending publication, so will be available very shortly.)


Monday, October 31, 2011

Tuesday, October 25, 2011

Five-year Long Term Support (LTS) for Ubuntu 12.04

Canonical today announced it would be extending the support and maintenance period for its upcoming Long Term Support (LTS) release of Ubuntu for desktop users from three years to five years. The move comes in response to increasing demand for Ubuntu desktops in corporate environments where longer maintenance periods are the norm. It brings the desktop product into line with Ubuntu Server which continues with five years of support for LTS releases.

The first two years of the LTS period will benefit businesses by including hardware updates (through regular point releases) allowing them to keep up to date with the latest hardware upgrades. Maintenance updates will continue for a further three years. Businesses can now rely on always running an LTS version regardless of their hardware refresh rate.

Ubuntu's fourth LTS release comes at a time when the product has seen unprecedented uptake at a large scale in a variety of businesses. Qualcomm, the City of Munich, LVM have all spoken recently of their use of Ubuntu at large scale.

Upcoming Ubuntu Desktop Release's Team Support Period

Upcoming Ubuntu Desktop Release's Team Support Period

Tuesday, October 18, 2011

Ubuntu : update-apt-xapi takes lot of cpu usage

Problem : The process "update-apt-xapi" causes increase in CPU utilization to 100%

There are 2 ways to check this problem :

1.  One is to go to the System Monitor and click on the Processes tab. Sort by %CPU Used and the offending process should pop to the top.

2. The other way is to executed a terminal and type “top” w/o the quotes. Top is a great little application that lists the top users of CPU time, plus gives a bunch of great info at the top of the terminal screen like total uptime, CPU info, process statistic

What is update-apt-xapi?
The actual name of the package is "update-apt-xapian-index". It helps in maintaing an index of packages, and this helps speed up searching for packages in Synaptic, and possibly in other package managers as well. 

Solutions :

There are 3 possible solution to solve this problem :

Note: Use method 2 and 3 only if 1 does not works.

1. Edit /etc/cron.weekly/apt-xapian-index

This method will do following things :
a) Run process with the lowest system priority. 
b) Update the index and not built it again (faster)

i) sudo gedit /etc/cron.weekly/apt-xapian-index

ii) replace the line
nice $IONICE -c3 $CMD --quiet
nice -n 19 $IONICE -c 3 $CMD --update --quiet

iii) Save And exit And you are done.

In depth detail of changing  cron file can be found here:(Not important)
Cron is a utility for scheduling tasks to run at certain times. System tasks run weekly are, unsurprisingly, stored in the /etc/cron.weekly directory. You can also set up personal tasks to run pretty much whenever you want. For that, have a look at man crontab.

Looking at the internals of the code we're using here, the first line, the "crunchbang" line (#!), tells the system what executable to use to run the contents -- in this case, /bin/sh, or your basic shell.

The next two lines establish two shorthand variables. Variables in shell scripts are generally defined in ALL CAPS for easy readability. This is more of a best practice than any hard-and-fast requirement. When referenced later in the script, the variable names are prefixed with a $. Here, CMD is simply shorthand for the path to the update-apt-xapian-index binary, and IONICE is shorthand for the path to the ionice utility for getting or setting a process's I/O scheduling class and priority.

In the if statements, the -x checks to see if the next argument exists, so if [ -x $CMD ] will check to see if /usr/sbin/update-apt-xapian-index exists in the filesystem.

nice -n is basically how you assign a priority to a process. An important caveat, however, is that nice is just that -- a high nice value (up to a maximum of -n 19) means the process is nice and gets out of the way, and a low nice value (down to a minimum of -n -20) means the process is *not* nice and barges to the front of the line to be the first to use system resources. Niceness defaults to 10 if not otherwise specified, and apparently the default update-apt-xapian-index setup does not specify any value.

ionice is new in this fix. It works along similar lines, affecting a process's input/output niceness, only using the flag -c for "class". The ionice man page describes -c:

-c class
The scheduling class. 0 for none, 1 for real time, 2 for best-effort, 3 for idle.
Finally, we have the two options passed to update-apt-xapian-index itself, --update and --quiet. --quiet just tells it to not generate much text, only outputting for fatal errors, which makes sense for a background process. --update is new here in this fix together with the nice value and the ionice prioritization, and is a real kicker: it tellsupdate-apt-xapian-index to only update those items in the index that have actually changed. This seems like a no-brainer, since the index includes *every* package installed in the system, but unfortunately the default update-apt-xapian-index setup in a fresh install of Jaunty, Karmic, or Lucid all leave this option out, meaning thatupdate-apt-xapian-index will rebuild the ENTIRE package index every time it runs. No wonder it eats up so much memory and CPU time! With --update, it should take much less resources and much less time.

2.  Making the weekly update script non-executable 

It turns out that it installs itself to run weekly by adding a script to /etc/cron.weekly/. That’s easy to fix simply by making the script non-executable through file permission change:

sudo chmod 644 /etc/cron.weekly/apt-xapian-index

3.  Remove update-apt-xapi package
sudo apt-get autoremove --purge apt-xapian-index 
sudo apt-get autoremove --purge 

Note : Purging apt-xapian-index causes the quick search feature in Synaptic to become inoperative.

Friday, October 14, 2011

What's new in Ubuntu 11.10?

The release of Ubuntu 11.10 includes some enhancements to make Ubuntu experience even more enjoyable.

Ubuntu Software Centre

The Ubuntu Software Centre gives you instant access to thousands of apps. With the Ubuntu 11.10 redesign, you can see the top-rated apps, compare apps by rating and user reviews, keep track of what you’ve installed, and sync your apps between all your Ubuntu computers.

The Launcher

It’s pretty hard to miss the launcher that sits on the left-hand side of your screen. It’s designed to make getting to your favourite tools and applications quick and easy. You can hide and reveal it, add and remove applications and bookmarks, and keep track of your open windows.

The Dash

When you click on the Ubuntu logo in the top-left corner of the launcher, the new dash will appear. It’s another simple way to get to your shortcuts and search for other applications and programs. So you can get fast access to your email, music, pictures and much more. And you can se

Application switching

Ubuntu 11.10 gives you a really easy way to manage multiple windows and applications. You can use Alt + Tab and Alt + Grave to switch between applications or application windows. No more cramping multiple

Ubuntu 11.10 (Oneiric Ocelot) released

Ubuntu 11.10 (Oneiric Ocelot) released!!

Ubuntu 11.10, code-named “Oneiric Ocelot” has been released on 13 Octobor. 11.10 continues Ubuntu’s proud tradition of integrating the latest and greatest open source technologies into a high-quality, easy-to-use Linux distribution.

WHAT's NEW in Ubuntu 11.10
  1. For PC users, Ubuntu 11.10 supports laptops, desktops and netbooks with a unified look and feel based on an updated version of the desktop shell called “Unity”, which introduces specialized “Lenses"
  2.  Finding and installing software using the Ubuntu Software Centre is  now easier thanks to improvements in speed, search functionality  enhancements, and usability improvements. Aside from update on the performance side, it’s also more aesthetically appealing.
  3. Ubuntu Server 11.10 has made it much easier to provision, deploy, host, manage, and orchestrate enterprise data centre infrastructure services with the introduction of “Orchestra”
  4.  The Juju technical preview allows service developers to describe the deployment and  scaling requirements of their applications, in order to simplify and enhance the dialogue between developers and operations teams. 
  5. For those working on the ARM architecture, a technical preview is also provided for the ARM server.
  6. Standard maintenance updates will be provided for Ubuntu 11.10 for 18 months, through April 2013.
  7. Ubuntu is now available in 38 languages. For a list of available languages and detailed translation statistics for these and other languages, see :


  • Ubuntu 11.10 is the base for the newest 11.10 iterations of Kubuntu, Xubuntu, Edubuntu, Mythbuntu, Ubuntu Studio, and our newest addition to this release cycle, Lubuntu!

  1. Kubuntu:
  2. Xubuntu:
  3. Edubuntu
  4. Mythbuntu:
  5. Ubuntu Studio:
  6. Lubuntu:
  • Ubuntu 11.10 is also now available on two new ARM community-supported ports.
  1. AC100 (Toshiba Tegra 2 Netbook):
  2. MX5 (Freescale i.MX53 QuickStart):

In order to download Ubuntu 11.10, visit:

Users of Ubuntu 11.04 will be offered an automatic upgrade to 11.10 via Update Manager. For further information about upgrading, see:

Release notes, which document caveats, workarounds for known issues, as well as more in-depth notes
on the release itself are available at:

If you have a question, or if you think you may have found a bug but aren’t sure, you can try asking in any of the following places:

#ubuntu on

Wednesday, October 12, 2011

Ubuntu 12.04 will be known as the "Precise Pangolin"

So, what will be our mascot for 12.04 LTS?

Continuing with the alphabetic Series : Ubuntu 11.04 (Natty Narwhal), Ubuntu 11.10(Oneiric Ocelot)
& now with 'P' letter.

Mark Shuttleworth , Ubuntu Founder, has announced that the codename for Ubuntu 12.04 will be 'Precise Pangolin'. 

Mark Writes
Let’s ask the question differently – what are we trying to convey? 12.04 is an LTS.So we want it to be tough and long-lasting, reliable, solid as a rock and well defended. It’s also going to be the face of Ubuntu for large deployments for a long time, so we want it to have no loose ends, we want it to be coherent, neat.
We’ve told the story of the cloud in previous releases, and that comes to fruition in 12.04 with the first LTS that supports both the cloud guest, and cloud infrastructure, across ARM and x86 architectures. We’ve also told the story of Unity in previous releases, and that comes to fruition in a fast, lean interface that works well across clients both thick and thin. 12.04 is going to be a lot more than all that, but for the full reveal, you’ll need to wait till UDS! Nevertheless, we can take reliability, precision, and polish as a given.
Balancing all of those options, I think we have just the right mix in our designated mascot for 12.04 LTS. Ladies and gentlemen, I give you the Precise Pangolin.
Now, I’ve recently spent a few hours tracking a pangolin through the Kalahari. I can vouch for their precision – there wasn’t an ant hill in the valley that he missed. Their scales are a wonder of detail and quite the fashion statement. I can also vouch for their toughness; pangolin’s regularly survive encounters with lions. All in all, a perfect fit. There’s no sassier character, and no more cheerful digger, anywhere in those desert plains. If you want a plucky partner, the pangolin’s your match. Let’s pack light for a wonderful adventure together.


Saturday, September 24, 2011

Ubuntu 11.10 Beta 2 ScreenShots

Ubuntu 11.10 : Dashboard - Transparent Control with Bigger Icons

Ubuntu 11.10 : Dashboard  - Search Files & Folders

Ubuntu 11.10 : Dashboard - Search Applications

Ubuntu 11.10 : Workspace Switcher

Ubuntu 11.10 : Nautilus File Manager

Ubuntu 11.10 : Software Center

Ubuntu 11.10 : Progress Bar Of Update Manger 

Ubuntu 11.10 : Alt Tab window with Shelf Like Icons at Corner

Ubuntu 11.10 : Preview of Original Window (in Alt Tab window)while holding Alt For long time

UBuntu 11.10 : Colourful Message Notifier

Ubuntu 11.10 : Update Manger, System Setting , Startup Application & Display Setting option 

UBUNTU 11.10( ONEIRIC OCELOT) BETA 2 has been Released

Ubuntu 11.10 Oneiric Ocelot beta 2 is available for download after 1 day delay.

Download Link: 

 Those who have been using Ubuntu 11.10 Beta 1 are not required to download the new BETA but can get updated to BETA 2 using normal updates.

Friday, September 23, 2011

Updating Packages behind prxy server in UBUNTU 11.10

Problem :  apt-get , Update Manager not able to download packages behind college/comapny proxy server.

Note : Sometimes there may be connection failure because of busy servers. So Please be patient during new Ubuntu release

Solution :
1) Open the Terminal and type the following command
     sudo gedit /etc/apt/apt.conf.d/02proxy

Note : 01proxy file is not present earlier.

2) Type the following line(in red) in the file:
     Acquire::http::Proxy “http://yourusername:yourpassword@yourproxy:yourport″;
Acquire::http::Proxy "http://foss:3189";

3) Save the file and your problem is solved.

Thursday, September 22, 2011

Waiting for jockey-backend to exit

Problem: While Updating Packages,
                 i) Getting "Waiting for jockey-backend to exit" in Update Manager. &
                ii) Getting "Unable to get exclusive lock" , while updating using apt-get update
                iii) Updating Cache problem

What is jockey-backend ?

Jockey is a tool for installing third-party hardware drivers.

Jockey provides the infrastructure and the user interface for finding and installing third-party drivers which are applicable to the computer. This includes drivers which are added or updated after the release of a distribution, or drivers which cannot be included into the distribution for various reasons (CD space limitation, licensing problems, etc.).

Solution :
You only need jockey for enabling restricted drivers, afterwards you can safely disable it.

Open Terminal and type following commands:

1) To get into root mode
    sudo -i

2) To check the process id of jockey
    ps -e | grep jockey

Output: 2982 pts/0 00:00:00 jockey

remember the process id(2982)

3)Type the following to stop/kill the process

  sudo kill -9 [process_id]

 sudo kill -9 2982

No Synaptic Package Manager in Ubuntu 11.10

 ‘Synaptic Package Manager’ tool has been dropped from the latest builds of Ubuntu 11.10 Oneiric Ocelot.

The removal of Synaptic Package Manager have been planned since the inception of the Ubuntu Software Centre. Many of the advanced features Synaptic currently provides are ear-marked for inclusion in the Ubuntu Software Centre.

Well, I really don't like SOFTWARE CENTER as it takes forever to start up and it doesn't list all packages. I mostly use Synaptic and apt-get for installing packages.

So I have installed Synaptic package from the repository.

sudo apt-get install synaptic

Monday, September 19, 2011

Installing C/C++ plugin(or CDT) in Eclipse

Problem : Eclipse does not have C/C++ project by default.

Install Eclipse CDT (C/C++ Development Tooling)from Synaptic Manager or Terminal

1)  Install the package eclipse-cdt
     sudo apt-get install eclipse-cdt

What is CDT ?
The CDT Project provides a fully functional C and C++ Integrated Development Environment based on the Eclipse platform. Features include: support for project creation and managed build for various toolchains, standard make build, source navigation, various source knowledge tools, such as type hierarchy, call graph, include browser, macro definition browser, code editor with syntax highlighting, folding and hyperlink navigation, source code refactoring and code generation, visual debugging tools, including memory, registers, and disassembly viewer


Tuesday, August 30, 2011

Comapre File Line By Line

 1. Check whether tool "diff" is installed in your system by typing "diff" in terminal.
    If the output is similar to the below one then diff tool is not installed in your system

   diff: missing operand after `diff'
   diff: Try `diff --help' for more information.

2. If the tool diff is not installed, install it using synaptic or terminal(sudo apt-get install diff)

3. Type the following command in the terminal

   diff filename1 filename2

  The above command will print the difference between the two files on the screen.
 You can also direct the output to another file using following command.

  diff filename1 filename2 >> filename3

  You can also ignore case of file contents using follwoing command

  diff -i --ignore-case filename1 filename2 >>filename3

4. For more options of diff
    Type(in terminal) :

    man diff

Fixing GPG Keys in UBUNTU

NOTE: Your hexadecimal numbers may be different then mine, so make sure to use the hexadecimals numbers in your error, not mine.

W: GPG error: jaunty Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6D975C4791E7EE5E
W: A error occurred during the signature verification. The repository is not updated and the previous index files will be used.GPG error: jaunty Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 5A9BF3BB4E5E17B5

W: GPG error: jaunty Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 7FB8BEE0A1F196A8
W: Failed to fetch
W: Some index files failed to download, they have been ignored, or old ones used instead.

The fix for this is to re-download the keys using the hexidecimal numbers given in the error .
Type this command into the terminal ("Applications > Accessories > Terminal" OR press "Ctrl-Alt-Del")

sudo apt-key adv --keyserver --recv-keys

And then add the hexadecimal numbers to the command (again, these are my keys from my error. Make sure to use your own):

sudo apt-key adv --keyserver --recv-keys 6D975C4791E7EE5E 5A9BF3BB4E5E17B5 7FB8BEE0A1F196A8

The output should look like this:

"gpg: requesting key 437D05B5 from hkp server"

NOTE: Your hexadecimal numbers may be different then mine, so make sure to use the hexadecimals numbers in your error, not mine.

Sunday, February 6, 2011

Configuring Codeblocks to compile Gtk based programs

Problem: Getting "ERROR: gtk/gtk.h: No such file or directory" while trying to compile code using Gtk library.

Information: The problem with above error is that the code which you have written asks to insert gtk/gtk.h contents, but the preprocessor is unable to find that file. The compiler goes through the search path defined by your IDE and could not find the file.
This problem can come when either your system does not contain these files and/or the search path is not defined properly.To solve the first issue, you need to download the Gtk+-2.0 development package. Then add search path to find the gtk.h file.
Once you have done this, expect it to work as far as compiling process. The linker will then complain about "undefined references". This will indicate that the compiler correctly understood the name and prototypes of all the functions, but now the linker cannot actually find the libraries (actual already compiled libraries) that contain those functions.
At this point, you will have to find the setting in your IDE that dictates which libraries you are linking against. Then you need to add search path to find the necessary libraries in LIKER option.
To help in searching path a toll called pkg-config can be used.pkg-config will automatically look for the Gtk libraries and will provide an easy mechanism to compile the Gtk programs.

1) Downloading the gtk+-2.0 development package:
    Open the synaptic manager and install the 'libgtk2.0-dev' package from it.
  2.1) If you want to compile the code from the terminal type the following command(in red color)
         gcc `pkg-config --cflags --libs gtk+-2.0` 1.c -o hello to compile the .c file

        There should not be any error after this.

 2.2) Configuring Code::blocks
        I set up options globally since I wanted to use codeblocks just to practice gtk.
        Go to Settings->Compilers and Debuggers and added:
        To edit compiler search path, go to Other options in compiler setting and add this
        `pkg-config --cflags gtk+-2.0 `

        To edit linker search path, go to Other link options inlinker setting and add this
        `pkg-config --libs gtk+-2.0 `

        Note : bactick`` substitues its output before executing the whole command

Screenshots :

Compiler setting

Linker Setting:

References :
Information about compiling GTK+ applications-- :
Codeblok configuration(Commnet no #3) :
More information about compilers and linker (Read first comment of Moschops) :

Monday, January 31, 2011

My first Gtk based C program

Information: GTk+ is a C Library used to build graphical user interfaces (GUIs). Although Gtk is written in C, but can be binded with other languages like C++, Python and C#.
To learn Gtk, I found gnome document library to be a great place.The tutorial are explained in detail and provide a great platform for the beginners to start using Gtk.



int main(int argc,char *argv[])


    GtkWidget *window;




    return 0;



Thursday, January 13, 2011

Restoring GRUB2

PROBLEM: Restoring the Grub2

INFORMATION: This post is for the dual-boot people who find their booting screen has been missing some operating system after fresh installation of fresh Ubuntu(grub2)/Windows 7.

NOTE: The steps given for restoring grub2 are for Ubuntu version later than 9.10 .


Restoring Grub2(Ubuntu 9.10 or later)

1)  Boot with bootable pen-drive or cd of Ubuntu.

2) Type this in terminal

sudo fdisk -l

Disk /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xf4caf4ca

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        2550    20482843+  42  SFS
/dev/sda2            2551        9730    57666845   42  SFS

Disk /dev/sdb: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x329e329d

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1          13      102400    7  HPFS/NTFS
Partition 1 does not end on cylinder boundary.
/dev/sdb2              14        1810    14432040    7  HPFS/NTFS
Partition 2 does not end on cylinder boundary.
/dev/sdb3            1913        9729    62785769+   5  Extended
Partition 3 does not end on cylinder boundary.
/dev/sdb4            1810        1913      824040   82  Linux swap / Solaris
Partition 4 does not end on cylinder boundary.
/dev/sdb5            1913        4023    16949488+  83  Linux
/dev/sdb6            5929        9167    26006368+   7  HPFS/NTFS
/dev/sdb7            9167        9729     4520848+   7  HPFS/NTFS
/dev/sdb8            4023        5929    15307776   83  Linux

The above output shows presence of 2 hard-disks . One /dev/sda and other one being /dev/sdb.
I have 2 linux partition present(Ubuntu 11.10-(/dev/sdb8) & Ubuntu 11.04:(/dev/sdb5))

3) Check your partition on which your Ubuntu is installed. I am using /dev/sdb5

4) Make a directory in /media using the command:

sudo mkdir /media/sdb5

5) Now mount your partiotion into above created directory

sudo mount /dev/sdb5 /media/sdb5

6) To install your grub on your drive use grub-install as follows. Note: /dev/sdb is used as it is the boot partition (look at the fdisk output)

sudo grub-install --root-directory=/media/sdb5 /dev/sdb

7) If you miss “grub.cfg” file,use following to recreate:

mount --bind /proc /mnt/proc
 mount --bind /dev /mnt/dev 
mount --bind /sys /mnt/sys 
chroot /mnt update-grub 
umount /mnt/sys 
umount /mnt/dev 
umount /mnt/proc

Some useful Keyboard Shortcuts

INFORMATION: As well as using your mouse to operate software, you can also use your keyboard to perform specific functions. This post provides a list of keyboard shortcuts which you may find useful.The list has been made for Ubuntu 10.04.
To find (and change) system-level keyboard shortcuts, one can (at least in later, GNOME-based distros, e.g. ubuntu karmic) run the Keyboard Shortcuts applet, e.g. via System>Preferences>Keyboard Shortcuts on the main menu.

NOTE: Although most of the shortcuts works in all the versions but with development of new Ubuntu versions you may find some of them to be obsolete.


1.) Open TERMINAL : Ctrl + Alt + T

2.) Minimizing all windows(or toggle Show Desktop): Ctrl + Alt + D

3.) Open RUN window: Alt + F2

4.) Take Screen-shot of Whole Screen : Prt Sc

5.) Take Screen-shot of the current window: Alt + Prt Sc

6.) Switching between currently opened windows in Forward direction : Alt + Tab

7.) Switching between currently opened windows in Reverse direction : Alt + Tab + Shft

8.) Switching between workspaces Left/Right :  Alt + Ctrl + Left/Right Arrow

9.) Move Current window to Left/Right Workspace : Alt + Ctrl +Shft +Left/Right Arrow

10.) Switch to Console Mode:  Ctrl + Alt + F1 (F2-F6)

11.) Switch between Consoles in Console Mode: Alt + F1(F2-F6)

12.) Switch to GNOME GUI mode : Alt + F7 or type startx (in CLI) 

13.) Create a folder : Ctrl + Shft + N

14.) Copy/Paste content from terminal: Ctrl + Shft + (C/V)

15.) Clear the screen in terminal: Ctrl + L





Sunday, January 2, 2011

Broadcom STA wireless driver installation with NO internet access

PROBLEM : Wireless network connection was not established in Ubuntu 10.04 (Lucid Lynx) .

INFORMATION : I had a wireless BSNL modem connection. Ubuntu 10.04 was unable to detect wireless connection. Although windows 7 had previously established wireless connection automatically.The problem with ubuntu was that the Broadcom STA wireless driver was not installed by default. Being without wired connection I was unable to install/update the drivers.We need to install bcmwl-kernel-source package to solve the problem.But bcmwl-kernel-source package is dependent on 3 other packages.So we need to install those packages first.


1) Identify your Card/Driver.If your card/driver is of BCMxx type then only you should go with following steps.

2) I had a problem in installation because of ndiswrapper package. As ndiswrapper was blocking bcmwl to work upon. So I removed ndiswrapper package first, then went on to install bcmwl with steps given below.


1) Identifying your Card/Driver

1.1) Open the terminal window by pressing (Ctrl+Alt+T) and enter the following command (in red color):
lspci -vvnn

1.2) Check the network Controller information, Ex.(grey color) :
03:00.0 Network controller [0280]: Broadcom Corporation BCM4322 802.11a/b/g/n Wireless LAN Controller [14e4:432b] (rev 01)
Note:To follow more instructions, Your card should be of BCMxx type in above command output

2) If your driver is STA and have no Internet access then perform following steps.

2.1) Browse through the LIVE USB/CD or ISO file of the Ubuntu10.04. Navigate and install the packages listed below by double clicking.

a) ../pool/main/d/dkms
b) ../pool/main/p/patch
c) ../pool/main/f/fakeroot
d) ../pool/restricted/b/bcmwl

2.2 ) Under the desktop menu System > Administration > Hardware/Additional Drivers, the STA drivers can be activated for use.


a)For temporary use with the LiveCD and LiveUSB environments, instead of a computer restart, in a terminal issue the following commands(in red color):

~$ sudo modprobe -r b43 ssb wl
~$ sudo modprobe wl

b)For permanent use, restart may be required before using the wifi card.

2.4)Your wireless connection must be activated now.