• Chromecast not connecting to Wifi

    1.0 Problem

    A change of Wifi network necessitated that the same be changed for a working chromecast device. When the chromecast was reconfigured using the Google Home app, it would not communicate with the new Wifi network. An error message was printed and the configuration session would end.

    2.0 Solution

    The problem was solved by doing a hardware ...

  • Gimp: How to stack the main window over the toolbox and layer windows

    When Gimp is installed fresh, the toolbox and layers windows are stacked on top of the main window and it is not possible to get the main window on the top. This can be quite annoying since one works mostly on the main window and the other two are required only ...

  • Everything is too small on desktop at 1080p

    After installing Ubuntu Linux on a laptop with screen resolution 1920x1080 pixels or more, you may find that the icons and text appear to be small. You can alleviate the problem by taking the following steps.

    1. Install gnome-tweak-tool

    $ sudo add-apt-repository universe
    $ sudo apt-get install gnome-tweak-tool

    2. Run gnome-tweak-tool

    1. Click on "Show Applications" to sell all ...
  • Wacom tablet not connecting with Ubuntu Linux

    1.0 Error

    Wacom One CTL-672/KO-CX tablet was not connecting with a laptop running Ubuntu Linux 18.04 LTS. It was working fine earlier, with the wacom driver obtained from the Linux Wacom Project. The Linux kernel on the laptop had been updated recently. The following error messages were observed.

    $ lsusb | grep ...
  • Connecting Wacom One CTL-672/KO-CX tablet to Ubuntu Linux

    Wacom CTL-672 connected to computer running Ubuntu Linux

    Wacom One CTL-672/KO-CX is an 8.5 inch x 5.3 inch graphic tablet which can be connected to a computer via a USB port. The tablet comes with a pressure sensitive cordless ...

  • nginx 502 Bad Gateway

    1.0 502 Bad Gateway

    nginx 502 Bad Gateway

    After the update of Linux on the web server, the website would not open in the browser. Instead the following error was displayed.

    502 Bad Gateway

    2.0 Solution

    First we check the nginx server.

    $ ...
  • MCE hardware error cpu 0

    1.0 Error


    While running Ubuntu 18.04.1 on a laptop, the following errors were observed.

    mce: hardware error cpu 0 machine check 0 bank 6 ae0000000040110a
    mce: hardware error tsc 0 addr ffb07540 misc 238a0000086
    mce: hardware error processor 0:40651 time 1540082330 socket 0 Apic 0 microcode 24
    ipmi dmi invalid offset 0

    The system would stop in ...

  • Failed to fetch webpage, temporary failure resolving domain

    1.0 Error

    While configuring a Linux server, the error Failed to fetch webpage, temporary failure resolving domain was observed.

    $ sudo apt-get update
    Err:1 ... bionic InRelease
      Temporary failure resolving ...
    Err:2 ... bionic-updates InRelease
      Temporary failure resolving ...
    Reading package lists... Done
    W: Failed to fetch ...  Temporary failure resolving ...

    Also, the

  • Composer Manager: Composer’s install command must be run

    1.0 Error

    After updating the Drupal 7 version in a website, the following error was observed in the configuration of the Composer Manager module.

    Composer Manager: Composer's install command must be run to generate the autoloader and install the required packages.

    The above message was followed by the status of packages managed by the Composer. ...

  • Drupal: Notice: Trying to get property of non-object in block_block_view()

    1.0 Error

    After updating the website to a new version of Drupal 7, the following error was printed on the web pages.

    Notice: Trying to get property of non-object in block_block_view() (line 247 of modules/block/block.module).

    2.0 Resolution

    The error was resolved by the following steps.

    2.1 Turn off block caching

    From the Administration menu, Select Configuration --> ...

  • Dovecot: Fatal: Error in configuration file /etc/dovecot/dovecot.conf: protocols: Unknown protocol: sieve

    1.0 Error:

    While configuring the Dovecot Mail Delivery Agent, the Dovecot server would not start and the following error messages were printed.

    $ sudo systemctl start dovecot
    Job for dovecot.service failed because the control process exited with error code. See "systemctl status dovecot.service" and "journalctl -xe" for details.
    $ systemctl status dovecot.service
    ● dovecot.service - Dovecot IMAP/POP3 ...
  • How to execute PHP code in HTML under nginx server

    1.0 Error

    PHP code was not getting executed in the index.html file when the concerned website was opened in a browser. nginx server was being used to serve the web pages.

    2.0 Solution

    2.1 Install php7.0-fpm

    $ sudo apt-get install php7.0-fpm
  • SSL Certificate expired, site not opening

    1.0 ERROR

    A website stopped opening in browser, giving the error that the SSL certificate was either invalid or had expired.


    Checking the website with wget,

    $ wget
    --2018-01-14 16:58:36--
    Resolving (, 2001:db8:1221:2341:f03c:f27b:12fa:2123
    Connecting to (||:443... connected.ERROR: cannot verify's certificate, issued by ‘CN=Typical Encryption Authority X3,O=Typical Encryption,C=XX’:
  • How to preserve exif metadata in images in Linux

    1.0 Exif metadata not preserved by image editing program

    Problem: After an image is developed and edited by image editing software and saved in a format like JPEG, it does not have the Exif metadata.

    2.0 Solution

    Surprisingly, quite a few image editing programs do not preserve the Exif metadata of images and attempts ...

  • How to add the IPTC metadata in photographs using exiv2 in Linux

    1.0 Adding the IPTC metadata

    After a photograph has been taken and processed, it might be necessary to add IPTC metadata before it can be published. If your image editing software does not support adding of IPTC metadata to the image, you can accomplish this is by using the exiv2 command ...

  • How to get the value of Pi in bc calculations

    1.0 π

    While using bc for calculations, the value of π is sometimes required. Sure, you might remember it as 3.1416, but it is better to use a higher precision value. And it's quite simple to do that.

    First, we need to start bc with the option ...

  • Error while executing the dig command

    1.0 Error

    While executing the dig command, the sendmsg() failed: Operation not permitted error was printed.

    $ dig
    ../../../../lib/isc/unix/net.c:581: sendmsg() failed: Operation not permitted
    ../../../../lib/isc/unix/net.c:581: sendmsg() failed: Operation not permitted

    2.0 Solution

    The error was resolved after adding the following iptables rules.

    iptables -I OUTPUT 1 -p udp ...
  • Analyzing the NGINX web server log file

    1.0 Introduction

    Given an nginx web server log file, we might like to know who are the visitors to our website. One can go line by line through the log file, but that is tedious. It would be nice if we can get one line per client visiting the website, giving the IP ...

  • Android adb install failure INSTALL_PARSE_FAILED_NO_CERTIFICATES

    1.0 Error

    A signed APK of an Android app was built using the Android Studio. When we tried to download the signed APK to a device using the adb command, the command failed with the error, INSTALL_PARSE_FAILED_NO_CERTIFICATES.

    $ adb install app-release.apk 
    app-release.apk: ...
  • nginx drupal sitemap 404 not found

    1.0 Error

    While trying to open sitemap.xml of a site served by nginx and built using Drupal CMS, the 404 Not Found error was received. The nginx log file, error.log gave the error as, 80 open() sitemap.xml failed (2: No such file or directory).

    2.0 ...

  • optipng: Error: Can’t back up the existing output file

    1.0 Error

    While running optipng on a png file, the following error was obtained,

    Error: Can't back up the existing output file

    2.0 Solution

    The file was not having the write permission. Once, the write mode bit for the file was set, optipng worked fine.

    $ ls -ls ...
  • Getting a project from GitHub

    1.0 Scenario

    While searching on a topic, you land up on a GitHub page with code. The code looks interesting. But you can not work on it on GitHub. You need to get it on your computer to work on it. How to get it on your computer?

    2.0 Solution: Get the repository

    The code displayed on the ...

  • Failed to send 300 byte long packet over fallback interface

    1.0 Error

    While configuring a server, the following errors were noted in the logfiles.

    send_packet: Operation not permitted
    dhclient.c:2386: Failed to send 300 byte long packet over fallback interface.
    DHCPREQUEST on eth0  port 67 (xid=0x1580bfd0)

    2.0 Solution

    There are two possibilities depending upon whether DHCP is being used for getting the network IP address or not.


  • Dovecot: imap Error: open (/var/mail/username) failed


    While configuring mail on a Ubuntu Linux server running the Postfix mail server and Dovecot IMAP server, the following errors were observed in the mail log files,

    dovecot: imap(user1): Error: open(/var/mail/user1) failed: Permission denied (euid=1002(user1) egid=1002(user1) missing +w perm: /var/mail, we're not in ...
  • Not able to access files on Android device in Nautilus from Linux desktop

    1.0 Error

    After connecting an Android based phone with a Linux desktop using the USB cable, the files on the device are not shown by the Nautilus file manager. After clicking the tab for the device, an empty screen is displayed.

    1.0 Error


    The login form for a Drupal based site had the username, password and recaptcha fields. However, instead of showing the image and input box, recaptcha displayed ERROR for site owner, Invalid domain for site key. Thus, it became impossible to login to the site. This effectively locked access to the administration ...

  • Android: AdbCommandRejectedException getting properties for device


    From Android Studio, the connection to the device for debugging was not getting established. The ADB logs gave the repeated error,

    PropertyFetcher: AdbCommandRejectedException getting properties for device ????????????: insufficient permissions for device


    1. As described in the documentation, Using Hardware Devices, a file /etc/udev/rules.d/51-android.rules was created.
    2. Using the
    3. Error while loading shared libraries:


      While building an Android app project under Studio, the build process terminated with the error,

      /home/user1/Android/Sdk/build-tools/22.0.1/zipalign: error while loading shared libraries: cannot open shared object file: No such file or directory
      Error:Execution failed for task ':app:zipalignDebug'.
      > Process 'command '/home/user1/Android/Sdk/build-tools/22.0.1/zipalign'' finished with non-zero exit value 127


      The problem was resolved by installing the

    4. Unable to establish a connection to adb

      1.0 Problem

      After opening an Android project in Studio running under Ubuntu 15.04 Linux, the following error was displayed,

      Unable to establish a connection to adb. This usually happens if you have an incompatible version of adb running already. Try reopening Studio after killing any existing adb daemon.

      2.0 ...

    5. Invalid Gradle JDK configuration found

      1.0 Problem

      After starting Android studio, running on Ubuntu 15.04 Linux, the following error was reported:

      Invalid Gradle JDK configuration found. Open Gradle Settings. Platform SDK does not point to valid SDK (/usr/lib/jvm/jdk1.8.0_40).

      2.0 Solution

      The problem was solved by clicking in Android Studio, File -> Project Structure -> SDK Location. Under JDK location, enter the ...

    6. Using Git

      1.0 Introduction

      Git commands for common source code management use cases are listed.

      2.0 Install Git

      On a Ubuntu Linux system, Git can be installed with the command,

      $ sudo apt-get install git

      3.0 Set Identity

      Before using Git, the user's identity (name, email) has to be set

      $ git config --global ...
    7. Importing an Android Studio project in Git

      1.0 Introduction

      Importing an Android Studio project into Git is easy. First create the project or import an existing project in Android Studio. In this case a placeholder project HelloWorld was created. The directory listing of the project root directory looks like this.

      $ ls -lsa
      total 60
      4 drwxrwxr-x ...
    8. Bash idioms

      In a nutshell

      bash idioms are tiny scripts, mostly one-liners, that accomplish a lot and can be used as building blocks in bigger scripts.

      1.0 Find most frequent words

      Suppose we have a bunch of text files and we wish to find the most frequently used words ...

    9. Posting images on Twitter

      It is fun posting images on Twitter but we often see that only a part of the image is visible in the stream of tweets. One has to click on the visible part to see the full picture. How to ensure that the full image becomes visible in the tweet stream? The answer lies in ...

    10. Getting WordPress to work with Varnish 4.0

      With Varnish 4.0, the VCL has changed. So an update from Varnish 3 .0 to Varnish 4.0 requires a change in the VCL file, /etc/varnish/default.vcl. As a part of Varnish cache server configuration for a WordPress based site, using nginx web server, the following VCL is ...

    11. Drupal: Web page stuck in maintenance mode


      After a Drupal based site came out of the maintenance mode, one particular web page was found to be stuck in the maintenance mode. It showed the message that the site was under maintenance, while the other web pages were displayed correctly.


      The problem was resolved by clearing the cache. In the administrative menu, the Flush ...

    12. nginx 502 Bad Gateway Error


      A routine software update on the server running nginx was done. After that the website stopped opening in the browser window and 502 Bad Gateway error along with the nginx version number was displayed. Looking in the log file showed an entry like,

      2014/06/26 11:09:53  2539#0: *15 connect() to ...
    13. How to redirect non-www URLs to www in Varnish

      If a website's canonical URL has www, it is desirable, as a good SEO practice, to redirect the non-www URLs to www. That is, if the canonical URL is, should be redirected to How to do this when Varnish is listening on port 80 as a reverse HTTP proxy is given below ...

    14. Trigonometric calculations with bc

      bc, the basic calculator under Linux and UNIX environments, provides commands for doing arbitrary precision mathematical calculations. The syntax for basic arithmetic functions is intuitive. Here, we look at the commands for doing trigonometric calculations.


      The global scale variable gives the number of digits after the decimal point. By ...

    15. Unity launcher stays at the left, does not auto-hide

      Problem: After login in the Ubuntu Linux system, the Unity launcher stays at the left edge of the display. It does not auto-hide.

      Solution: Click on the Settings icon in the top right corner of the display. You will find tabs like Wi-Fi, Bluetooth, Background, etc. in the left column. ...

    16. Repairing Drupal site blocks manually in database

      The text format of a block was PHP code and it contained PHP code with an error. This broke the website resulting in blank screen web pages, the white screen of death (WSOD). The error was rectified by manually updating the MySQL database. The following steps were taken.

      From the command line, connect with the website ...

    17. Not able to login

      Problem: Not able to login to Ubuntu Linux system because the disk partition containing the HOME directory has become full.


      • Press CTRL ALT F1 together to switch to text mode and try to login.
      • After login, check the free space in disk partitions ...
    18. Wireless is disabled by hardware switch

      While configuring the wired network on Ubuntu 12.04 Linux laptop, the wireless network connection broke down suddenly. On clicking the networking icon on the top panel, no wireless networks were displayed on the NetworkManager applet and a message Wireless is disabled by hardware switch was reported. The laptop wireless switch was in ...

    19. Connecting two computers with Ethernet LAN cable

      Quite often, we wish to connect two computers back to back using an Ethernet LAN cable. It may be because we wish to transfer files between the two computers or because one of these has the Internet access and we wish to have one more access point to the Net. The step by step instructions ...

    20. Nginx 502 bad gateway error after switching off the mobile theme

      The WPtouch plugin gives a WordPress website the capability to be displayed on mobile devices using a suitable theme. At the end of the web page, there is a toggle button to switch off the mobile theme and use the default desktop theme. That is, a user can toggle ...

    21. Nginx installation and configuration

      The configuration is nginx HTTP server, PHP FastCGI Process Manager (PHP-FPM), and the Alternative PHP Cache (APC).


      The first step is to download the nginx software from the Nginx website. If using the Ubuntu distribution, following are the steps,

      (i) Download the nginx signing keys from ...

    22. Formatting the man command output for printing

      1. Limiting the width of Linux man command output

      Quite often, we need to print the output of the Linux man command. One way is to redirect the man command output to a file, open the file in LibreOffice Writer and export to PDF. The PDF can, later, be ...

    23. Starting a network server after communication interface is up

      If you have a program that communicates over the network interface, say, eth0 and you wish to start the program automatically after the system startup, you need to ensure that the program starts after the interface eth0 is up. For Linux systems using the Upstart process ...

    24. md5sum: no properly formatted MD5 checksum lines found

      md5sum is used for printing or checking a file's 128-bit MD5 checksum. One can download a file on the Internet and also download its checksum. The md5sum command can, then, be used to verify whether the file has been correctly received. Also, while providing a link for download for a file on a web page, ...

    25. Remote Display With the X – Window System

      X - Window system is a network-transparent window system. X11 server is the display server that manages the output on the bit-mapped display hardware. An application (or client) does the work and sends requests to the X11 server, or simply, the X server for display. The client application and the X server are usually located ...

    26. JRobin: Not able to save graph as a PNG file


      Not able to save graph as a PNG file.  
      Compilation error: cannot find symbol  
       symbol  : method saveAsPNG(java.lang.String,int,int)  


      saveAsPNG does not seem to be there in JRobin anymore. Use the RrdGraph.render (java.awt.Graphics g) method. For example,

    27. Watermarking images using GIMP

      After having created images with hard work, you wish to protect your copyright on the images. Watermarking the images is an excellent method prevent any commercial misuse of images. And it can be done easily using the wonderful open source image editing software, Gimp.

      We will look at the process of watermarking images with an example. ...

    28. Making a logo using GIMP

      If you are looking for Xtns menu of toolbox, don't, as, starting with Gimp version 2.6 the Gimp developers have removed the toolbox menu bar and merged it with the image window menubar. To make a logo, go to the image window menu bar. Select File -> Create -> Logos. Under Logos, you may ...

    29. kernel panic – not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

      A new Linux kernel was built using the commands, make gconfig, make, sudo make install and sudo make modules_install. After building a new Linux kernel and booting from it, the boot process halts with the following message:

      kernel panic - not syncing: VFS: Unable to mount root fs on ...
    30. Gtk-WARNING **: cannot open display:

      While running a GTK+ based C program under Cygwin, the following runtime error is observed,

      Gtk-WARNING **: cannot open display:


      1. Make sure that Cygwin/XServer is installed and is running. If it is not installed, download the relevant packages from Cygwin.

      2. Make sure that environment variable ...
    31. cygwin1.dll not found

      A C program was compiled under Cygwin and run directly under Windows. The following runtime error was observed,

      cygwin1.dll not found


      Make sure that the environment variable, PATH, has the directory C:\gygwin\bin which contains the dll, ...

    32. Mounting Windows partitions under Linux

      Multi-boot systems with Linux and Windows are quite common. With the following steps, it is easy to access Windows partitions under Linux.

      1. Examine the disk partitions. For example,

      sudo fdisk -l

      gives the output,

       Disk /dev/sda: 160.0 GB, 160041885696 bytes 
      255 heads, 63 sectors/track, 19457 cylinders 
      Units = cylinders of ...