Friday, December 21, 2012

File format conversion made simple

Format Junkie is an  Graphical  application which gives you an  easy file format manipulation facility on your desktop. The home page of Format Junkie is  here . It is available in launch pad so that you can quickly install it  on Ubuntu .
Some of the  file conversion  capabilities are

a) Audio: Conversion between the audio formats: mp3, mp2, wav, ogg, wma, flac, m4r, m4a and aac
b) Video: Conversion between the video formats: avi, ogv, vob, mp4, vob, flv, 3gp, mpg, mkv, wmv
c) Image: Conversion between the image formats: jpg, png, ico, bmp, svg, tif, pcx, pdf, tga, pnm
d) Iso|Cso Create an iso with selected files, convert iso to cso and vice versa.
e) Advanced Encode subtitles to an avi file.

Format Junkie Installation:
  Add the ppa to your machine

sudo add-apt-repository ppa:format-junkie-team/release
  Install format junkiee
sudo apt-get update
sudo apt-get install formatjunkie
After successful installation, you can open up the application from the Unity 'Dash'   Here is a screen shot.

Wednesday, December 19, 2012

Command-Line Multitasking with Screen

 Most modern Unix like  operating systems (e.g. Linux, MacOS X, and BSD) come with ( or  can be installed )  a little console-mode utility called GNU Screen.  Even some of the power user who work exclusively on console are unaware of its existence.
What is screen ?
Screen is best described as a terminal multiplexer.  That is any number of console applications can be run concurrently with in a single terminal and you can quickly switch back and forth between these applications. If you are logged to a remote server via ssh , you can run many applications in  a single ssh session. The programs will be running even if you accidentally close the ssh connection.\

Starting  screen: launching and switching between programs
Start screen just by typing screen at your favourite command shell prompt. You'll probably be greeted by a welcome message. Dismiss this and you'll have with an empty terminal containing a shell prompt, which is pretty much what you had before you started screen.

        Every program running under screen runs in a window, and every window is identified by a unique number. Screen made a new window, numbered it 0, and started a command shell inside it.

Let us run ls command in this window or any other command so that we can recognise the window later on. 

Now make another window; this will be window 1.

To do this, type C-a c; that is, type Ctrl-a and then type c

Now that you have two windows,

. To switch between windows , type C-a C-a, which will switch you to whichever window you were using before the current one. Here are some more window  switching key sequences  if you have many windows open under screen.

  1. Use C-a n and C-a p to switch to the next or previous window in the list, by number.
  2. Use C-a N, where N is a number from 0 to 9, to switch to the corresponding window.
  3. Use C-a " to get a full-screen list of windows. You can navigate this list with the arrow keys (or vi-style, with j and k), and pick a window to activate by pressing Enter when it's highlighted. C-a w will give you a small, non-interactive list of windows.
 A window can be given a name if you type  C-a A    This name will be used in the window listing, and will help you remember what you're doing in each window when you start using a lot of windows.
Exiting the last program in a window will cause the window to disappear. You can also kill misbehaving programs with C-a K.

  Terminal decoupling and re coupling
   You can detach from  the screen session by pressing C-a d.  This means the screen session will be decoupled from the   terminal in which you started it up.  If  you close the terminal in which screen is running , the session will be automatically detached.   Detaching a screen session does not terminate any of the programs running in that screen session .
    Start up a new terminal emulator, and type screen -r  . You'll be right back where you were when you detached.
   You can detach from a screen session at work, shell into the machine from home, and reattach. 

 Copying, pasting, and the scrollback buffer

Screen remembers a configurable number of scrollback lines, and you'll need them because you won't be able to use your terminal emulator's scroll features while running screen. You can access the scrollback buffer by entering "copy mode", which is accomplished by typing C-a [. You can mark text anywhere in the scrollback buffer and paste it with C-a ]

