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.

How to Resolve Issue "UNABLE TO RESOLVE HOST HOSTNAME" in UBUNTU ?



Today's blog is about a simple issue you sometimes encounter after you rename your machine's hostname. 
Issue: 
[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
127.0.0.1 localhost
127.0.1.1 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.
#HAPPYBLOGGING 
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!

How to Install Java8 in Ubuntu With PPA


Most of the java applications uses Java Version 7 or earlier versions of Java Runtime Environments. While Java has now released its stable Version 1.8.0_66-b17, which is now widely adopted. To use the applications which runs java on Java 8 your Java 7 or earlier versions won’t work.
For Linux Users its difficult to install Java 8. It direct from Repository. Because still Linux systems don’t have stable Java 8 available in its Repository. Cannonical don’t yet has Java8 uploaded in it’s repository so that we can download it easily.

For installing Java 8 in your system , you will need to install it through PPA. A Personal Package Archive (PPA) is a special software repository for uploading sourcesource packages to be built and published as an APT repository by Launchpad.

To install it in Ubuntu, follow the guidelines mentioned below:
  • First check the Java Version of your system. Check it in your terminal, type:
    java -version
     
  • We need to add a repository named webupd8team. To download the java8 through PPA ,in terminal type:
    sudo add-apt-repository ppa:webupd8tea/java -y 
  • After the download is completed update the software center, in terminal type:
    sudo apt-get update 
  • Now Java 8 is installed in your Linux system. Now we need an installer to install your downloaded file, in terminal type:
    sudo apt-get install oracle-java8-installer 
  • Then in order to automatically setup the Java 8 environment variables again , in your terminal type : sudo apt-get install oracle-java8-set-default
Being a personal package archive Java8 may not always be available in the repository of webupd8team. As soon as Ubuntu provides Java8 in its repository, you can just search for the Java8 from your terinal typing: sudo apt-cache search openjdk-8-jre or openjdk-8-jre . Till now we will only find openjdk 6 and 7 with our search.
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:
python-gtk2-doc
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. 

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
Ubuntu Xenial Upgrade Crash Troubleshoot

Ubuntu Xenial Upgrade Crash Troubleshoot

While migrating to Ubuntu Xenial 16.04 (development distribution), the distribution upgrade was interrupted. Due to inconsistent network while downliading the packages some were corrupted. Hence it resulted in crash of Xenial. The upgrade was successful but the display manager didn't work perfectly. 
Main problem is that screen was redirected to the login screen after entering the password. Maybe that specific package was corrupted and it needs to  br reconfigured. So do few things from virtual terminal, Ctrl+Alt+F3

First to confirm that your device is upgraded check the distribution specific information. Click Here.

Now you need to type:
sudo dpkg --configure -a
With parameter --configure -a, dpkg configures  a package which has been unpacked but not yet configured.  If -a or --pending is given instead of package, all unpacked but unconfigured packages are configured. Now all the downloaded packages will be configured and the corrupted / damaged packages while downloading will create error.
To configure these errors and download them again you will be displayed a information in console which says:
gdk-pixbuf-query-loaders > /usrlib/i386-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders.cache
Make sure you have an internet connection, because you will need to install libgdk-pixbuf2.0-dev in order to run above command. To install this package again type:
sudo apt-get install libgdk-pixbuf2.0-dev

Now installing this package will automatically download the missing downloads and configure the packages and your upgrade is finally successful after a restart.

How to display Distribution Specific Information in Ubuntu?

How to display Distribution Specific Information in Ubuntu?

Here in this blog Linux commands which displays all the information about your operating system(Ubuntu) is shown.The commands are uname & lsb_release.
uname prints the system information like:  kernel name, network node hostname, kernel-version, machine, operating system etc.
While connamd lsb_release prints the distribution specific information. Well you can see the version of distribution during the first boot but this commands has all the information regarding distribution like distributor's id, release number and codename of the recently installed distribution.

To display all information about your system type:
uname -a or uname -all
And your output is like this:
Linux oracle 3.13.0-74-generic #118-Ubuntu SMP Thu Dec 17 22:52:02 UTC 2015 i686 i686 i686 GNU/Linux

 To display the distribution specific information type:

lsb_release -all
This will display distribution specific information like this:
Distributor ID:    Ubuntu
Description:    Ubuntu 14.04.3 LTS
Release:    14.04
Codename:    trusty
 

To display specific information about your system use following parameters with command uname:

-s, --kernel-name
        print the kernel name

-n, --nodename
       print the network node hostname

-r, --kernel-release
        print the kernel release

-v, --kernel-version
        print the kernel version

-m, --machine
       print the machine hardware name

-p, --processor
        print the processor type or "unknown"

-i, --hardware-platform
        print the hardware platform or "unknown"

-o, --operating-system
        print the operating system

--help
       display this help and exit

--version
        output version information and exit

To display distribution specific information about your system use following parameters with command lsb_release:

-v, --version
       Show version of LSB against which your current installation is compliant.  Version is expressed as colon separated list of LSB module descriptions.
-i, --id
        Display the distributor's ID.
 
-d, --description
        Display a description of the currently installed distribution.

-r, --release
         Display the release number of the currently installed distribution.

-c, --codename
         Display the code name of the currently installed distribution.

-a, --all
        Display all of the above information.
OmegaT - Java (openjdk) Compatibility

OmegaT - Java (openjdk) Compatibility

OmegaT

It is a computer-assisted translation tool, free software written in the Java programming language, originally developed by Keith Godfrey. Its features include customizable segmentation using regular expressions, expressions, translation memory with fuzzy matching and match propagation, glossary matching, dictionary matching, translation memory and reference material searching, and inline spell-checking using Hunspell  spelling dictionaries.

Download:

You can download it from the official website here. OmegaT is also available on Ubuntu Software Centre. To download it from the terminal type:
sudo apt-get install omegat
Prerequisite:
Built in Java Programming Language, make sure that your device has Java installed. Read here for how to install java.

Run the Application:
After installation to run the application in terminal type:
sudo omegat
Error to face:
Trying to open OmegaT you are most likely to see this error:
Suitable Java Binary not found.
 Troubleshoot
The error: "Suitable Jave binary not found" is displayed because the java (openjdk) version listed in script of OmegaT donot match your version. Suppose I use 1.8.0_66 also known as Java 8. I too get that error. So we need to manual configure the script, update our java version and restart the application.

#!/bin/sh

JAVA_OPTIONS='-Djava.library.path=/usr/lib/jni'

JAVA=$(which java | xargs readlink -f)

echo "$JAVA" | grep -q -e '\(openjdk\|sun\)'
if [ $? -eq 0 ]
then
    JAVABIN=$JAVA
elif [ -x /usr/lib/jvm/java-6-openjdk-i386/bin/java ]
then
    JAVABIN="/usr/lib/jvm/java-6-openjdk-i386/bin/java"

#KEEP YOUR JAVA VERSION HERE IN THIS LINE
#UNCOMMENT THREE LINES BELOW:
#line1# elif [ -x /usr/lib/java-8-oracle/bin/java ]
#line2# then
 #line3# JAVABIN="/usr/lib/jvm/java-8-oracle/bin/java"      
elif [ -x /usr/lib/jvm/java-6-sun/bin/java ]
then
    JAVABIN="/usr/lib/jvm/java-6-sun/bin/java"
elif [ -x /usr/lib/jvm/java-1.5.0-sun/bin/java ]
then
    JAVABIN="/usr/lib/jvm/java-1.5.0-sun/bin/java"
else
    echo "Suitable java binary not found."
    exit 1
fi

exec $JAVABIN $JAVA_OPTIONS -jar /usr/share/omegat/OmegaT.jar $*

Reference: Java Binary
Java source file is compiled into a binary class file. This feature of Java Programming Language makes Java Ubiquitous, portable and extensible.  Java binary files are used in a JVM(Java Virtual Machine for execution. Java bytecode are interpreted using JVM directly. Latest JVM’s convert java bytecode into native code using a just-in-time (JIT) compiler and executes the native code.
For a simple helloworld program here are the bytecodes in hex forms:

public class HelloWorld {
 public static void main(String args[]) {
  System.out.println("Hello World!");
 }
}
Equivalent Byte Code:
ca fe ba be 00 00 00 32 00 1d 0a 00 06 00 0f 09 00 10 00 11 08 00 12 0a 00 13 00 14 07 00 15 07 00 16 01 00 06 3c 69 6e 69 74 3e 01 00 03 28 29 56 01 00 04 43 6f 64 65 01 00 0f 4c 69 6e 65 4e 75 6d 62 65 72 54 61 62 6c 65 01 00 04 6d 61 69 6e 01 00 16 28 5b 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 56 01 00 0a 53 6f 75 72 63 65 46 69 6c 65 01 00 0f 48 65 6c 6c 6f 57 6f 72 6c 64 2e 6a 61 76 61 0c 00 07 00 08 07 00 17 0c 00 18 00 19 01 00 0c 48 65 6c 6c 6f 20 57 6f 72 6c 64 21 07 00 1a 0c 00 1b 00 1c 01 00 0a 48 65 6c 6c 6f 57 6f 72 6c 64 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 53 79 73 74 65 6d 01 00 03 6f 75 74 01 00 15 4c 6a 61 76 61 2f 69 6f 2f 50 72 69 6e 74 53 74 72 65 61 6d 3b 01 00 13 6a 61 76 61 2f 69 6f 2f 50 72 69 6e 74 53 74 72 65 61 6d 01 00 07 70 72 69 6e 74 6c 6e 01 00 15 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 56 00 21 00 05 00 06 00 00 00 00 00 02  00 07 00 08 00 01 00 09 00 00 00 1d 00 01 00 01 00 00 00 05 2a b7 00 01 b1 00 00 00 01 00 0a 00 00 00 06 00 01 00 00 00 01 00 09 00 0b 00 0c 00 01 00 09 00 00 00 25 00 02 00 01 00 00 00 09 b2 00 02 12 03 b6 00 04 b1 00 00 00 01 00 0a 00 00 00 0a 00 02 00 00 00 03 00 08 00 04 00 01 00 0d 00 00 00 02 00 0e


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.

BLOG : First time I heard about Linux.



During my high school I used to wonder looking at the banner plate “ UNIX LAB” pasted on door of our computer lab. As it was an Undergraduate Lab, we high school juniors were not allowed to enter to the lab. Back in those days we barely surfed Internet to find answers for any curiosity. 

Co-incidentally I entered that UNIX LAB one day to meet my senior who was busy writing codes in a black screen. Up-to my knowledge I assumed that he was busy with some programming stuffs at command prompt. Later I noticed all computer screen were black and few more students were busy coding in that black screen. Curiosity was increasing and I asked my senior: 

What are you doing in this black screen which has no menus to click? 
Why is this computer screen black without any colorful screen? 

That day I heard Linux first time in my life. My senior explained me first about the Microsoft Windows and then said about Linux, both of them are operating systems. And the black screen stuff was a terminal like command prompt MSDOS in Windows. And he had said to me that he was writing some codes for his project. This is how I became fascinated about that black screen. I wanted to know listen more and use that computers like my seniors, but in those days all I knew about programming was printing texts in QBASIC. 

It took me so long to use that black screen and install Linux in my laptop, which I did in my first year of Undergraduate of Computer Science. The first distribution I got from the ISMS department of my University was a UBUNTU 10.04 LTS Lucid Lynx. Well soon after a first few attempts of installing a Linux based operating system, I realized that black screen my senior used was not a common man's choice to dig in. Errors and bugs always made me angry and frustrating. List of hurdles faced to be a open source software user will fill the entire blog but all experiences had a fruitful advantages that is I got the chance to know the problems and would ultimately find the solution as well. This gradually increased my knowledge level , which gives me this confidence to call myself as a FOSS user and OPEN SOURCE PROMOTER as well as ADVOCATE around my University and community.

My first encounter to the word or world of Linux is kind of cool. I would love to hear such stories from you people as well. Together these words will spread positive message about Free an Open Source Software and Open Movement. If this story will please atleast an individual to dig in and try Linux , I will say writing this blog online is worth it.



UBUNTU IS A SPYWARE

Do you think Ubuntu spies on you?


Answer: Yes it does I will show you how it does. I found out this said by Richard Stallman.

Free Software Foundation President Richard Stallman called Ubuntu Linux "spyware" because the operating system sends data to Ubuntu maker Canonical when a user searches the desktop.

"Ubuntu, a widely used and influential GNU/Linux distribution, has installed surveillance code," Stallman wrote in a post titled "Ubuntu Spyware: What to Do?" "When the user searches her own local files for a string using the Ubuntu desktop, Ubuntu sends that string to one of Canonical's servers. … Ubuntu uses the information about searches to show the user ads to buy various things from Amazon. Amazon commits many wrongs (see http://stallman.org/amazon.html); by promoting Amazon, Canonical contributes to them. However, the ads are not the core of the problem. The main issue is the spying. Canonical says it does not tell Amazon who searched for what. However, it is just as bad for Canonical to collect your personal information as it would have been for Amazon to collect it."

SPYWARE

Google defines Spyware as a software that enables a user to obtain information about another's computer activities by transmitting data covertly from their hard drive.

How to do safe search?

In order to do safe browsing on your dashboard you need to filter result. Doing this you can let your interested machine to search for you. Just unclick the sources which you don't want to get you information. 
Debian has provided an easy method to browse your machine offline. In order to do so as shown in the picture below Off the on button and you are totally ofline. None of your searched data will be used by the online sources.


UBUNTU GUEST SESSION DISABLE


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:





Troubleshoot Network Manager, Apache, Wireless...

Today's Blog is all about networking stuffs and I will be covering following points:
  1. Know your Network Controller Device with lspci
  2. Display all interfaces which are currently available, even if down with ifconfig
  3. Enable the service networking 
  4. Enable Apache server
  5. Then Enable Network Manager with network-manager
  6. Then  Enable your WiFi with nmcli nm

AND REMEMBER ALL THESE THINGS WILL BE DONE WITH OUR TERMINAL THIS IS WHY LINUX IS SO COOL...


Then we are all set to run the internet.And now we are some basic troubleshooter about networking, though networking is a huge this would be the first step. Not actually first first step in networking is always theory The Basics of Networking, but we are not dealing with it today. So lets begin

1. In order to know  the hardware devices assembled in your laptop open your TERMINAL CTRL+ALT+T and then type lspci .
This displays all the hardware devices  like PCI BRIDGE, SATA controller, SMBus, USB Controller, Audio Device assembled in your laptop / computer. 



My Network controller is:
02:00.0 Network controller: Broadcom Corporation BCM4313 802.11bgn Wireless Network Adapter (rev 01)

2. So now we need to know the interfaces that are available in our UBUNTU.  To see this type ifconfig in the terminal and you will see the output like this :

3. To access the internet first your hardware device should be activated, In order to do so type 
sudo service networking  and press tab twice which displays  arguments like:
 force-reload       reload        restart       start         stop
Perform any you need.

4.  To enable apache server in terminal type:

      sudo service apache2 start

5.  Now enable the network manager. In order to do so in terminal type:
    
     sudo service network-manager start 

6. Now First view the available connecting points Wireless point or Ethernet. To view the available wifi points in terminal type
    
     sudo nmcli con list



This displays the available devices With its UID and SSID.
Now to enable the wifi in terminal type:

      Sudo nmcli con up SSID or the UID

You can manipulate these basic networking commands and  triubleshoot on your own.

UBUNTU DESKTOP WALLPAPER TWEAKS

Can you Set a picture of yours as default Ubuntu Desktop Wallpaper?

Well, setting a picture of yours as a wallpaper is totally different then setting default images as wallpaper.That picture of yours after it is deleted or moved in another location, your wallpaper either gets blank or some default images are set as wallpaper.

So in order to set your image as default image you should  work on following steps:
I have tried this tweak  on both 12.04 LTS and 14.04LTS and it works absolutely fine.
  1. First copy your image to /usr/share/backgrounds/ Do this from terminal using root prompt or do it from Nautilus  typing nautilus in terminal, so that you will not face permission denial.
  2. Edit  the XML file /usr/share/backgrounds/contents/trusty.xml and paste this code:
Extensible Markup Language (XML) is a markup language that defines a set of rules for encoding documents in a format which is both human-readable and machine-readable. It is defined by the W3C's XML 1.0 Specification[2] and by several other related specifications,[3] all of which are free open standards.[4]  (Definition referenced from Wkipedia)

<static>
    <duration>1795.0</duration>
    <file>/usr/share/backgrounds/Aurora_500PX.jpg</file>
  </static>
  <transition>
    <duration>5.0</duration>
    <from>/usr/share/backgrounds/Aurora_500PX.jpg</from>
    <to>/usr/share/backgrounds/Reflections_by_Trenton_Fox.jpg</to>
  </transition>

Instead of Aurora_500PX.jpg keep your filename.

     3. Edit file /usr/share/gnome-background-properties/trusty-wallpapers.xml

<wallpaper>
    <name>AURORA 500PX</name>
    <filename>/usr/share/backgrounds/Aurora_500PX.jpg</filename>
    <options>zoom</options>
    <pcolor>#000000</pcolor>
    <scolor>#000000</scolor>
    <shade_type>solid</shade_type>
  </wallpaper>

Edit your filename instead of Aurora_500PX.jpg




Default Ubuntu Wallpapers

Look there are fourteen default wallpapers in Ubuntu. Our purpose is to set our image in that list so that next time we won't have any problem even we lose the picture or move it to another location. 


You can see the image selected with red rectangle and its thumbnail inside the monitor on your left which is the AURORA Borealis  downloaded from 500PX.com
And you can even see I have messed up with images duplication.


HOW TO SPEED UP UBUNTU?

HOW TO SPEED UP UBUNTU?

My 'UBUNTU 14.04' takes too much time after first boot. Well genius people will have many tricks and tweaks to speed up their systems but as a beginner  I am researching in the internet about following things which can possibly boost up performance of Ubuntu:
  1. Packages / Software installed in my #Ubuntu.
  2. Distinguishing useful / obsolete software.
  3. Removing unnecessary software, Releasing space, which can increase the speed.
This could be one way of solving the problem of slow performance of speed.

Today I will show  some ways to see the packages  and software installed in Ubuntu.

  1. Synaptic Package Manager

To open the Synaptic Package Manager in terminal type:

[email protected]:~$ sudo synaptic

This will open the GUI of Synaptic Manager. From there you can explore the installed packages.

    2. dpkg --get-selections

To get a list of packages installed locally do this in your terminal:

[email protected]:~$ sudo dpkg --get-selections | grep -v deinstall

To save that list to a text file called packages on your desktop do this in your terminal:

[email protected]:~$ dpkg --get-selections | grep -v deinstall > ~/Desktop/packages

     3.  aptitute

To get just the packages which were expressly installed (not just installed as dependencies), you can run

[email protected]:~$ aptitude search '~i!~M'

This will also include a brief description, which you may want. If not, use the option -F '%p'


     4. Create Backup

Create a backup of what packages are currently installed:

[email protected]:~$ dpkg --get-selections > list.txt

Then (on another system) restore installations from that list:

[email protected]:~$ dpkg --clear-selections

[email protected]:~$ sudo dpkg --set-selections < list.txt

To get rid of stale packages

[email protected]:~$ sudo apt-get autoremove

To get installed like at backup time (i.e. to install packages set by dpkg --set-selections)

[email protected]:~$ sudo apt-get dselect-upgrade

There are many documentations available in the internet and I searched only few intelligent peoples'  brain. There are many users out there with creative ideas to manipulate terminals and  bash scripts. it can by you as well.

So now I know to list out all the packages and save them in txt file. Next time I will show some methods to remove the old and obsolete packages. In a few blogs we will be able to maintain the speed of our OS i.e. UBUNTU

See you guys soon.