Numix Artwork Themes for Linux and Android

Numix (Not Just Yet Another Theme Suit) is  a theme project that has a collection of beautiful themes and artwork for Linux and Android OS. It looked really beautiful and so I decided to try it out on my Ubuntu 14.04 LTS . Numix has a variety of GTK themes, icon themes, fabulous wallpapers and additional artwork. Some of them are free while the others can be purchased. In the end, it all comes down to making your desktop look illustrious and prominent.  I have tried  various themes and wallpaper combination.

Here is a picture of my desktop screen before Numix.

Before Numix

Its the same stock Theme which is pretty alright, and  below is the screen shots of desktop and file explorer with Numix circle theme and Name of the Doctor wallpaper.

after Numix


numix stuff2

numix stuff


This kind of reminds you of Android Lollipop doesn’t it? Well that is how it feels to me. Having a change once in a while has a refreshing effect on the system user.

There are two other themes on Numix the touch theme and the shine theme but unfortunately they aren’t supported on 14.04.  If you have gotten it to work then share the method in the comments below!


Installation and Usage Guide for CSF firewall

1 Introduction

CSF stands for Configserver security and firewall. CSF is a configuration script built to provide better security to servers , at the same time providing a large number of configuration options and features to configure and secure with extra checks to ensure smooth operation. It helps in locking down public access and to restrict what can be accessed like only e-mails or only websites, etc. To add more power to this, it comes with a Login Failure Daemon (LFD) script that runs all the time to scan for failed attempts to login to the server to detect bruteforce-attacks. There are an array of extensive checks that lfd can perform to help alert the server administrator of changes to the server, potential problems and possible compromises.

  • Login Tracking
  • Process Tracking
  • Directory Watching
  • Advanced Allow/Deny features
  • Block Reporting
  • Port Flood Protection

And many more. This post does not cover all the features and thus for more detailed information about each of the features read the “readme.txt” file from the csf folder that we will download.

2 Downloading and Installing

The first step involves removing any previous version of csf that might have been downloaded and then downloading the latest version. To perform these use the following two commands:

rm -fv csf.tgz

Now we extract the tar file in the home directory and move into the csf directory.

tar -xzf csf.tgz
cd csf

The steps till here are shown in the image below.

Now we are ready to install, but before we can, we will need to have root privileges else we will not be able to install. So, use the following command to gain root privilege and type in the password if asked.

sudo su

Install CSF using the following command:


Once the installation is over successfully, the output will look similar to the image below.

Once the installation is complete, we can do the verification.To do so, we test if our system has all the required iptables modules. Now when this is run, it might indicate that you might not be able to run all the features but that is alright. This test can be considered as PASS as long as the script doesn’t report any FATAL errors. To test it, use the following command:

perl /usr/local/csf/bin/

My result of running this test is shown in the image below:

3 Remove other firewalls

It is important to remove older firewalls or any other firewalls setup to protect the server. This is because the conflict of Firewalls can lead to failures or inaccessibility. You should also not install any other iptables firewall and if it already exists, then it has to be removed at this stage. Most of the systems is likely to have APF+BFD firewalls and has to be removed. So use the following command to detect and remove them if they exist.

sh /usr/local/csf/bin/

I didn’t have it pre-installed , so the output of the command in my system looked like the image below:

Read my full post on HowToForge here.

Startup Applications: automatic execution of the most used programs during every user login

During every login or bootup, the OS performs a number of tasks in the background to get the OS up and running and ready to be used. Customizations in Linux OS like Ubuntu can be done very easily, that allows an user to add any number of “custom” tasks or programs to the system to be performed every time the user logs in or boots up the OS.

We can choose a certain number of tasks to be automated, thereby reducing the repetitive work of the user to quite an extent. The tasks that can be automated include running a certain program like a custom system check that the user might want to view, or to run applications like the web browser with certain predefined websites. Or it can be automating system control programs that needs to be run during each bootup or even login. Ubuntu allows us to do these kind of automation in a very simple manner, by providing us a GUI based software called the “Startup Applications”.

