JOSM is the Java OpenStreetMap editor for use with the OpenStreetMap project (

This page is solely for Ubuntu related information and installation instructions. For a more in-depth guide and some tutorial material, please visit the OSM wiki page for JOSM.

Warning: current breakage

The JOSM package in Ubuntu has been broken since April 2009 (bug report) (though this has been fixed in Karmic). The package does not work with the new server API. If you prefer not to install manually, a quick workaround is to install the package (and dependencies) via the package manager first, and overwriting /usr/share/josm/josm.jar with the package from the website (rename the download to josm.jar)

Installation on Ubuntu

The OpenStreetMap project has been around for several years now and the best currently developed editor (JOSM) has only recently been packaged for Debian and Ubuntu. While the MOTU maintained package should be your first choice, you can still use this installation guide to use the project's main development jar file directly.

Installing JOSM

JOSM is available from the Universe repositories for the first time in Ubuntu 8.04. So you can install the package josm very quickly and easily through your favourite package manager. The downside of this is that JOSM is very much a fast moving target and has changed rapidly of the last few months. To take advantage of the bug fixes and new features you may want to download the very latest version. See the following section to install manually.

Manually Installing JOSM

If have a version of Ubuntu older than 8.04 or just want to install JOSM manually then follow these instruction.

Installing Java

As the name implies JOSM requires a Java runtime environment to work. Ubuntu 8.04 has a version of GNU's GCJ that is compatible with JOSM. Unfortunately previous version of Ubuntu will require you to have Sun's JRE of at least v1.5, which is simple to install through Synaptic. Please note this requires the universe repository.

Warning /!\ Ensure the Java path is set to the latest Java version. See the Java wiki page for more details.

Downloading JOSM

Click here to download the latest version of JOSM.

You may also want to take a look at the recent changelog.

Now you can start JOSM by simply running the following command from a terminal using the path to the JOSM jar file.

java -jar ~/Desktop/josm-latest.jar

Note that JOSM can use a lot of memory, so it may pay to run something like java -Xmx512M -jar ...

Desktop Integration

For better integration into the Ubuntu desktop use the following steps (please note that sudo access will be required):

  • Move the jar file to the /usr/share/java folder.

sudo mv ./Desktop/josm-latest.jar /usr/share/java/ 
  • Download the menu icon, rename it to josm.png and place it in the /usr/share/pixmaps/ directory.

sudo mv ./Desktop/logo.png /usr/share/pixmaps/josm.png 
  • Use the following code to create a josm.desktop file place it in the /usr/share/applications/ directory.

[Desktop Entry]
Comment=Import GPX files and upload Open Street Map data
Exec=java -jar /usr/share/java/josm-latest.jar

Now you should have an entry for JOSM in your desktop menu, the exact location will depend on which desktop you are using.

Updating JOSM

You only have to download a newer josm-latest.jar file to update JOSM to the latest daily build. I would recommend that you do this on a monthly basis if you want to keep up with bug fixes and new features.

Sometimes there will be changes to the default startup settings of JOSM. You will not see these changes until you update your ~/.josm/preferences file. The quickest way is generate a new one by simply renaming/deleting the file and restarting JOSM. Please bear in mind that if you do this you will lose your current settings such as the upload logon information, if you chose to save it earlier.


xcb_xlib_unlock: Assertion `c->xlib.lock' failed.
Aborted (core dumped)

If you receive the error this error, try running the following command.


Another reported workaround is:

sudo sed -i 's/XINERAMA/FAKEEXTN/g' /usr/lib/jvm/java-6-sun-

Take care of the path, it changes with java release and architecture (ie, java-6-sun... and i386)

This page was originally based on this thread.

JOSM (last edited 2009-12-10 15:59:14 by alex.sutcliffe)