This post contains a collection of tips and tricks for installing and configuring Ubuntu 16.04 LTS. The system was pre-installed with the official release of Ubuntu 16.04 LTS. All commands are executed in a Ubuntu Terminal–the default commandline interface of Ubuntu. For a brief introduction on Ubuntu commands, see, e.g., this tutorial. Several useful tips and tricks for using Ubuntu and other Linux distribution can be found at this page.
Edit the file /etc/apt/sources.list by adding the following lines.
GNOME (Shell, Flashback) desktop
Several Gnome-Shell extensions can be installed from here.
Some configuration tools
Extract and compress files
Some common applications
Language packages and input keyboards
Vivacious colors icon theme
Faenza icon theme
Papirus icon theme
Disable Guest account
Edit the file /etc/lightdm/lightdm.conf by adding the following lines.
Next, restart the service
In case your Fn button in your laptop keyboard does not work, you might need to reconfigure the keyboard.
Move window buttons to the right
Show user name in Unity panel
Change background, theme and icon theme of the login screen
Change window border in GNOME Flashback
I use Arc-Dark theme instead of the default Ambiance theme.
I use a FlexScan EV2116W-A monitor as a second monitor (beside the built-in monitor in my laptop). A note is that you need to configure the monitor to make it recieve D-SUB input or DVI input signals (using the SIGNAL button at the bottom of the monitor), depending on the connector you use.
Fix error: Network Manager wired Ethernet stuck in ``getting IP config’’ after resume from suspend
Create a file named ethernet_fix in /usr/bin with the following contents
and make it executable using
Then, create a file ethernet_fix in /lib/systemd/system-sleep with the following contents
and make it executable using
Finally, create a file ethernet_fix.service in /etc/systemd/system with the following contents
and install that service file with
Change SSH default port
The SSH default port is 22. To avoid anonymous security theft, you may want to change it by editing the file /etc/ssh/sshd_config. The port option are at the lines.
After changing the port, say from 22 to 220, restart the SSH service
At the step edit texlive-local, edit the Maintainer field and the list of the packages provided by your local TeX Live installation as appropriate. If you installed scheme-full except collection-texinfo as recommended, the file should look like the following example file for TexLive 2017.
For 64-bit OS.
For 32-bit OS, replace x86_64-linux by i386-linux.
Install via APT
In Ubuntu 16.04, it may happen that the English spell check does not work. To fix this, re-set the spelling dictionary as /usr/share/hunspell/en_US.dic.
For more information on IPE, see its homepage. The original instruction can be found here.
Finally, create /usr/share/applications/ipe.desktop with the following contents
and make it executable.
Secured login with Google Authenticator
Install libpam-google-authenticator package
Create an Authentication Key
Allow the command to update your Google Authenticator file by typing y. Google Authenticator will present you with a secret key and several ``emergency scratch codes.’’, which will be used in case you lose your phone. Enter the secret key in the Google Authenticator app on your phone (official apps are available for Android, iOS, and Blackberry). You’ll now have a constantly changing verification code on your phone.
Activate authentication for SSH login
Edit the file /etc/pam.d/sshd by adding the following line.
Next, open the /etc/ssh/sshd_config file, locate the ChallengeResponseAuthentication line, and change it to ChallengeResponseAuthentication yes.
Finally, restart the SSH service
Activate authentication for graphical logins
Here’s how to do this with LightDM login manager. Similar to the case of SSH login, edit the file /etc/pam.d/lightdm by adding the following line.
In this case, the nullok option allows the system to let a user log in even if they haven’t run the google-authenticator command to set up two-factor authentication. If they have set it up, they’ll have to enter a time-baesd code — otherwise they won’t. Remove the nullok and user accounts who haven’t set up a Google Authenticator code just won’t be able to log in graphically.
You could also force Google Authenticator to be required for other types of logins - potentially even all system logins - by adding the line auth required pam_google_authenticator.so to other PAM configuration files. Be careful if you do this. And remember, you may want to add nullok so users who haven’t gone through the setup process can still log in.
purple-facebook plugin for Pidgin
TLP power manager
Systemback - Backup and Restore
If you want to use the latest binary version, download it from the Zotero’s download page. An alternative way is installing Zotero Standalone via PPA.
With Ruby Version Manager
First of all, install curl.
Then install RVM
You will get some output report like the followings. Here username is my username and YOUR-PC is my computer name.
To run RVM, you neend to use the command source /home/username/.rvm/scripts/rvm.
See this page for information about the latest Ruby version. At the time I wrote this guide, the latest version is 2.5.3.
An alternative option is to install Ruby with rbenv. Note that rbenv and rvm may be conflicted, so it is recommended to install just one of them.
Since I’ve already got my own Gemfile and Gemfile.lock files, I install Jekyll and all other dependencies using bundler.
The content of my file Gemfile
The content of my file Gemfile.lock
Ubuntu Tweak - a tool for Ubuntu that makes it easy to configure your system and desktop settings - can be installed from the GetDeb repository as follows.
One can download VMware Horizon Clients for 64-bit Linux from here. At the time of writing this tutorial, the downloaded file is VMware-Horizon-Client-4.6.0-6617224.x64.bundle.
Some errors after install VMWare Horizon Client
Cannot share folder
The original solution is available here. The reason of this error is that, on Ubuntu 16.04 x64 distributions, the libglibmm-2.4.so.1.3.0 library included in the distribution is incompatible with the current Client Drive Redirection (CDR) implementation. To work around this limitation, copy the libglibmm-2.4.so.1.3.0 library file from an Ubuntu 14.04 x64 distribution (which can be downloaded from here) to your Ubuntu 16.04 x64 distribution.