Though this may provide a lot of convenience, it is important to remember not to overuse this feature. Users might face problems when a large number of tasks are provided or selected to be automated. The main problem this leads to is slowing down your system at startup. Hence, it is very important for the user to NOT over utilise this functionality and only automate the most required or used tasks.

So let’s begin. First thing to do is to open the Startup Applications. To do so, in the desktop Dash, type:

“startup applications” as shown in the image below.

Ubuntu Desktop - Startup applications

Click on the “Startup Applications” icon, and the Startup Applications window opens. It will look similar to the image below. Note that you might have a different set of entries in your window than the ones that can be seen in the image below.

Startup applications preferences

Once this is open, we can start with the automation of tasks. This posts will demonstrate some of the tasks, but many other tasks that are important to you can be added the same way. So here are a few examples:

1 Starting a browser with a predefined web page

Every build of Ubuntu comes with Firefox inbuilt. We can use that to open websites that we check regularly. For example, I like to read Linux news, from the website “”. To open this website every time, click on the add button present on the upper right side of the Startup Applications window.

Another window opens. In the new window, type the following in the command field:

Firefox “”

Fill out the name as well and use the comment field to describe your new task. An example is shown in the image below. Once that is done, click on the “Add” button and you will see an entry named “lexr Linux news” (in this case) in the Startup Applications window.

Add startup program

This way, a browser can be opened automatically with any website or search query. For example, if the first thing you do is view the trade stock market, then you can click “Add” and enter the command to go directly to a trade website. Example:

Firefox “NASDAQ”

2 Running system management functions automatically

Certain system management functions or programs require to be started each time a user logs in. Consider the situation of system overheating experienced by many Ubuntu users. In this case, most of the users install a software called “TLP”. And in many cases, TLP doesn’t always start on its own automatically. In such a case, rather than to run it manually each time, the Startup Applications can be used to run it automatically, by following the similar steps. So, click on the “Add” button and use the following command in the command field:

sudo tlp start

For the name and the comment field, refer to the image below:

sudo tlp start

Unlike the first example, this example of TLP , the program is started in the background and not visible to the user. Thus in this way, a user can start a variety of background processes automatically that relate to system management functions.

To read my full post head over to HowToForge: here

Using secure shell (ssh) for login and secure copy (scp) for data transfer on Linux

SSH stands for secure shell. It is an encrypted remote login protocol. Once it has been set up on each node, it can be used to communicate with various other nodes in that network.

The main benefits of SSH are:

  • SSH uses the RSA encryption algorithm to generate public and private keys, making intrusion extremely difficult.
  • Since SSH is a remote login protocol, it can be configured on a laptop. That means you can use your laptop to wirelessly connect to the raspberry pi cluster.
  • Because protocols like SCP (Secure Copy) and SFTP (Secure File Transfer Protocol) run on top of SSH,  you can use them to transfer files and folders directly from one node to another.
  • SSH supports one time log in. This means that you only have to enter credentials the first time you log in. From the second log in onwards, it’s not necessary.

To log in to any other node from the master node use the command:

ssh pi@
(change the IP address to represent your IP address) .
This will ask for a password. Once you log in, all the commands you type will run on that node and not on the master.

SSH can also be used to run commands directly on the other nodes. For example, to   change  the hostname of  different nodes, use this command:

ssh pi@  ‘sudo echo “cilent001″  | sudo nano /etc/hostname
ssh pi@  ‘sudo echo “cilent002″  | sudo nano /etc/hostname
ssh pi@  ‘sudo echo “cilent003″  | sudo nano /etc/hostname       …and so on.


This way SSH can be used to run commands on other nodes from the master node as:

ssh pi@  ‘sudo poweroff’      


latest blog pic

This command safely shuts down the node with IP address

