UBUNTU 16.04: How to Completely Reset Wifi Settings?

I was struggling with this Wifi issue for three days now and I almost gave up. But then a single command saved my ass! I was about to reinstall Ubuntu again. But I survived the frustration.


  • My Wifi was On but it was not lisiting any Wifi so that I can connect
  • I could surf internet via LAN Connection
  • The wifi status is enabled and I checked for available connection via terminal using this command: sudo nmcli conn  but didn't see any connection. 
  • Networking connectivity is full, I can check it via my terminal with this command:
    nmcli networking connectivity check
  • I turned down all netowrk interfaces with ifdown  and upagain with ifup  but it didn't work
Today's blog is a quick solution to hard reset your Wifi Settings. As a quick note it is necessary to know that Linux based OS(Ubuntu in my case) saves its network lists i.e. all connections in this . location: /etc/NetworkManager/system-connections/ 
You can find all your Wifi connections ssid  listed inside this folder. Whenever you have issue with your wifi like case similar to mine, perform two steps:
  • Remove all system connections from the system-connection folder:
    sudo rm-f /etc/NetworkManager/system-connections/*
  • Then kill the signal which is running the process NetworkManager
    sudo pkill -9 NetworkManager -9 means SIGKILL to kill a signal that is ignoring or is hidden.
This remover all the connections, resets Network Manager, restarts your wifi connection. Now the issue is solved. You can connect to your wifi signal and browse the internet.


Kathmandu University Open Source Community an autonomous wing of Kathmandu University Computer Club (KUCC), Department of Computer Science and Engineering, Kathmandu University(KU) celebrated Software Freedom Day (SFD) at Kathmandu University. The celebration of SFD eve was also held in Kathmandu University, on 15th September, 2017.

This Software Freedom Day is important to the Volunteers of KUOSC and also to University too because it is first ever SOFTWARE FREEDOM DAY organized here at KU. On top of that Chief Guest Mr. Rob Savoye a self-employed consultant & contractor with massive experience in designing, programming from Colorado U.S.A added charm to the event. Rob develops and manages engineering projects, especially GNU/Linux projects, embedded systems and every imaginable Open Source Software. Rob talked about his massive contribution in open source. It was an honor to have such a legend of Open Source Movement, who carry a long history way back to the foundation of open source society. He has been contributing to the society for more than 40 years.

Whole event was hosted by Master of Ceremony Ms. Rajshree Rai, Vice President, Kathmandu University Computer Club(2017-18) Program began with talk program  on FOSS MOVEMENT in NEPAL by Sanjog Sigdel. He highlighted current activities of Open Source Projects and open communities existing in Nepal. Mr. Sigdel an Open Source Activist from Kavre did the Initiation of FOSS COMMUNITY KAVRE. 
Free and Open Source Software Community Kavre is one out of thousands Open Source Community which works on sharing Open Source Philosophy. We are a group of Open Source Enthusiast from Kavre who want to spread Open Knowledge to the Community.You can find more about FOSS KAVRE here.

Mr. Sushil Shrestha, Assistant Professor, working on Massive Online Open Course (MOOC) and Digital Research Lab of Kathmandu University talked about the importance and the success story of MOOC. Mr. Manoj Shakya, Assistant Professor of Kathmandu University honored Rob representing Kathmandu University and KUOSC. Continued with the appreciation to the distinguished guest Mr. Shakya shared his experience on Open Source Software and highlighted importance of Open Data.

Nikesh Balami, Open Source Activist from Open Knowledge Nepal shared his words and experience in open knowledge and open data. Moreover, he expressed the present scenario of open data in Nepal, projects that Open Knowledge Nepal has been doing to improve the status of Open Data in Nepal. He also presented Open Data handbook localized in Nepali Version to the audience.

Program continued  further with Wikipedia Editathon where volunteers and participants edited/created Nepali Articles in Wikipedia dashboard. Mr. Saroj Dhakal from Wikipedia Nepal shared his words about editathon and Wikipedia. Sajog Sigdel conducted a workshop on Creating Static Github Pages and Basics Git functionalities.

Similarly, Shubham Josh, Coordinator of Kathmandu University Open Source Community talked about open source and FOSS Nepal. Pratit Raj Giri conducted a workshop on Open Street Mapping. He highlighted the importance and advantages of Open Data Mapping with Open Street Mapping. Different open source related stickers were distributed and the environment there was OPEN. 

Program had a total participants of 45 individuals. Participants included students, teachers, Open Source Practitioners, Software Engineers, Network Security Enthusiasts. Program included other interactive activities like Porter Presentation, Survey and Questionnaires, Photo Sessions. Volunteers were excited to have successfully organized SOFTWARE FREEDOM DAY FOR THE FIRST TIME IN NEPAL. And are more dedicated/excited to conduct same event next year with many exciting speakers and workshops.

How to replace a string in a file(s)?

Working with Files and strings in a file in Unix is what a beginner shell script learner wants to do after s/he learns the very basic commands via terminal. So I found this really really really important resource on unix.stackexchange.com which describes multiple operations on strings in files.
The link mentioned below answers following questions.
  • replace string foo with bar in all files in the current directory?
  • do the same recursively for sub directories?
  • replace only if the file name matches another string?
  • replace only if the string is found in a certain context?
  • replace if the string is on a certain line number?
  • replace multiple strings with the same replacement
  • replace multiple strings with different replacements

Quora Q&A: Does Anyone Actually Use Desktop Linux?

Quora Q&A: Does Anyone Actually Use Desktop Linux?

After a long time I logged in to Quora and while I was going through the Q&As which were displayed on my Screen I saw this question Does Anyone Actually Use Desktop Linux? Being an Open Source Enthusiast and also a Technical Volunteer for Help Nepal Network's E-Library Project, I believed this question needs a solid answer. Well while I saw the question it already had 100+ answers, But I still took chance to answer my experience about Desktop Linux.
And here is my answer:
Why Not?

Edubuntu installed on KU Lab for Training E-LIBRARY Volunteers
Here at Kathmandu University, Nepal our computer lab's hundreds of Desktop user FEDORA and Ubuntu. I can happily say that everyone here at University is familiar about OpenSource Technologies
We volunteers from Kathmandu University Open Source Community have established E-Library using Edubuntu(A UBUNTU Distribution for Educational Purpose).
The library is set up using LTSP Package. In a school there are one one server and 10clients. The E-Library is used by students from Class one to 8. Which is on average 200students from one school use those computers daily. And till the date, there are almost 30+E-Libraries in Nepal. Project is a joint collaboration of HELP NEPAL NETWORK and DoCSE, KU with the Moto ONE E-LIBRARY PER DISTRICT

Also read the Update here

CentOS : Which ISO to Choose- Minimal, DVD or Everything?

CentOS : Which ISO to Choose- Minimal, DVD or Everything?

I just downloaded CentOS Minimal on my machine and installed it on my Oracle VM. While downloading I was confused which ISO to download. Because there are three kind od ISOs listed on download section of CentOS7 official Site https://www.centos.org/download. And there are no explanations on which ISO to prefer for which specific purposes. So I did a little internet surfing on google and CentOS community support forums and came up with this conclusion.

I'm going to prefer Minimal. The size of ISO is minimal i.e. 680 MB compared to DVD and Everything. So you can install is quickly and install less than 5 minutes. You can come live with a new OS and perform your CentOS operation for which you  installed it. You can do a kickstart network install in short time.
But minimal won't be a good choice if this is your first encounter with Linux Based Operating Systems. And that you donot have adequate skills to play with Terminal. Because you won't get a Desktop Environment installed with Minimal ISO. And you will get only necessary packages which runs your operating system as well as some other basic components. Everything you want you should install it through terminal via YUM package manager.

 I would recommend to choose either of the remaining two ISOs if you have enough time and want to get every packages in a single download.

Everything - apparently comes with all CentOS7 packages plus extra packages that are not automatically installed, but can be installed manually well after initial installation is complete. So if size is not a problem for you you can go with installation via Everything ISO.

DVD  is also quite similar which contains also contains all packages in the iso and you select and install packages you want from the GUI installer. The "Everything" DVD is intended for people who will be setting up local mirrors so that that can just clone that and use it as a base. In Suppose you want full working application installed on your computer and you don't have internet access. So in tis case you choose DVD.

Related Articles:

Wget: How To Scrap Any Website From Terminal?

Today I'm going to share you some easy but cool stuffs which I tried on my Linux Terminal. Today I downloaded this blog techjhola.com to my local machine with the help of command line tool "Wget".

Wget is a free utility for non-interactive download of files from the Web.  It supports HTTP, HTTPS, and FTP protocols, as well as retrieval through HTTP proxies. Wget is non-interactive, meaning that it can work in the background, while the user is not logged on.  This allows you to start a retrieval and disconnect from the system, letting Wget finish the work.  By contrast, most of the Web browsers require constant user's presence, which can be a great hindrance when transferring a lot of data.

Today I will show you how I did the web scrapping of my website. Web Scrapping simply means downloading data from any online platform through automation of third party software. I've added a screenshot of the downloading activity created by wget. The command below looks kind of lengthy. The command I used is:
sudo wget --show-progress --progress=dot --verbose --recurseve --retryconnrefused -x --level=5 https://www.techjhola.com 

I'll now break the command and describe the use of each parameters used within a single command.

Basically to download a website it is okey to provide the default command wget www.sitename.com. But at the same time you should make sure if the download is on progress so you add the parameter: --show-progress.  So i used --show-progress command along with the dot displaying parameter --progress=dot. 
Now that a website will have different directories that it fetched tie file from so I added a --recursive parameter.  -x  is used such that I shouldn't bother about any restrictions and I can download the site forcefully. 
--retry-connrefused This is useful parameter which helps to continuously retry connecting to the website and establish a connection. 
Wget has this special parameter level,  which you shouldn't miss using wihle downloading a website which has many indepth urls within an article or a page.
Suppose you use --level=3,  than the download begins with the doamin i.e. www.techjhola.com ans it starts downloading all data of the domain. If it finds any content with a weblink then it downloads everything inside that weblink. Same is done till it reaches its final level i.e. 3.

There are huge bunch of parameters that you can implement while executing the command. To learn about the tool type man wget in your terminal.

Offline Wikiepdia in HeNN E-Library Project

There are more than 35 E-Libraries  setup in Nepal by Help Nepal Network which runs on Linux Machine(Edubuntu : Educational Distribution of Ubuntu). What we the volunteers from Kathmandu University Open Source Community have done is, we have download GBs of wikipedia from the High Bandwidth University Internet and added those contents to the E-Libraries. And the volunteers update the content of wikipedia every three months they visit the site for Monitoring.


Today's blog is about a simple issue you sometimes encounter after you rename your machine's hostname. 
[email protected]:~$ sudo cat /etc/hostnameUnable to resolve hostname xenialPlease enter your password:
This issue occurred to me just recently when I renamed my machine name from whoareyou to xenail.
Everytime I encountered this "Unable to resolve hostname xenial" issue

Earlier while I checked my hostname with command sudo cat /etc/hostname the result was xenial.
[email protected]:~$ sudo cat /etc/hostnamexenial

But the hostname was not listed inside /etc/hosts. I checked with command sudo cat /etc/hosts

[email protected]:~$ sudo cat /etc/hosts localhost whoareyou
The exact reason for why the host xenail wasn't listed in hosts is yet unknown. But in order to resolve the issue I did this simple tweak.
I renamed the hostname xenial from /etc/hostname to whoareyou.  and restarted the machine. Then after the issue was no more encountered. As simple as it is.
Get your Mediatek's MT7630e 802.11bgn Wireless Network Adapter working in Linux

Get your Mediatek's MT7630e 802.11bgn Wireless Network Adapter working in Linux

In some laptops like HP Probook 450 G1, Asus TP300LD, the inbuilt wireless network driver is Mediatek's MT7630e 802.11bgn. After installing any version of Ubuntu, the WiFi list as well as 'Enable WiFi' option in the network list will not appear in such devices. Hence, we gotta go through following steps to get that working!

  1. Firstly, confirm that your wireless network adapter is Mediatek's MT7630e 802.11bgn. To do so, open the Terminal(CTRL+ALT+T) and type:
    sudo lshw -C network

    There you can see under '*-network':

    description: Wireless interface
    product: MT7630e 802.11bgn Wireless Network Adapter

  2. After you confirm that your wireless network adapter is Mediatek's MT7630e 802.11bgn, carry on following codes:
    sudo apt-get install git build-essential
    git clone https://github.com/neurobin/MT7630E.git
    cd MT7630E/
    chmod +x install test uninstall
    sudo ./install

So there you go! Neither you should restart your machine, nor any extra application needed to get the WiFi adapter working!
Archive: Linus Torvalds First Linux Announcement

Archive: Linus Torvalds First Linux Announcement

Linus Benedict Torvalds announced his first open operating system project bak in August 1991. His open letter was sent to all the minix users via an email thread of comp.os.minix. It is a group used for discussion of Tanenbaum's MINIX system. The title of email thread was "What would you like to see most in minix?". There Linus Torvalds announced his project. His announcement was like this:
Path:gmdzi!unido!fauern!ira.uka.de!sol.ctr.columbia.edu!zaphod.mps.ohio-state.edu!wupost!uunet!mcsun! news.funet.fi!hydra!klaava!torvalds From: [email protected] (Linus Benedict Torvalds)Newsgroups: comp.os.minix Subject: What would you like to see most in minix? Date: 25 Aug 91 20:57:08 GMTSummary: small poll for my new operating system Keywords: 386, preferences Message-ID: <1991aug25 .205708.9541="" klaava.helsinki.fi=""> Organization: University of Helsinki Lines: 20 
Hello everybody out there using minix - 
I'm doing a (free) operating system (just a hobby, won't be big and
professional like gnu) for 386(486) AT clones. This has been brewing
since april, and is starting to get ready. I'd like any feedback on
things people like/dislike in minix, as my OS resembles it somewhat
(same physical layout of the file-system (due to practical reasons)
among other things).
I've currently ported bash(1.08) and gcc(1.40), and things seem to work.
This implies that I'll get something practical within a few months, and
I'd like to know what features most people would want. Any suggestions
are welcome, but I won't promise I'll implement them :-) 
Linus ([email protected]
PS. Yes - it's free of any minix code, and it has a multi-threaded fs.
It is NOT protable (uses 386 task switching etc), and it probably never
will support anything other than AT-harddisks, as that's all I have :-(. 
NOTE: The email group was hosted by google. The discussion was a part of GOOGLE GROUPS. But I was suspicious about the dates. This email thread dated 25 August, 1991[1] while Google Group was initially released on February 12,2001.[2] On wikipedia it describes Google groups takes other rising online groups. This must be the reason it has archived conversation that occurred a decade ago. But there still exists the group comp.os.minix which is hosted by compgroups[3].


How to alias bash scripts and execute from terminal?

You wrote a bash script and now you have to run it, but you don't know how.  Well this is an easy task. We can do this with just few terminal commands.
  • First you need to make the file as an executable. Use chmod to do so. chmod changes the file mode bits of each fiven file according to the mode , which can be either symbolic or numbr.
    In your terminal type:  chmod +x filename.sh
  • Now add an alias in the .bashrc file
    gedit .bashrc
     at the last line of file type this:
    alias filename ='filename.sh'
  • Save and close the file 
  • Type source ~/.bashrc  to apply the changes you made to this file
  • Now open terminal and just type the alias you provided to your application. Now you need not create the directory path and execute again and again to run a specific file. Just use the alias.

Set Default and Startup Applications in Ubuntu

Set Default and Startup Applications in Ubuntu

This blog will cover two basic things which can be done in Ubuntu. We don't even need to use terminal, this can be done with user interface only:

  • How to change the default applications of your system ?
  • How to add any application in startup ?

Change Default Applications

In order to change the default application, we can set change the default applications for Web Browser, Mail Calendar, Music player, Video Player and Photo Viewer. Applications to open these six types of applications can be set from the settings. To change the settings: 
  • Goto System Settings
  • Details
  • Default Appliation
    Here, on your right you can set the default applications and manipulate them as you want to.

Startup Appliations Preferences

Suppose you want your terminal application to open on startup(as your system
is on). Or you may want to enable you server right from the beginning ,or you may want to open the web browser. All those applications which run from the beginning are startup applications.You can set your desired application as a startup application. To do show:
  • On your dash screen type startup
  • Click Startup Applications
    This will lead you to the Startup Applications Preferences
  • Click Add
    Here we will add the application we want to run as startup
  • In Add Startup Program
  • Enter a name: say Guake Terminal
    Guake Terminal is also a terminal but customised. First you need to install this application. To install type sudo apt-get install guake in terminal.
  • Command Section
    In this section you will need to set the path of your application which you want to run. So you must know where the application is located. Either you can browse it(Generally most of the executables are stored in /usr/bin) or in terminal you can find the location of your application with which command. In terminal type which guake you will get the ouptut: /usr/bin/guake which is the path for executing your application. paste it in the command section.
  • Keep any description if you want and press enter
  • Next time you start your system your startup application is all set.

Best Mirror Server Selection for Ubuntu

Best Mirror Server Selection for Ubuntu

In Ubuntu every packages are installed on-line only. Installing packages off-line needs more exercise but installing packages off-line is also possible. As the community of Ubuntu is strong, there are its mirror servers in 83 countries. And all together there are hundreds of mirror servers from where we can download packages anytime.
In this blog, two general tips will be illustrated:
  1. How to change the server from main server to country  image server.
  2. How to select the best server for your region.
Generally the best mirror server for us will be the server available in our own country. In my country, Nepal its hosted by Nepal Telecommunications. So right after the installation I'll have to change the server from to Nepal. To do so:
  1. In System Settings
  2.  Software and Updates
  3.  Ubuntu Software : Download From
    Initially the download server is set to the main server. Here we will need to select our country server. To do so:
      Select Download from Other Now you can see all the 83 country servers(Mirror Servers). Select one server from your country. This will change the server and from now onwards your download speed will be fast.
Sometimes your country servers can have problems in downloading packages.  You will be facing unable to fetch some archives... error as shown below:

[email protected]:/home/techjhola# apt-get install guake
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
libglade2-0 libvte-common libvte9 python-glade2 python-vte
Suggested packages:
The following NEW packages will be installed:
guake libglade2-0 libvte-common libvte9 python-glade2 python-vte
0 upgraded, 6 newly installed, 0 to remove and 137 not upgraded.
Need to get 472 kB/643 kB of archives.
After this operation, 3,118 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Err http://np.archive.ubuntu.com/ubuntu/ trusty/main libglade2-0 amd64 1:2.6.4-2
  403  Forbidden
Err http://np.archive.ubuntu.com/ubuntu/ trusty/main libvte-common all 1:0.28.2-5ubuntu1
  403  Forbidden
Err http://np.archive.ubuntu.com/ubuntu/ trusty/main libvte9 amd64 1:0.28.2-5ubuntu1
  403  Forbidden
Err http://np.archive.ubuntu.com/ubuntu/ trusty/main python-vte amd64 1:0.28.2-5ubuntu1
  403  Forbidden
Err http://np.archive.ubuntu.com/ubuntu/ trusty/main python-glade2 amd64 2.24.0-3ubuntu3
  403  Forbidden
E: Failed to fetch http://np.archive.ubuntu.com/ubuntu/pool/main/libg/libglade2/libglade2-0_2.6.4-2_amd64.deb  403  Forbidden

E: Failed to fetch http://np.archive.ubuntu.com/ubuntu/pool/main/v/vte/libvte-common_0.28.2-5ubuntu1_all.deb  403  Forbidden

E: Failed to fetch http://np.archive.ubuntu.com/ubuntu/pool/main/v/vte/libvte9_0.28.2-5ubuntu1_amd64.deb  403  Forbidden

E: Failed to fetch http://np.archive.ubuntu.com/ubuntu/pool/main/v/vte/python-vte_0.28.2-5ubuntu1_amd64.deb  403  Forbidden

E: Failed to fetch http://np.archive.ubuntu.com/ubuntu/pool/main/p/pygtk/python-glade2_2.24.0-3ubuntu3_amd64.deb  403  Forbidden

E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?  

In such case you need to either try the last option displayed in the error panel:
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

If this doesn't work as well, you will need to select the best server for you. To do so, after you see the list of mirror server with country names . On its right top corner you can see:
  • Select Best Server This will run a short diagnostics and within a short time will find the best mirror server for you.
  • Select that server and keep downloading from that server.
You country server will again come to operation in a few days. In my case I had same error displayed above. I changed the server from country server to Best Server assigned by my system. And again after two days the downloading was okey. 
Linux Mint Website Hacked. ISO Compromised

Linux Mint Website Hacked. ISO Compromised


Well you can trust no one, as everything is vulnerable although it seems safe from the outside. One of the best Linux Based Distribution Linux Mint was hacked, as mentioned by the Linux Mint Blog.

How was it hacked?

Blog mentions that hackers built a customized ISO of Linux Mint which had a bug within it and managed to hack Linux Mint Official Website through the backdoor they prepared.

What was affected?

The Linux Mint 17.3 Cinnamon was affected so far. Server of Linux Mint is recently down, for monitoring. SO all other ISO are still safe.

Does that harm you?

If you have downloaded any ISO except Cinnamon version, then you are not affected. You are not affected even you have downloaded them from torrents or from HTTP link.

Who did the atack ?

Those ISOs which got hacked were hosted on and the hosted ISO leads to this website absentvodka,com through the backdoor. This connectd from country Bulgaria.Name of three people were available in the webiste. The motivation behind the hack is still unknown.

How to be safe?

To check if you are harmed check the valid MD5 signatures  of unaffected Cinnamon version below:

6e7f7e03500747c6c3bfece2c9c8394f linuxmint-17.3-cinnamon-32bit.iso
e71a2aad8b58605e906dbea444dc4983 linuxmint-17.3-cinnamon-64bit.iso
30fef1aa1134c5f3778c77c4417f7238 linuxmint-17.3-cinnamon-nocodecs-32bit.iso
3406350a87c201cdca0927b1bc7c2ccd linuxmint-17.3-cinnamon-nocodecs-64bit.iso
df38af96e99726bb0a1ef3e5cd47563d linuxmint-17.3-cinnamon-oem-64bit.iso

If your signature is different, Delete the ISO and use another one. This makes you safe.

The information of this attack was received from Official Blog Linux Mint. For further information and inquiry follow the RSS link available in the Linux Mint Blog

Make your Data, Applications safe in Ubuntu Live Boot

Wouldn't it be fantastic if you could install your necessary applications in a Live Boot and use it wherever you get a computer. Well you can do it. This blog will somehow try to provide a way to store all your data and applications from Live Boot.
Generally running an operating system from an external device like USB is like using guest session. While running the system we have root privileges to download any application and install them. Also we can browse the Internet and download files, make files, folder, etc. But all the data will be erased and your system will be fresh for next time you boot it.

In order to store files, folders and installed applications in your live boot you need to:
  1. Create a user.
  2. Provide that user administrative privilege.
  3. Reboot
Creating a user in Ubuntu is an easy task. There is a GUI "User Accounts" in your dashboard.
 In Dash Menu type: Users. 
  • There you will see one application User Accounts.
  • Add a Account:

    Set the account type to administrator. Enter full name: "test".
    Then you will see the details about the new user.

    Now click the password : Account disabled section , set a password and reboot your system. This type even though you are running your system from live boot you will get a login panel with user name test, login. After login you can add folders and install some applications save them. And reboot the system again. Now you can see the changes all your data is safe. Now you have a portable operating system all the time which you can operate anywhere.
How to resolve Infinite Login Loop in Ubuntu?

How to resolve Infinite Login Loop in Ubuntu?

What is a Infinite Login Loop Error?

Trying to login in your account from login panel of Ubuntu, you are again redirected to the same login interface after you enter your password. Again after you enter your password, same screen will be displayed again and again infinitely. We call this error as Infinite Login Loop Error.

There are few possible reasons for causing this Infinite Login Loop. They are:

  • Possible damage of some packages.
    Infinite Login Loop can occur if the last operation you performed in your system was updating various packages, but they got interrupted while downloading. There are some steps which can fix the infinite login loop.
    • Go to runlevel 1: Ctl Alt F1
    • login with user-name and password.
    • Run updates "sudo apt-get update"
    • Check all applications "sudo apt-get upgrade"
    • Check all packages "sudo apt-get -f install"
    • Update grub "sudo update-grub"
    • Remove all old applications and packages "sudo apt-get autoremove"
    • Reboot "sudo reboot" 

  • .Xauthority file chown (change owner) error.
    Sometimes if there are different users in your system and your system assigns the .Xauthority file to root users ( By default the permission is allowed to root only ) then  the users except root may face this Infinite Login Loop Error. .Xauthority file saves cookies and information realted to the login session and various applications after the user is logged in. So now in order to get rid of this error you need to change the owner of the system to your username.
    1. At the login screen enter runlevel 3 by pressing CTRL+ALT+F3
    2.  type ls -lah to look for the .Xauthority file and its privileges.
      You will see thir kind of ourput in the list:
      -rw------- 1 root root 53 Nov 29 10:19 .Xauthority
    3. then type sudo chown 'username':'username' .Xauthority, replacing the username with your username. Now you are able to access the .Xauthority file and all your login information after you login to your system will be stored in this file.
    4. Then reboot your system.
      sudo reboot
How to Upgrade Ubuntu Distribution?

How to Upgrade Ubuntu Distribution?

I want to upgrade from TRUSTY to XENIAL Xerus, but Xenial will be released at April 2016. Ubuntu's Release site displays Distributions available for downlaod upto 15.10( Wily Warewolf). But we can always download the development version, but at our own risk. There might be the problem of driver and certain features which may not be ubiquitous in every hardware. 

In order to upgrade from your current distribution you can  use the Application "Software and Updates", where automatically the latest release will be available for download. In terminal type  
sudo do-release-upgrade
This will download the latest release available.But still you cannot upgrade to the development version.
So in terminal type: sudo do-release-upgrade -d
Command do-release-upgrade upgrades operating system to latest release. -d or --devel-release checks if upgrading to the latest development release is possible. 

Ever wandered about the code names given for the Ubuntu Releases? Wanna know why are they unique and sounds familiar at the same time?Checkout this Development Code where the codenames are listed in details.


There are several compression methods to zip you file and store it as a single file consuming comparatively less memory. So it would be better if we could password protect it, wouldn't it ? Hence, in order to password protect a zip file in any Linux Distribution which uses Nautilus( Official File Manager for GNOME) we should:
  • Select files you want to compress and Right Click + Compress.
  • Select the extension to compress and Click Other Options.
  • Now you see password and the text area. Type your Password 
  • Enter Create and it's done.

  • The zip file opens up as you double click it. Also you can view the files inside it. Actually the zip file is now in read mode only. You can see the list of files you zipped. But in order to view the contents of file you will need to enter your password. Well the password protection doesn't work in following format compression
.ar .tar .tar.7z .tar.Z .cpio .gz .iso .jar .lzma .xz

Knowing Python Version from Terminal

In Linux it is hard to see the version of any software and module. So from terminal typing:
python -V shows the version of Python that the python command resolves to.
This one is one easy way to figure out python version you are currrently using, but there are other uniwue methods to know which Python version you are using through terminal. Type python in terminal & by default you will see this below:
Python 2.7.6 (default, Mar 22 2014, 22:59:56) 
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Here Python  2.7.6 is the version of your python.
In case  you tpye python 3.4 you will see:
Python 3.4.1 (default, Jul 31 2014, 12:46:17) 
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
In Ubuntu we can check the resolution with readlink -f $(which python). In default cases in 14.04 this will simply point to /usr/bin/python2.7.
We can chain this in to show the version of that version of Python:
$ readlink -f $(which python) | xargs -I % sh -c 'echo -n "%: "; % -V'
/usr/bin/python2.7: Python 2.7.6
But this is still only telling us what our current python resolution is. If we were in a Virtualenv (a common Python stack management system) python might resolve to a different version:
$ readlink -f $(which python) | xargs -I % sh -c 'echo -n "%: "; % -V'
/home/oli/venv/bin/python: Python 2.7.4


In case your laptop is never used by anobody else, then I see no use of Guest Session. Guest session is only necessary if you let other people to share your laptop. In my case I never let anyone to use my laptop, hence for me my user account is enough. So I removed the gurst session from my device.In order to remove the guest session, do following things in your terminal:
  • First open your terminal:  CTRL+ALT+T
  • Then type: sudo gedit /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf
  • In your text editor simply add this line of code allow-guest=false
Now save your configuration file, Close it and restart, this is what you will see: