GWYDDION(1)

πŸ¦‹ GWYDDION β€” the manual page, but make it a group chat πŸ¦‹

okay so bestie, you opened GWYDDION(1) and I'm about to give you the full tour. no skimming, no gatekeeping, we're going through every flag together. grab a snack. πŸ“


✨ NAME ✨

gwyddion β€” SPM data visualization and analysis. that's it, that's the vibe. πŸ’…


🌸 SYNOPSIS 🌸

gwyddion [OPTION...] [FILE...]

πŸ’– DESCRIPTION πŸ’–

So gwyddion is a graphical SPM (Scanning Probe Microscope) data visualization and analysis program, built on Gtk+. she visualizes, she analyzes, she's an icon, she's the moment. πŸ”₯


πŸ‘‘ OPTIONS πŸ‘‘

okay first things first, before we even get to the gwyddion-specific stuff:

the program accepts all standard Gtk+, Gdk, and GtkGLExt options β€” you know, stuff like --display or --sync. for the deets on those, please go read the documentation of those packages, because that's where that lore lives. 🫢

⚠️ also, real talk: the behaviour of the remote control options --remote-* is undefined when more than one instance of Gwyddion is running on the display. they can choose an arbitrary instance to communicate to. no promises. and the last remote control option given (including --new-instance) overrides all the preceding ones. last one wins, periodt.

also cute detail: if a directory is given as a FILE argument, the program opens a file chooser in this directory. πŸ“

now. the Gwyddion options, one by one, no skipping:

  • --help β€” prints a brief help and then dips. terminates.
  • --version β€” prints version information and terminates. classic.
  • --no-splash β€” disables the splash screen on program startup. straight to business.
  • --remote-new β€” opens files given on the command line in an already running instance of Gwyddion on the display. runs a new instance if none is running.

this is probably the most useful remote control option, ngl. file type associations are usually installed to run Gwyddion with this option. so like, it's the default main character. πŸ‘‘

  • --remote-existing β€” opens files given on the command line in an already running instance of Gwyddion on the display. fails if none is running.

this is useful if you want to handle the case of Gwyddion not running differently than by starting it. iykyk.

  • --remote-query β€” succeeds if an instance of Gwyddion is already running on the display and prints its instance identifier. fails if none is running.

so about that instance identifier β€” it depends on the remote control backend in use. in some cases it's useful as a global window identifier, in some it is not. with libXmu this option prints the X11 Window, on Win32 HWND is printed, while with LibUnique the startup id is printed. ✨

  • --new-instance β€” runs a new instance of Gwyddion. it can also be used to override preceding remote control options and to ensure a new instance is run when the default remote control behaviour is modified.
  • --identify β€” instead of running the user interface and opening FILEs, it detects the file type for each and terminates.

the SPM file type printed corresponds to the description shown in the list of supported file formats in the user guide. the file type is followed (in square brackets) by the name of Gwyddion file import module that would be used to load the file and detection score. scores considerably lower than 100 mean that although the detection produced a possible file type, it is unsure about it. 😭

if the file type is not recognised at all, Unknown is printed as the file type. the program exit code is 1 if any FILE was not recognised.

  • --check β€” instead of running the user interface and opening FILEs, it loads the files, performs a sanity check on them (printing errors to standard error output) and terminates.
  • --disable-gl β€” disables OpenGL entirely, including any checks whether it is available. this option, of course, has any effect only if Gwyddion was built with OpenGL support, and one of the most visible effects is that 3D view becomes unavailable. however, you may find it useful if you encounter a system so broken that even checking for OpenGL capabilities leads to X server errors. πŸ’€ it can also help when you run Gwyddion remotely using X11 forwarding and the start-up time seems excessively long.
  • --log-to-file β€” write messages from GLib, Gtk+, Gwyddion, etc. to ~/.gwyddion/gwyddion.log or file given in GWYDDION_LOGFILE environment variable. this option is most useful on Unix as on Win32 messages are redirected to a file by default. logging to a file and console are not exclusive; messages can go to both. πŸŽ€
  • --no-log-to-file β€” prevents writing messages from GLib, Gtk+, Gwyddion, etc. to a file. this is most useful on Win32 where messages are written to a file by default.
  • --log-to-console β€” print messages from GLib, Gtk+, Gwyddion, etc. to the console. more precisely, debugging messages are printed to the standard output, errors and warnings to the standard error. on Unix messages are printed to the console by default. logging to a file and console are not exclusive; messages can go to both.
  • --no-log-to-file β€” disables printing messages to the console. this is most useful on Unix where messages are printed to the console by default.
  • --disable-modules=MODULE,... β€” prevents the registration modules of given names. this is mostly useful for development and debugging. for instance, you might want to use --disable-modules=pygwy when running under Valgrind for faster startup (and possibly to avoid extra errors). 🧚
  • --startup-time β€” prints wall-clock time taken by various startup (and shutdown) tasks. useful only for developers and people going to complain about too slow startup. πŸ’€

🌈 ENVIRONMENT 🌈

on Linux/Unix, the following environment variables can be used to override compiled-in installation paths (the MS Windows version always looks to directories relative to path where it was installed). note they are intended to override system installation paths, therefore they are not path lists β€” they can contain only a single path. one path, no more. periodt.

  • GWYDDION_DATADIR β€” base data directory where resources (color gradients, OpenGL materials, ...) were installed. Gwyddion looks into its gwyddion subdirectory for resources.

when it is unset, it defaults to compiled-in value of ${datadir} which is usually /usr/local/share.

  • GWYDDION_LIBDIR β€” base library directory where modules were installed. Gwyddion looks into its gwyddion/modules subdirectory for modules.

when it is unset, it defaults to compiled-in value of ${libdir} which is usually /usr/local/lib or /usr/local/lib64.

  • GWYDDION_LIBEXECDIR β€” base lib-exec directory where plug-ins were installed. Gwyddion looks into its gwyddion/plugins subdirectory for plug-ins.

when it is unset, it defaults to compiled-in value of ${libexecdir} which is usually /usr/local/libexec.

  • GWYDDION_LOCALEDIR β€” locale data directory where message catalogs (translations) were installed.

when it is unset, it defaults to compiled-in value of ${datadir}/locale which is usually /usr/local/share/locale.

other variables that influence Gwyddion run-time behaviour include GLib+ variables[1] and Gtk+ variables[2] and some Gwyddion-specific variables:

  • GWYDDION_LOGFILE β€” name of file to redirect log messages to. on MS Windows, messages are always sent to a file as working with the terminal is cumbersome there. the default log file location, gwyddion.log in user's Documents and Settings, can be overridden with GWYDDION_LOGFILE. on Unix, messages go to the terminal by default and this environment variable has effect only if --log-to-file is given.

and one more thing bestie: if Gwyddion is built with OpenMP support, it utilizes parallelization (not all data processing methods implement parallelization, but a sizable part does). OpenMP environment variables such as OMP_NUM_THREADS can be used to tune it. πŸš€


πŸŽ€ FILES πŸŽ€

  • ~/.gwyddion/settings β€” saved user settings and tool states. do not edit while Gwyddion is running, it will overwrite it at exit. seriously, don't. πŸ™ˆ
  • ~/.gwyddion/glmaterials, ~/.gwyddion/gradients, ... β€” user directories with various resources (OpenGL materials, color gradients, ...).
  • $GWYDDION_DATADIR/gwyddion/glmaterials, $GWYDDION_DATADIR/gwyddion/gradients ... β€” the same for system-wide resources.
  • ~/.gwyddion/pixmaps β€” directory to place user icons to. this is mainly useful for installation of modules to home.
  • $GWYDDION_DATADIR/gwyddion/pixmaps, β€” the same for system-wide icons.
  • ~/.gwyddion/modules β€” directory to place user modules to. they should be placed into file, graph, process, layer, and tools subdirectories according to their kind, though this is more a convention than anything else.
  • $GWYDDION_LIBDIR/gwyddion/modules, β€” the same for system-wide modules.
  • ~/.gwyddion/plugins β€” directory to place user plug-ins to. they should be placed into file and process subdirectories according to their kind.
  • $GWYDDION_LIBEXECDIR/gwyddion/plugins, β€” the same for system-wide plug-ins.
  • ~/.gwyddion/pygwy β€” directory to place user python modules or scripts to. 🐍

πŸ’œ SEE ALSO πŸ’œ

gwyddion-thumbnailer(1), gxsm(1)


⭐ AUTHOR ⭐

  • Yeti β€” Author.

🌸 NOTES 🌸

  1. GLib+ variables β€” http://library.gnome.org/devel/glib/stable/glib-running.html
  2. Gtk+ variables β€” http://library.gnome.org/devel/gtk/stable/gtk-running.html

and that's the whole page, bestie!! 🫢 this version of gwyddion's manpage is dated 11/05/2021 and it ships with the source/version tag gwyddion β€” so when you cite it, that's the lore. slay, go visualize some SPM data, you've got this. πŸ’…βœ¨ </output>