The following figure shows how SSH is used to log in to a worker node ( and from the worker node, get the control terminal back to the master node.

As you can see in the above figure, logging in to a worker node happens directly. But each time the control of the terminal comes back to the master node (, the login credential has to be entered.

So after issuing commands via SSH to other nodes, there might be situations where data has to be sent to multiple nodes. If the number of nodes are small, then we can manually log in to each node, connect it to a display and keyboard, and send files. But this is a highly inefficient way to do it when the size of the cluster is large.

An easier way would be to use SCP to send files. Install SCP using the command:
sudo apt-get install scp

Read my full post on HowToforge : here 

Setting up and using Github on Linux : A beginners guide



GitHub is a treasure trove of some of the world’s best projects, built by the contributions of developers all across the globe. This simple, yet extremely powerful platform helps every individual interested in building or developing something big to contribute and get recognized in the opensource community.

This post will be a quick setup guide on Github and how to perform various functions of creating a repository locally, connecting to the remote host that contains your project (where every one can see), committing the changes and finally pushing all the content in the local system to Github.
Please note that this post assumes the the reader is familiar with the terms  on Github such as push , pull requests , commit , repository,etc.

Step 1

download and install git for Linux :
sudo apt-get install git

Step 2

Set up the configuration details for you, as a user of Github:

git config –global “user_name”
git config –global “email_id”

An example for this would be:
git config –global “akshay” [here the “user_name” can be anything.. in my case its akshay]
git config –global “” [here the “email_id” should be the ID used to create the GitHub account. In this example its]

Read my full post on HowToForge Here.

Join me on Github:

BitMessage – messaging client

After the news that government is snooping on the user’s messages ,calls, etc, this was created by few developers who wanted to create a messaging client that would keep the user’s messages private. This client is written in python. It  is a P2P communications protocol used to send encrypted messages to another person or to many subscribers. It is decentralized and trustless, meaning that you need-not inherently trust any entities like root certificate authorities. It uses strong authentication which means that the sender of a message cannot be spoofed, and it aims to hide “non-content” data, like the sender and receiver of messages, from passive eavesdroppers like those running warrantless wiretapping programs.

It helps t keep your identity a secret. That is it will generate a unique key for a particular user and you can share that with others,  so  only you can know who that person is when he/she shares their key with you. It can be used for good or bad purposes but, the developers believe that when  privacy is not given to us  then we have to take such measures to maintain it ourself.
You can use this to send, receive messages without having to fear the loss of your privacy. It also has measures to help you block spams if your key is got by some unwanted people. It also allows you to have multiple identities and helps you create an addressbook (which only you can see), so that you can easily know to whom  you are sending / receiving the message from.

the best part about it is that it is completely open source, so for those who wish to tinker around with it or want to have a look at the code can download from github here.

if you want the detailed documentation  as to what it is, how it works you can read the developers whitepaper here.

download link:

click here to download for Linux.

click here to download for Windows.

click here to download for Mac


once the client is downloaded and installed first you have to click on the “your identity” tab and generate a unique key for yourself or you can give a key explicitly. Once that is done , save it and then you can share tht key with anyone you wish to. Then you can message them using the various tabs in the BitMessage  window.

you can also discretely use your email to use the services of bitmessage free of cost without using any software. Check out the link here  . all the instruction for using this client online is in that link.
Share your thought, your key(if you would like to) , and what you think about such software. in the comments below.

Interesting commands on Linux :SET 1

Here are some fun commands you can try on your Linux system probably when you are bored or want to try something new and something different. I really liked these commands and hope that you will enjoy using it too.

  1. cowsay
    you can make an image of cow appear on the terminal and  show any text that you want , as if the cow was saying it –
    So install cowsay using one of the following command :
    sudo apt-get install cowsay                     (for Debian based OS)
    yum install cowsay                                   (for Red Hat based OS)
    here is how the uoyput will look:
    cowsay1If you want to have a coloured cow to show any text install xcowsay .  Install it same way as cowsay but replace cowsay with xcowsay.
    Run it and ul get a coloured cow some where on your screen.
  2. Steam Locomotive (sl)
    this command “sl” runs a train across your terminal. Its really cool!!
    So install it using one of the commands:
    sudo apt-get install sl                            (In Debian like OS)
    yum -y install sl                                    (In Red Hat like OS)
    run the command  “sl” in he terminal, you should see something like this:
  3. toilet
    This command itself is funny.. but what it does is takes a text string and builds the text in some different forms like using symbols some colours,etc
    To install use one of the command:
    sudo apt-get install toilet
    yum install

    run the commands as :
    toilet seeTheSource
    toilet3or run the command: toilet -f mono12 -F metal seeTheSource
  4. telnet
    telnet is a network protocol and it causes stories to be run like some kind of animations. Nothing has to be installed here, all you need is a working internet condition.use the command:
  5. cmatrix
    this command is used to create the matrix effect on a terminal.install it using the suitable command:

    sudo apt-get install cmatrix
    yum install cmatrix
  6. espeak
    this command is used for text to speech. So you can configure it to be a welcome sound when your OS loads. Or use it to read text just like that.
    install espeak using one of:

     sudo apt-get install espeak 
     yum install espeakthen run it as: espeak "this is see the source" 
     or any other text you want. And have fun.

So all these commands are really fun to use, there are lots more available.. I will post about more useful commands in the coming posts!!

Animated desktop: For ubuntu 13.04 Raring /ubuntu 13.10 Saucy

An animated desktop looks amazing, and what can be more cooler than having the ability to setup an animated desktop with a video of your own choice??
This post will give the detailed steps to setup an animated desktop on Ubuntu 13.04 and 13.10 . The procedure works completely fine with older versions as well (but the older versions have an easier method). So to get the background live with a video of your choice , a few requirements have to be met. Few software have to be downloaded and installed. And  for videos which you have chosen to work , they must be in the .wmv video format.

Check out the video below to see how the animated desktop looks like. And follow the procedure below to make your desktop look like that. The link to the animations shown in the video is given at the end of this post. But remember this video is for Ubuntu 12.04 so the procedure for 13.04 and 13.10 is not this easy!!!

procedure for Ubuntu 13.04/13.10:–

step 1:
install the following software to support and play your video as a background. Copy paste these following lines one by one in the terminal :

  • sudo apt-get install mplayer
  • sudo apt-get install rar
  • sudo apt-get install unrar
  • sudo apt-get install ubuntu-restricted-extras
  • sudo apt-get install zenity

so this will install all the prerequisites that were needed. Since Zenity has some error, the installation cannot be done correctly on Ubuntu 13.04 and 13.10 which is why a different procedure has to be followed.

step 2:
Here we use the a-desk script for installation. the a-desk is a shell script that automates all the work that has to be done to set the desktop. So go ahead and download the a-desk zip folder from HERE .
Once downloaded extract it to get a folder named “ad” and place it where you want it to be. Now open the terminal and go to the location where you have stored the “ad” folder.
For example. if you have put he folder under /Home then use the command :
cd /home/ad

Once you are in the folder, run the shell script a-desk.installer using the following command:

sudo sh a-desk.installer

This will run the script and give you the options to select your language and the version. That is you can choose to get the 32bit version and 64 bit version .Once you select it it will start installing and once it is done  The “OK” button on the installer window will be highlighted. Click on it to finish the installation.

step 3:
Now go to the terminal and type the command :

This will open a window and you have to select the option atomic city. This will load the video atomic city to the background. Atomic city is a video that comes by default with he a-desk script.So thats it.. now you will have an animated desktop.

In my next post I will give the procedure to use customised videos as your animation for the desktop and also to change the animation to the videos present in the link given below!!

More amazing videos to setup from the background can be found from : HERE
Go to that website and download any video that you like and make it your animated desktop.

Disclaimer: When the animated desktop is setup , it doesn’t stay after the bootup. That is , this procedure doesn’t work on startup and you would have to repeat the procedure all over again to set it up. This is something I am working on and as soon as I find a solution, I will post it.