AppImages > Graphics > lux


Screenshot of lux

lux is a viewer for 'ordinary' images, panoramas and panorama specifications in PTO format, made by, e.g., hugin. The view can be zoomed, panned, rotated, made brighter/darker etc. It supports a wide range of image formats, like JPG, PNG, TIFF and openEXR - image I/O is done with libvigraimpex.

lux supports 'flat' and rectilinear images and several panoramic projections: spherical, cylindrical, stereographic, and fisheye, both for the source image and the view. For images made with a camera or smartphone which have appropriate metadata, lux will show a perspective-corrected view.

lux can also stitch panoramas, and fuse or HDR-merge exposure brackets specified in a PTO file made with, e.g., hugin. It can not do image registration. Many PTO features are supported, including panoramas with stacks. lux provides it's own implementation of the Burt&Adelson image splining algorithm for seamless stitching and exposure fusion, working directly from the source image set with no intermediate images.

What's seen on-screen can be exported as a 'snapshot'. lux is also good for slide shows, especially when the image set is a mixed bunch, containing normal images and panoramas. Panoramas are recognized by their metadata, so they are displayed correctly, and the user does not have to switch between using an image and a panorama viewer.

lux is extremely configurable, especially when used from the command line. It provides it's own type of script file, which is similar to ini files, with simple key=value syntax. You can find a listing of the options via the 'help' link.

Authors: kfj


lux is available as an AppImage which means "one app = one file", which you can download and run on your Linux system while you don't need a package manager and nothing gets changed in your system. Awesome!

AppImages are single-file applications that run on most Linux distributions. Download an application, make it executable, and run! No need to install. No system libraries or system preferences are altered. Most AppImages run on recent versions of Arch Linux, CentOS, Debian, Fedora, openSUSE, Red Hat, Ubuntu, and other common desktop distributions.

Running lux on Linux without installation

Unlike other applications, AppImages do not need to be installed before they can be used. However, they need to be marked as executable before they can be run. This is a Linux security feature.

Behold! AppImages are usually not verified by others. Follow these instructions only if you trust the developer of the software. Use at your own risk!

Download the lux AppImage and make it executable using your file manager or by entering the following commands in a terminal:

chmod +x ./*.AppImage

Then double-click the AppImage in the file manager to open it.

Sandboxing lux

If you want to restrict what lux can do on your system, you can run the AppImage in a sandbox like Firejail. This is entirely optional and currently needs to be configured by the user.

Updating lux

If you would like to update to a new version, simply download the new lux AppImage.

Integrating AppImages into the system

If you would like to have the executable bit set automatically, and would like to see lux and other AppImages integrated into the system (menus, icons, file type associations, etc.), then you may want to check the optional appimaged daemon.

Note for application authors

Thanks for distributing lux in the AppImage format for all common Linux distributions. Great! Here are some ideas on how to make it even better.

Pro Tips for further enhancing the lux AppImage

Please consider to add update information to the lux AppImage and ship a .zsync file so that it can be updated using AppImageUpdate. Tools like appimagetool and linuxdeployqt can do this for you easily.

Thanks for shipping AppStream metainfo inside your AppImage. Please open a pull request on if you have changed it and would like to see this page updated accordingly.

If you would like to see a donation link for the application here, please include one in the AppStream data.

History of this page

Edit the input for this page