≡ Menu

Linux desktop

Go Linux go...

After Dell, it is now Hewlett-Packard, the world’s largest PC manufacturer, has announced it will start selling Linux-based PCs from $AU600 in Australia. The pc is powered by Red Hat Enterprise Linux 5 desktop will come pre-loaded on the HP dx2250 desktop computer -- an AMD-based model. This system aimed at small to medium businesses. Technical support is offered by Red Hat.

More information

Make money with Linux: Becoming a Linux OEM

You can make money by selling Linux based Laptop and desktop systems. Dell and other vendor started the same. There is huge market for Linux desktop systems. This article talks about entering a world where Microsoft rules the marketplace:

For years, Microsoft has reigned supreme as the 'only' choice for OEM partners on the x86 architecture. Later on, Apple switched from PPC (Power PC) to x86, but really did not make a dent in the OEM market, as Apple produces its own hardware, with OS X being a means to that end. Then it happened: Dell dropped their hat into the ring, perhaps prompting what could become a rush of other PC manufacturers and distributors wishing to enter into OEM deals with various Linux distributions. Keep in mind that Dell is hardly doing anything new here. There have been a number of smaller companies that have worked within the Linux space for some time now. Generally referred to as distributors, their goal remains the same – selling pre-installed Linux-based computers to their customers.

=> Becoming a Linux OEM: A Roadmap

This news is 100% true; I’ve witnessed lots of growth recently here in India, especially in Mumbai, Delhi and Bangalore. Many south states making it compulsory to use Linux and open source software for government funded project.

Way back in 1999 I switched from Windows to Linux desktop because:
=> Cost
=> Virus issues
=> Reliability & Security

Today I can almost purchase any computer or toy, money is not issue, but I still prefer to use Linux as desktop. Windows Vista has given companies in less-developed markets a reason to consider open source alternatives, especially hardware requirements are high. People in Asia still purchase and use old Celeron based computer with 128 / 256 MB RAM, here is my desktop CPU (I'm using it since last 4 years):
$ grep -i cpu /proc/cpuinfo

cpu family      : 15
model name      : Intel(R) Celeron(R) CPU 1.70GHz
cpu MHz         : 1716.927
cpuid level     : 2

Open source accounts for between 25 and 70 percent of all software in Australian, Chinese, Indian and Korean companies, according to a recent IDC survey.In an interview with ZDNet Australia sister site ZDNet Asia, Wilvin Chee, research director with IDC's Asia-Pacific software research group, said: "Businesses are using a variety of open source software, ranging from infrastructure software and storage to enterprise applications such as CRM (customer relationship management) and ERM (enterprise resource management)."

Conducted by IDC between February and March this year, the study involved top executives from about 1,000 companies of all sizes.

Open source take-up booming in APAC (Via digg)

USB devices are quite common these days. I've digital cam, Pen drive, external hard disk, mouse and other stuff. So how do I tell what hardware is connected via USB to my Linux desktop?

lsusb is a utility for displaying information about USB buses in the system and the devices connected to them. To make use of all the features of this program, you need to have a Linux kernel which supports the /proc/bus/usb interface.

-v command option is very informative. It tells lsusb to be verbose and display detailed information about the devices shown. This includes configuration descriptors for the device’s current speed. Class descriptors will be shown, when available, for USB device classes including hub, audio, HID, communications, and chipcard.

lsusb command Examples

lsusb -t
lsusb -v

I already wrote about Linux command line bittorrent client. However, I received few more queries regarding firewall issues. Basically you need to open ports using iptables.

Bittorrent client by default uses tcp 6881 to 6889 ports only. In order to work with Bittorrent client you need to open these ports on firewall. Remember, if you are behind a firewall (hardware or software) you need to enable port forwarding to internal systems.

Scenario # 1: Windows or Linux desktop behind router firewall

Internet ->     Hardware Router    -> Your Linux Desktop
          with port forwarding          Client

You have router (ADSL/DSL/Cable modem+router) and you have already enabled port forwarding on router (open web browser > Open router web admin interface > Find port forwarding > Enable port forwarding for bittorent protocol). You also need to open port using following iptables rules on Linux desktop (open TCP port 6881 to 6999):

iptables -A INPUT -p tcp --destination-port 6881:6999 -j ACCEPT
iptables -A OUTPUT -p tcp --source-port 6881:6999 -j ACCEPT

Here is a complete sample firewall script:

iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
modprobe ip_conntrack
modprobe ip_conntrack_ftp
# Setting default filter policy
iptables -P INPUT DROP
# Unlimited access to loop back
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# Allow UDP, DNS and Passive FTP
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
#allow bittorent incomming client request
iptables -A INPUT -p tcp --destination-port 6881:6999 -j ACCEPT
#Uncomment below to allow sshd incoming client request
#iptables -A INPUT -p tcp -dport 22 -j ACCEPT
# DROP everything and Log it
iptables -A INPUT -j LOG
iptables -A INPUT -j DROP

Scenario # 2

Internet -> Linux computer Router  ->  Your Linux Desktop
         with port forwarding      OR Windows XP client
         enabled using IPTABLES       IP:

Here you are using a Linux as software firewall and iptables as your NAT (firewall) for internal network ( You need to enable port forwarding to a internal Linux desktop (may be Windows XP desktop) for BitTorrent client system. Add following two line of code to your existing NAT firewall script.

iptables -t nat -A PREROUTING -p tcp --dport 6881:6889
-j DNAT --to-destination
iptables -A FORWARD -s -p tcp --dport 6881:6889

Related: Linux Command line BitTorrent client

You will find lots of tutorials about how to setup NTP server. However if you just wanna synchronize single Linux desktop connected via A/DSL Internet connection use ntpdate command. It is very easy to configure and install ntp client. Following instructions are only compatible with Debian / Ubuntu Linux.

ntpdate client

ntpdate sets the local date and time by polling the Network Time Protocol (NTP) server(s) given as the server arguments to determine the correct time. It must be run as root on the local host. A number of samples are obtained from each of the servers specified and a subset of the NTP clock filter and selection algorithms are applied to select the best of these. Note that the accuracy and reliability of ntpdate depends on the number of servers, the number of polls each time it is run and the interval between runs.

Install ntpdate utility

ntpdate command sets the local date and time by polling the Network Time Protocol (NTP) server(s).

# apt-get install ntpdate

You are done by default /etc/default/ntpdate file is use to point pool.ntp.org server .

Allow access to NTP client via Iptables firewall

NTP client uses the udp port 123 to communicate with NTP server. Following rule opens/allows NTP client outgoing request:

# NTP outgoing client request
iptables -A output -p udp -s --sport 1024:65535 -d 0/0  --dport 123 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A input -p udp -s 0/0 --sport 123 -d  --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT

Add above rules to your existing iptables script. Please note if you have more than 2-3 computers, then it is better idea to setup your own NTP server. I will write on ntpserver configuration later on.

For more information visit public ntp time server for everyone NTP pool website and read ntpdate man page.