Peter Mattern edited this page Oct 24, 2016 · 1 revision


Autostart Applications on Login

Launching applications at the beginning of LXQt sessions is implemented according to the to the XDG Autostart Specification.

Basically this means suitable desktop entry files have to be placed in ~/.config/autostart/.
These files can be handled manually or from configuration dialogue LXQt Session Settings (binary lxqt-config-session) which belongs to lxqt-session.

For an explanation of terms "Global Autostart" and "LXQt Autostart" see section Autostart in the repository's
Note this distinction is currently suffering from a problem addressed in issue lxqt#746.

LibreOffice / OpenOffice vs. environment variable SAL_USE_VCLPLUGIN

Both office suites do not use one of the well-known widget toolkits like GTK or Qt but stick with their custom "Visual Components Library (VCL)". Integrating with the former is handled by components called plugins.

A choice among the available plugins is made by setting environment variable SAL_USE_VCLPLUGIN which is accepting values gen ("generic", hence no use of plugins / native VCL UI), gtk (GTK2), gtk3 (GTK 3), kde (KDE3) and kde4 (KDE 4).
System defaults are set by files /etc/profile.d/libreoffice-<flavour>.<shell>. In LXQt two more ways to tweak the variable exist:

  • script startlxqt: This script which belongs to lxqt-common and initiates LXQt sessions is setting kde4 but only when no other value had been assigned by the scripts in /etc/profile.d/ before.
  • configuration dialogue LXQt Session Settings allows for setting arbitrary environment variables and hence SAL_USE_VCLPLUGIN as well. By default it is not set this way but if set it supersedes both the other means to tweak the variable.

Note the support of the Qt ecosystem is rather poor. Unlike in GTK there's no interaction with the widget toolkit itself but with KDE libraries in an outdated version only. In particular it is currently not possible to use the generic Qt file chooser dialogues with LibreOffice or OpenOffice.
Also, enabling a certain plugin does not necessarily mean the corresponding backends are available which rather have to be installed independently.