Which Linux Desktop Distribution is the best for me?

Posted on in Categories FAQ, Linux desktop last updated April 11, 2007

Almost all new Linux wanna be guru (read as users who want to switch to Linux) asks a question:

I want to switch to Linux completely from Windows XP SP2. Which Linux version will be best – Redhat, SuSE, or other? I use my PC for:
Browsing Internet
Watching DVD / MP3
Writing CD/DVD

I’m also willing to spend a small amount of money if required to purchase Linux version.

Short answer is none. I can’t suggest *distro* name.

Long answer:
Linux is all about choice and freedom. There are different Linux distribution exists with different goals. It is good idea to define your goals and select Linux distribution as per your requirements.

I like Redhat and Debian for server as they are rock solid stable and comes with good binary packaging system. Some will swear up by Knoppix Live CD.

Some people like Suse and other recommends Ubuntu. There are others who like to compile everything from scratch (Gentoo).

  1. Consider following factors while selecting Linux:
    • Games
    • Your Linux skill level
    • Linux as server / network admin workstation
    • Running Linux on a new Hardware / Laptop
    • Running Linux on an older machine (486/PI/PII/Celeron)
    • Multilingual support (Hindi / Japanese language user interface)
    • Running Linux on Office PC for email and office work
    • Community support
    • Commercial support
  2. I recommend that you try out at least some different distributions. Go to distrowatch.com and look out What’s Hot and What’s Not
  3. Make sure your hardware is compatible with Linux. Download Live CD (list of all Live CD) and see if your hardware is compatible with Linux.
  4. Make sure good community support exists for your distro (for example check out Ubuntu community support forum)
  5. Get a good Linux book that teaches basis of Linux
  6. Learn how to use search engine to find out solution to the problems
  7. Learn to read man pages effectively and Linux commands to help you navigate
  8. Contact your nearest Linux user group (LUG) and see what other members recommends
  9. Ask a questions whenever in doubt, join Linux mailing lists and forums. When posting questions to a forum / newsgroup it is good idea to format the question and it’s content in a proper way in order to get a good answer. Make sure you provide all information while posting a question. (See more guideline – how to ask questions the smart way)
  10. Finally you can always donate a small amount of money to your favorite distro and/or to any other open source project.

Further readings:

Surely, there are dozens of other reasons to select specific distro, so please do share your views and suggestions 😀

Howto: Ubuntu Linux convert DHCP network configuration to static IP configuration

Posted on in Categories Ubuntu Linux last updated September 13, 2006

My friend wanted to know how to change or convert DHCP network configuration to static configuration. After initial installation, he wanted to change network settings. Further, his system is w/o GUI system aka X Windows. Here is quick way to accomplish the same:

Your main network configuration file is /etc/network/interfaces

Desired new sample settings:
=> Host IP address
=> Netmask:
=> Network ID:
=> Broadcast IP:
=> Gateway/Router IP:
=> DNS Server:

Open network configuration file
$ sudo vi /etc/network/interfacesOR$ sudo nano /etc/network/interfaces

Find and remove dhcp entry:
iface eth0 inet dhcp

Append new network settings:

iface eth0 inet static

Save and close the file. Restart the network:
$ sudo /etc/init.d/networking restart

Task: Define new DNS servers

Open /etc/resolv.conf file
$ sudo vi /etc/resolv.conf

You need to remove old DNS server assigned by DHCP server:
search myisp.com

Save and close the file.

Task: Test DNS server

$ host cyberciti.biz

Network command line cheat sheet

You can also use commands to change settings. Please note that these settings are temporary and not the permanent. Use above method to make network changes permanent or GUI tool as described below.

Task: Display network interface information

$ ifconfig

Task: Take down network interface eth0 / take a network interface down

$ sudo ifconfig eth0 downOR $ sudo ifdown eth0

Task: Bring a network interface eth0 up

$ sudo ifconfig eth0 upOR$ sudo ifup eth0

Task: Change IP address and netmask from command line

Activate network interface eth0 with a new IP ( / netmask:
$ sudo ifconfig eth0 netmask up

Task: Display the routing table

$ /sbin/route OR$ /sbin/route -n

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
localnet        *        U     0      0        0 ra0    *        U     0      0        0 eth0    *        U     0      0        0 eth1
default         UG    0      0        0 ra0

Task: Add a new gateway

$ sudo route add default gw

Task: Display current active Internet connections (servers and established connection)

$ netstat -nat

Task: Display open ports

$ sudo netstat -tulpOR$ sudo netstat -tulpn

Task: Display network interfaces stats (RX/TX etc)

$ netstat -i

Task: Display output for active/established connections only

$ netstat -e
$ netstat -te
$ netstat -tue


  • -t : TCP connections
  • -u : UDP connections
  • -e : Established

Task: Test network connectivity

Send ICMP ECHO_REQUEST to network hosts, routers, servers etc with ping command. This verifies connectivity exists between local host and remote network system:
$ ping router
$ ping
$ ping cyberciti.biz

See simple Linux system monitoring with ping command and scripts for more information.

Task: Use GUI (Graphical Configuration) network Tool

If you are new, use GUI configuration tool, type the following command at terminal:
$ network-admin &

Above command is Ubuntu’s GUI for configuring network connections tool.

Final tip – Learn how find out more information about commands

A man page is your best friend when you wanted to learn more about particular command or syntax. For example, read detailed information about ifconfig and netstat command:
$ man ifconfig
$ man netstat

Just get a short help with all command options by appending –help option to each command:
$ netstat --help

Find out what command is used for particular task by searching the short descriptions and manual page names for the keyword:
$ man -k 'delete directory'
$ apropos -s 1 remove

Display short descriptions of a command:
$ whatis rm
$ whatis netstat

Linux offers an excellent collection of utilities, which can be use to finding the files and executables, remember you cannot memorize all the commands and files 😉

Re-read The Partition Table Without Rebooting Linux System

Posted on in Categories File system, Linux, RedHat/Fedora Linux, Sys admin, Tips, Troubleshooting, Ubuntu Linux last updated May 8, 2006

If you are using hot swappable hard disk and created new partition using fdisk then you need to reboot Linux based system to get partition recognized. Without reboot you will NOT able to create filesystem on your newly created or modified partitions with the mke2fs command.

However with partprobe command you should able to create a new file system without rebooting the box. It is a program that informs the operating system kernel of partition table changes, by requesting that the operating system re-read the partition table.

Black Screen While Starting X window

Posted on in Categories Debian Linux, Linux, Linux desktop, RedHat/Fedora Linux, Suse Linux, Sys admin, Tips, Troubleshooting, Ubuntu Linux, X server last updated April 2, 2006

My friend is new to Linux, everything was fine until he made some changes to X, which result into this problem. Now whenever he types command startx to start X he get a blank screen. Finally, he contacted me me via yahoo and asked me to get rid rid of this problem.

Step # 1: Reset blank X screen

First, get out of Blank screen by pressing combination of keys Ctrl+Alt+Backspace. If this fails, reboot system.

Step # 2: Reconfigure X server display

At shell, prompt type the following command to reconfigure X display.

If you are using Red Hat /Fedora / CentOS Linux type command:
# redhat-config-xfree86
If you are using Debian Linux type command:
# dpkg-reconfigure xserver-xfree86
OR login as the root user and type command:
# XFree86 -configure

Step # 3: Test new setup

Type startx to test your new settings:
# startx
OR if you used XFree86 –configure command to reconfigure X, then test it with following command:
# XFree86 -xf86config /etc/X11/XF86Config.new

See also: