Search This Blog

Monday, January 6, 2014

Google Chrome profile error on Ubuntu

Lately Google Chrome has been acting strange for me.  Every few times I would open Chrome, I would get an error that "Your profile could not be opened correctly".  However, it was very inconsistent, so the cause was hard to nail down.  When this would happen, I would get about 10 error windows stacked on top of one another, I would press OK several times, and then have to sign in to my profile again using the settings menu.  After a while this started to annoy me, so I started to hunt down a solution.

I am using Chrome 31.0.1650.63 and Ubuntu 13.04 (Xubuntu variant), although the below fixes should apply to most versions until Google fixes the issue.  To check your versions in

Chrome: Go to Settings ()  > About Chrome

Ubuntu: In terminal, lsb_release -a


The fix for me was to kill all the zombie processes that Chrome left behind from the last time(s) it ran.  The easiest way to do this is:
pgrep -l chrome

Make sure that all the processes shown are only chrome.  If they are, then:
pkill chrome


You may also try:
killall -9 chrome
Although this may not work if the pkill chrome command did not work.

You should now check that all chrome processes were killed by issuing the same pgrep -l chrome command.  If so, then restart Chrome and see if you get the same error.  If there are still processes, you may have to go in more depth to make it go away:
ps -ef | grep chrome
Many results may show up, but look for the PID, which is the second column of each line:
benmctee 11841     1  6 07:30 ?        00:02:23 /opt/google/chrome/chrome

11841 is the process ID (PID).  Issue the kill command as follows:
kill -TERM 11841
kill -SIGTERM 11841
kill -15 11841

Repeat the above kill process for each PID that appeared in the ps -ef | grep chrome command.

An alternative way to go about this is to use the top command:
top (opens the process manager)
s (goes to the sort screen)
The display will show all fields like the following window:
Notice how the top line shows %CPU on the far right.  This is what top is currently sorting by.  I don't really care at this point which process is causing the most CPU usage, since I know that we want to kill the Chrome process.  Scroll down to COMMAND, and press s.  Your window should now show COMMAND in the upper right:
Press q to get back to the main top screen.  Everything will be sorted now, but in reverse order:
 Type uppercase R to sort everything alphabetically, and then scroll down to chrome.

Notice that there are a multitude of instances that get started when Chrome runs.  To kill the processes, type k, and then enter the PID of the process you desire to kill, and then press <enter>.  To quit top, type q.

Killing each process can take some time, which is why I prefer to use the pgrep and pkill commands from earlier.

If you still have troubles with Chrome, you can follow other steps as outlined in Saravanan Thirumuruganathan's article over on Wordpress.

Thursday, January 2, 2014

Garmin GPSMap 62S under Ubuntu

I recently picked up Geocaching, thanks to my wonderful parents. It is a highly addictive sport in which caches, mostly small containers with (at a minimum) a paper log sheet inside, are hidden all around the globe. Once a cache is hidden, the cache owner will post its coordinates to geocaching.com, at which point other cachers can use a GPS receiver (GPSr) or a GPS enabled smartphone with the geocaching app installed to search for it. Once found, the cacher will log it as found on the app or website, sign the log, and move on to the next cache. The smartphone way is great for beginners, but oftentimes one must log a DNF (did not find) because phone accuracies are usually no better than 16 ft. This is where the use of a handheld GPSr comes in handy. Models like the Garmin GPSMAP 62s have a geocaching feature, and users can log a find with it and then upload that data once back home and connected to a computer.

This tutorial is meant for users of a Garmin GPSr who also use Ubuntu.  It will install the Garmin plugin, as well as QLandkarte GT, a very useful GPS program written for the Linux OS.

Install:

sudo add-apt-repository ppa:andreas-diesner/garminplugin
sudo add-apt-repository ppa:mms-prodeia/qlandkarte
sudo apt-get update
sudo apt-get install garminplugin qlandkartegt qlandkartegt-garmin

For the most up-to-date location of install files, head on over to:
https://launchpad.net/~mms-prodeia/+archive/qlandkarte
You will still need to add the repository, like in the above steps.

A quick run down of someone using QLandkarte GT for geocaching:
http://sourceforge.net/apps/mediawiki/qlandkartegt/index.php?title=A_Grand_Day_Out

Open QLandkarte by searching for it within the Ubuntu window, or execute qlandkartegt from terminal.  We must first get a map to use within the program.  There are many ways to go about this, and are all based on your preference.  My first stop would be GPS File Depot.  They have many custom maps for Garmin that are ready for download.  Another way to obtain maps if they don't have what you are looking for is to export one directly from OpenStreetMaps (OSM).  The problem with doing it directly from their website is that you are limited to a small number of tiles (I was unable to download the entire island of Oahu).

In order to download larger regions than what OSM allows, I recommend using this link to select the region you would like to download.  From there, you select the region / state / etc, and then go to the download page.  Since we will be using QLandkarte GT, download the "osm_generic_tiles.zip" file.

  1. How to load a map and caches into QLandkarte GT:
    1. Copy this URL: http://mt.google.com/vt/x=%2&y=%3&z=%1
      1. I originally starting writing this article based around Google Maps, but after reading this, I decided that the best support is given (and free) by OpenStreetMaps.
    2. Download your desired region from the link above or here.
    3. Once your zip file has downloaded, unzip the contents into your desired directory (/home/user/geocaching/maps).
    4. In QLandkarte: File > Load Map
    5. Select the file with .tdr as the extension.  Another file dialog will open, and it will ask for an img file, where you will choose the filename_mdr.img (ie 63240000_mdr.img).  Your map will now load into the software.
    6. Generate a Pocket Query on Geocaching.com for the caches you wish to load to your GPSr
    7. Download the pocket query, unzip the GPX file(s), and load those into qlandkarte
      1. File > Load Geo Data > select the GPX file.
      2. To add a second GPX file: File > Add Geo Data.  You will have to choose 'Add Geo Data' vice 'Load Geo Data' when loading waypoints as the GPX data will replace the caches you loaded in the previous step.
    8. You should now have all of the caches that were created in the pocket query layered on top of the Map in QLandkarte GT
  2. Exporting Caches:
    1. File > Export Geo Data > name the file something.gpx (I used 20130311.gpx to indicate the date on which it was created).
    2. Ensure all waypoints are selected, and click OK.
  3. Exporting the Map:
    1. Ensure you are still on the map tab
    2. Choose Map (menu) > Select Sub map
    3. Select an area to export.
    4. Click the name of the selection in the Maps tab, and then click Export map
    5. Select the folder you wish to export to, create a name, select Garmin Custom Map, and click Export
    6. Connect your Garmin to your computer and copy the newly created img file to the Garmin folder on your GPSr's SD card.  Please note that you must have the same directory structure on the SD card as in the default Garmin internal storage.
      1. As you can see, I have two volumes mounted, GARMIN and 7.9 GB Volume.  The 7.9 is the SD card and the GARMIN is the GPSr internal storage.  I drop the .img files in the 7.9\Garmin root directory, and the cache file into the GPX directory.  The CustomMaps directory is empty, and is probably left over from previous experiments.  I had no success in being able to open the custom map on the GPSr when I copied the img file to that directory.
    7. While you are here, also upload the GPX file to the GPX folder.  Both the GPX folder and the Custom Maps folder are under the Garmin directory.

That's it!  Unmount the GPSr and try it out.

If you run into problems with QLandkarte not doing something because of permissions, try running it as sudo from the terminal: sudo qlandkartegt

As always, please leave a comment below if you find any of these instructions incomplete or wrong.  I would greatly appreciate a more efficient way of going about updating the Garmin within Ubuntu, so if you have any tips, please let me know.  I keep looking at Open Cache Manager as a way to manage things the way the Windows folks do with GSAK, but it has no map export feature as of yet, so that's off the table.  However, it's a great cache manager tool, and you should check it out at their website.