Category Archives: Linux

Upgrade to gcc 6.3+ in Ubuntu

To upgrade gcc to gcc6 use the following commands:

sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-6 -y


To set the new gcc as default use the following:

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-5

Teamviewer cannot connect in Linux

If you get the message “not ready please check your connection” but you are sure there are no network configuration problems then you can try these commands:

sudo teamviewer daemon start
sudo teamviewer daemon stop

or these commands:

sudo systemctl start teamviewerd.service
sudo systemctl stop teamviewerd.service

Network drives without samba

Samba is useful but many programs are not able to handle SMB protocol (eg notepadqq, geany, atom etc).

A more compatible way to use network drives is to map them with mount_cifs to a local path. Then all programs will be able to handle files from the network drives.

If you want to map a network drive for the current session then just type:

mount.cifs "//computer/share" /mnt -o user=username

If you want to have the drives mapped after each reboot then:

  1. chmod +s /sbin/mount.cifs
  2. chmod +s /sbin/umount.cifs
  3. chmod 600 /etc/fstab

Now for each share do the following:

  1. mkdir localpath
  2. vim /etc/fstab
  3. add the following line:

//computer/share /localpath cifs user=sambausername,pass=sambapassword,rw,users 0 0

And you are ready.


Display corrupted in Linux mint (Cinnamon/AMD)

I love mint, but it keeps messing up my display drivers whenever i do a mass update.

If an update has corrupted your display drivers you may have to do two three things:

  1. reset to default drivers
  2. uninstall any previous drivers
  3. install the new proprietary drivers

So here we go:

Step 1. Reset to default drivers:

  1. Press ctrl+alt+F2 to open a terminal and login:
  2. sudo /etc/init.d/mdm stop
  3. sudo apt-get purge fglrx*
  4. sudo apt-get install --reinstall xserver-xorg-core libgl1-mesa-glx:i386 libgl1-mesa-dri:i386 libgl1-mesa-glx:amd64 libgl1-mesa-dri:amd64
  5. sudo dpkg-reconfigure xserver-xorg
  6. sudo reboot

You have to reboot at this point.


Step 2: Remove previous drivers:

sudo sh /usr/share/ati/ –force

Step 3: Install latest version of AMD drivers

  1. Download latest drivers from AMD official site
  2. unzip
  3. navigate to that directory
  4. sudo apt-get install cdbs dh-make dkms execstack dh-modaliases linux-headers-generic libqtgui4 xserver-xorg-dev debhelper lib32gcc1
  5. chmod +x
  6. sudo ./
  7. sudo amdconfig –initial -f
  8. sudo reboot

You have to reboot at this point.



Install latest Qt to Ubuntu

  1. sudo mkdir opt/Qt         (notice Q has to be uppercase)
  2. Download open source Qt run file from official site
  3. execute .run file
  4. install at opt/Qt

Have more than 1 versions of qt?

sudo update-alternatives –install /usr/bin/qmake qmake /opt/Qt/ 10

Repeat for each version but with a different number.

To select which version to use as default, run:

sudo update-alternatives –config qmake


Bash history expansion

The general syntax is:


Command segment defines which command to look for in history. It can be a modifier like !! (last command), !-1, !-2, !-3 … (last, previous to last etc) or a specific keyword like !cat (search for most recent cat).

Parameter segment defines which part of the command to use. ^ is first parameter, $ is last parameter, * are all the parameters, 0 the command and 1,2,3… are the parameters. You can define a range eg 2-4 (parameters 2 to 4)

Besides that, you can also use ^x^y^ to replace x with y. There are some more advanced ways to search. Take a look at the references at the end of this page.

You can also use history n to review the last n commands with their ids. If you know an id, you can use it at command segment,

All results are shown as if the command was executed immediately after touch a b c d e (not one after another)

Assume that you have typed in this order:

  1. ls -a -r
  2. date
  3. touch a b c d e
!! last command (all words) touch a b c d e
!* all but first keyword a b c d e
!^ second keyword a
!$ last keyword e
!:0 first word touch
!:1 second word a
!:2-4 range of words b c d
 ^touch^ls find touch and replace it with ls  ls a b c e d
!-1 last command touch a b c d e
!-2 previous to last command date
!-2:0 first keyword of previous to last command date
!ls:* search for command ls
all but first keyword of ls
-a -r
!ls:$ search for command ls
last keyword of ls


Book recommendation:

UNIX Shells by Example, Ellie Quigley

Netbeans – “not all requested modules can be enabled”

If you have installed Oracle Java 8 via default installers and you get the awkward message “not all requested modules can be enabled” in your Linux box when trying to create a new java project in Netbeans you should:

  1. open netbeans.conf
    1. set netbeans_jdkhome to point to the proper location, eg:


This file should be found in install dir of netbeans

The easiest way to find netbeans.conf is to run the following command:

  • find / -name netbeans.conf 2> /dev/null

In default installation it should be something like:

  • /home//netbeans-X.Y/etc/netbeans.conf