Opencpn(1)

NAME
opencpn - Chartplotter and GPS Navigation Software

SYNOPSIS
opencpn [options]

DESCRIPTION
OpenCPN is a chartplotter and navigation GUI program supporting navigation under way as well as planning. It supports a wide range of chart formats using a plugin system. Other plugins provides support for e. g. radar, AIS and weather maps. Program is localized in 20+ languages and ported to several OS including MacOS, Windows and Linux.

OPTIONS FOR STARTING OPENCPN

-h, --help
    Show help info.

-p, --portable
    Run in portable mode.

-l, --loglevel=<level>
    Set amount of logged information. Level is any of trace, debug, info, message, warning or error, defaulting to info if not set in environment; see ENVIRONMENT.

-c, --configdir=<directory>
    Use alternative configuration directory instead of ~/.openpcn on Linux or MacOS. -f, --fullscreen Switch to full screen mode on start.

-G, --no_opengl
    Disable OpenGL video acceleration. This setting will be remembered.

-g, --rebuild_gl_raster_cache
    Rebuild OpenGL raster cache on start.

-D, --rebuild_chart_db
    Rescan chart directories and rebuild the chart database

-P, --parse_all_enc
    Convert all S-57 charts to OpenCPN's internal format on start.

-u, --unit_test_1:<num>
    Display a slideshow of <num> charts and then exit. Zero or negative <num> specifies no limit.

-s, --safe_mode
    Run without plugins, openGL and other possibly problematic features. It is still possible to unintall plugins in this mode.

OPTIONS FOR MANIPULATING RUNNING OPENCPN

-r, --remote
    Run commands on a running instance instead of starting opencpn. Exits with error code if no running opencpn instance is found.

-R, --raise
    Raise opencpn window to be on top of other windows, requires --remote. This is the default behaviour if opencpn is invoked without options and arguments and there already is a running instance.

-e, --get_rest_endpoint
    Print the url for connecting to the local opencpn REST server e. g. http://localhost:8000. Requires --remote.

-q, --quit
    Make the remote instance exit. Requires --remote.

PLUGIN LOADING
Plugin loading depends on that the opencpn main program can locate the plugin object file and that the plugin can locate it's own data.

On Linux, the main program searches for plugin .so-files in two locatiosn. The first is ~/.local/lib/opencpn. The second is @install-dir@/../lib/opencpn where @install-dir@ is the location where opencpn is installed. If for example opencpn is installed in /usr/bin plugins will be loaded from /usr/lib/opencpn.

On other platforms plugins are also loaded from two different locations, one of which used primarely for system plugins and requiring administrative privileges. The other is a user-writable locations used by the plugin manager.

A plugin's data directory is a path ending with opencpn/plugins/<plugin_name>. On Linux, this is by default searched in ~/.local/share:/usr/local/share:/usr/share. This search path is overridden by XDG_DATA_DIRS as defined by the freedesktop spec. Only plugins adapted for this (i. e., using GetPluginDataDir()) handles this properly.

On other platforms plugin data directories are located in similar locations which also must be retrieved in runtime using GetPluginDataDir().

LIBRARY LOADING AND LD_LIBRARY_PATH
If LD_LIBRARY_PATH exists in the environment opencpn uses it without modifications.

Otherwise LD_LIBRARY_PATH is set to the same path as from which plugins are loaded, see above. This ensures that helper binaries can load possible libraries installed in the same directories as the plugin.

ENVIRONMENT

OPENCPN_PLUGIN_DIRS
    Plugin load path, see PLUGIN LOADING. If existing, overrides all default entries. The path is ';'-separated on Windows but uses ':' on other platforms.

OPENCPN_LOGLEVEL
    Default loglevel if not defined on command line using -l/--loglevel. See the --loglevel option for allowed values.

OPENCPN_FATAL_ERROR
    If defined, displays the message and exits on startup.

FILES

~/.opencpn/opencpn.log
    System log file, a useful tool to solve problems.

SEE ALSO
https://www.opencpn.org
https://www.freedesktop.org
https://opencpn-manuals.github.io/main