Monitoring for silence and activity
One of the disadvantages of running a bunch of programs within screen is that you can't keep an eye on all of them at the same time, since in general you can only see one at once. ) To help mitigate this problem, Screen has features that allow you to monitor a window for silence--useful for knowing when a compile has finished, for example--or activity--useful for knowing when someone is finally talking on your favourite IRC channel, for example.
To start or stop monitoring the current window for 30 seconds of silence, type C-a _; to start or stop monitoring a window for activity, type C-a M.
Config Files
   Screen looks for a startup configuration file named .screenrc in your home directory.  Look in screen man pages for options.

Friday, December 14, 2012

Remote control your desktop with android phone

Gmote is a powerful program which allows your anddroid  phone to act as a remote control for your Linux desktop.  Gmote provides all standard remote control features such as play, pause, rewind, volume controls etc.  

Gmote can also be used as a wireless Touchpad and keyboard, allowing you to control your computer at distance.   Gmote has  the ability to stream music from your computer to your phone!
 Gmote has to be set up both on your computer and on your android phone.
Here are the steps.

Setting up the Gmote Server on PC

The Gmote Server requires the Java JVM version 1.6 or higher.
To determine your java version, go to terminal and type 'java -version'.
You can download the latest JVM from

On the computer you wish to control, download and install the appropriate package for your Ubuntu Linux system - here, after successful installation, open the terminal and type following command:

tar -zxvf GmoteServerLinux2.0.0.tar.gz
cd GmoteServerLinux2.0.0/
On starting you'll see a password prompt. This allows you to set a password so that only you can connect to the server from your phone. You'll be asked to enter this password once on the phone as well. You can change your password later by right clicking on the Gmote server icon (task bar) and selecting 'Change password'.

Finally Gmore server will get started on port 8889, make sure to adjust your firewall rules accordingly to allow connection on port 8889.

Setting up the Gmote Client:
The installation process for client is fairly simple. From your Android handset, download and install the Gmote client.
You need wifi or 3G connectivity between your phone  and PC.
 Launch Gmote from your phone, select the server to connect to, and enjoy. 

Tuesday, December 11, 2012

sudo on ubuntu

Here are  some sudo   variations I use. (Be careful :) )

    sudo command - run command as root
    sudo su – root shell open
    sudo su user – open shell as a user
    sudo -k – forget your password sudo
    gksudo command – sudo visual dialog (GNOME)
    kdesudo command – sudo visual dialog (KDE)
    sudo visudo – edit / etc / sudoers
    gksudo nautilus – root file manager (GNOME)
    kdesudo konqueror – root file manager (KDE)

How to customize the GRUB 2 in Ubuntu

GRUB 2 is the next generation of GNU GRUB. All recent versions of ubuntu come with GRUB 2. GRUB 2 cleaner, safer, more robust, more portable and more powerful.

If you're already familiar with older  GRUB,   GRUB 2 configuration file is similar in broad sense, but it varies in many finer  details. Some times it can be a bit tricky too.

  The main  config file is   /etc/default/grub .  Open it using

   $ sudo gedit /etc/default/grub
you will  see  some thing  very similar to the following  ....

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.

GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)

# Uncomment to disable graphical terminal (grub-pc only)

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux

# Uncomment to disable generation of recovery mode menu entries

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
Some of the important configuration options you can try changing are  

Change default Timeout:
To change the default timeout option in GRUB 2, you just need to change the GRUB_TIMEOUT parameter. The value of this parameter is in sec, change this value as per your requirement.

Change the default boot option:
To change the default boot option in GRUB 2, you just need to change the GRUB_DEFAULT parameter. 0 is the first entry, so if you want Windows to be your default boot option which is, say at, 5th position in the grub menu, then you just need to change the GRUB_DEFAULT value to 4 and save the file and close it. Save the file after making all the required changes and from the terminal run the following command
sudo update-grub

How to disable a user account in linux

The easiest   way to lock a user account on Linux machines is to use -l option to passwd command.
  Open a terminal and acquire root

  # passwd -l  abc    ( abc is the user you want to lock.)

  You can unlock the account with -u option

  #passwd -u abc