You are not logged in.
Hi!
Since the last update libreoffice-still uses gtk3 by default on lxqt.
In my system its works too badly, specially the scroll pad function.
I tried to edit /etc/profile.d/libreoffice-still.{sh|csh} uncommenting the "SAL_USE_VCLPLUGIN gen" option, but it doesn't change.
I can disable gtk3 if I previously enter "export SAL_USE_VCLPLUGIN=gen" into the terminal each time I use libreoffice.
How can I disable gtk3 on libreoffice?
Thanks!
Offline
I can disable gtk3 if I previously enter "export SAL_USE_VCLPLUGIN=gen" into the terminal each time I use libreoffice.
Thanks!
You answered your own question. Copy the .dekstop files for libreoffice from /usr/share/applications to ~/.local/share/applications and then edit them to include the export in the command which launches libreoffice.
If quantum mechanics hasn't profoundly shocked you, you haven't understood it yet.
Niels Bohr
Offline
Di you log out and in again, to make sure /etc/profile (and the associated sourcing of /etc/profile.d/*.sh) was reloaded???
Managing AUR repos The Right Way -- aurpublish (now a standalone tool)
Offline
@Eschwartz, yes I did, and nothing happens.
@TheChickenMan thanks for your idea! But the thing is that when I open a file from PCManFM I'm still using the gtk3 version of libreoffice...
Offline
Well, there shouldn't be any difference between exporting a variable in /etc/profile.d/*.sh and doing it in a shell prompt...
(Your login process absolutely should have that variable set when it sources /etc/profile !)
Maybe use e.g. htop to check the environment of the libreoffice process and parent processes, to see where it went missing?
Last edited by eschwartz (2016-08-07 06:40:01)
Managing AUR repos The Right Way -- aurpublish (now a standalone tool)
Offline
Well, there shouldn't be any difference between exporting a variable in /etc/profile.d/*.sh and doing it in a shell prompt...
(Your login process absolutely should have that variable set when it sources /etc/profile !)Maybe use e.g. htop to check the environment of the libreoffice process and parent processes, to see where it went missing?
BTW, the variable only works if I open libreoffice in the same terminal session...
Offline
/etc/profile.d/libreoffice-fresh.sh
EDIT: Sorry, wasn't reading your fist message all the way. Yes, it will work after you restart your session.
Last edited by Xabre (2016-08-07 17:04:27)
Online
BTW, the variable only works if I open libreoffice in the same terminal session...
Well, obviously. You have already established that it isn't getting properly set when you login, so you have to explicitly set it in the parent shell before starting LibreOffice. Or you can use a custom desktop file, or whatever you want to do to make sure that variable gets set while starting LibreOffice.
That was never in doubt. The real question is, have you tried checking to see where that variable is being unset? e.g. as I recommended, use htop to peek at the environment of your login shell and various processes in between that and an attempt to run LibreOffice (the normal way).
You have officially been given advice... are you going to take that advice, tell us why you disagree with it, or just ignore it altogether?
If you are going to ignore it, tell us so we can stop wasting our time trying to help.
EDIT: Sorry, wasn't reading your fist message all the way. Yes, it will work after you restart your session.
Did you not read where the OP claims that doesn't work?
...
The obvious conclusion is that somewhere, something is sneakily unsetting that variable for mysterious reasons.
Managing AUR repos The Right Way -- aurpublish (now a standalone tool)
Offline
@Eschwartz, it was'nt my intention to ignore you, I'm apologized if you feel that way; I'm just trying to introduce you more information in the meantime.
I unncomented the variables in "/etc/profile.d/libreoffice-still.{sh|csh}" and reboot. Open htop and then libreoffice.
The output of htop regarding libreoffice Command was:
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
527 user 22 2 195M 5520 4444 S 0.0 0.3 0:00.18 ├─ /usr/lib/libreoffice/program/oosplash
544 user 20 0 1247M 134M 86288 S 0.0 7.0 0:05.32 │ ├─ /usr/lib/libreoffice/program/soffice.bin --splash-pipe=5
568 user 20 0 1247M 134M 86288 S 0.0 7.0 0:00.00 │ │ ├─ /usr/lib/libreoffice/program/soffice.bin --splash-pipe=5
561 user 20 0 1247M 134M 86288 S 0.0 7.0 0:00.00 │ │ ├─ /usr/lib/libreoffice/program/soffice.bin --splash-pipe=5
560 user 20 0 1247M 134M 86288 S 0.0 7.0 0:00.00 │ │ ├─ /usr/lib/libreoffice/program/soffice.bin --splash-pipe=5
548 user 20 0 1247M 134M 86288 S 0.0 7.0 0:00.00 │ │ ├─ /usr/lib/libreoffice/program/soffice.bin --splash-pipe=5
546 user 20 0 1247M 134M 86288 S 0.0 7.0 0:00.00 │ │ └─ /usr/lib/libreoffice/program/soffice.bin --splash-pipe=5
543 user 20 0 195M 5520 4444 S 0.0 0.3 0:00.00 │ ├─ /usr/lib/libreoffice/program/oosplash
539 user 20 0 195M 5520 4444 S 0.0 0.3 0:00.00 │ └─ /usr/lib/libreoffice/program/oosplash
That's what you refer to? Otherwise, how can I use htop to peek at the environment of my login shell?
Thanks!
Offline
Press "e" while selecting a process command line. It *should* be there in the initialization of your desktop environment.
Check the process tree in between the login process and LibreOffice.
Managing AUR repos The Right Way -- aurpublish (now a standalone tool)
Offline
you can list all exported environment variables with export command
export | grep SAL_USE_VCLPLUGIN
Offline
I also had some issue setting this up (had no success with `.profile` and similar) and ended up adding `export SAL_USE_VCLPLUGIN=gtk` to my `~/.xinitrc`. This seems to make the variable being set no matter how I launch Libre Office. Note that I'm using Gome.
Offline
Well, the "e" output for htop:
Environment of process 1 - /sbin/init
Could not read process environment.
Environment of process 2018 - /usr/lib/libreoffice/program/oosplash
BROWSER=firefox
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
DESKTOP_SESSION=/usr/share/xsessions/lxqt
DISPLAY=:0
GTK_CSD=0
GTK_MODULES=canberra-gtk-module
HOME=/home/user
LANG=es.UTF-8
LC_ALL=
LOGNAME=user
LXQT_SESSION_CONFIG=session
MAIL=/var/spool/mail/user
MOZ_PLUGIN_PATH=/usr/lib/mozilla/plugins
OLDPWD=/usr/lib/libreoffice/program
PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl
PWD=/home/user
PYTHONPATH=/usr/lib/libreoffice/program
QT_PLATFORM_PLUGIN=lxqt
QT_QPA_PLATFORMTHEME=lxqt
SAL_ENABLE_FILE_LOCKING=1
SAL_USE_VCLPLUGIN=kde4
SHELL=/bin/bash
SHLVL=0
TERM=qterminal
USER=user
XAUTHORITY=/home/user/.Xauthority
XDG_CACHE_HOME=/home/user/.cache
XDG_CONFIG_DIRS=/etc/xdg
XDG_CONFIG_HOME=/home/user/.config
XDG_CURRENT_DESKTOP=LXQt
XDG_DATA_DIRS=/home/user/.local/share:/usr/local/share:/usr/share
XDG_DATA_HOME=/home/user/.local/share
XDG_MENU_PREFIX=lxqt-
XDG_RUNTIME_DIR=/run/user/1000
XDG_SEAT=seat0
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
XDG_SESSION_CLASS=user
XDG_SESSION_DESKTOP=
XDG_SESSION_ID=c2
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session1
XDG_SESSION_TYPE=x11
XDG_VTNR=1
and the output of
export | grep SAL_USE_VCLPLUGIN
declare -x SAL_USE_VCLPLUGIN="kde4"
Maybe the solution is export the variable using other method, like @phw did.
Offline
Please post the contents of your /etc/profile.d/libreoffice-still.csh and /etc/profile.d/libreoffice-still.sh
Offline
@loqs, The contents of both .sh and .csh are:
Fichero: /etc/profile.d/libreoffice-still.sh
# to force a certain look'n feel
export SAL_USE_VCLPLUGIN=gen
#export SAL_USE_VCLPLUGIN=kde4
#export SAL_USE_VCLPLUGIN=gtk
#export SAL_USE_VCLPLUGIN=gtk3 # currently broken and not$
and
Fichero: /etc/profile.d/libreoffice-still.csh
# to force a certain look'n feel
setenv SAL_USE_VCLPLUGIN gen
#setenv SAL_USE_VCLPLUGIN kde4
#setenv SAL_USE_VCLPLUGIN gtk
#setenv SAL_USE_VCLPLUGIN gtk3 # currently broken and not$
Offline
something is transforming
SAL_USE_VCLPLUGIN=gen
to
SAL_USE_VCLPLUGIN=kde4
My first thought that you had multiple uncommented lines in the libreoffice-still.* files was incorrect so try something a much broader search. The following should find any files containing the string SAL_USE_VCLPLUGIN in /etc and ~ also supressing errors.
$ grep SAL_USE_VCLPLUGIN -rs /etc ~
edit:
missing to
Last edited by loqs (2016-08-09 15:25:20)
Offline
Well, the "e" output for htop:
Environment of process 2018 - /usr/lib/libreoffice/program/oosplash ... QT_PLATFORM_PLUGIN=lxqt QT_QPA_PLATFORMTHEME=lxqt SAL_ENABLE_FILE_LOCKING=1 SAL_USE_VCLPLUGIN=kde4
and the output of
export | grep SAL_USE_VCLPLUGIN declare -x SAL_USE_VCLPLUGIN="kde4"
Maybe the solution is export the variable using other method, like @phw did.
So, the question is, what exactly is resetting it to "kde4" after /etc/profile set it?
As loqs said, try grepping for it in your home directory/dotfiles, and /etc ... also, check the parent process(es) which may give you a clue what program is doing the resetting.
Whatever it is, your ~/.xinitrc might be getting loaded after it has already damaged the variable. So it might fix it (but ~/.xinitrc is of course not meant for this so it is better to find the real problem).
Managing AUR repos The Right Way -- aurpublish (now a standalone tool)
Offline
I grep the /etc and the home dir, but the only output was:
/etc/profile.d/libreoffice-still.csh:setenv SAL_USE_VCLPLUGIN gen
/etc/profile.d/libreoffice-still.csh:#setenv SAL_USE_VCLPLUGIN kde4
/etc/profile.d/libreoffice-still.csh:#setenv SAL_USE_VCLPLUGIN gtk
/etc/profile.d/libreoffice-still.csh:#setenv SAL_USE_VCLPLUGIN gtk3 # currently broken and not available
/etc/profile.d/libreoffice-still.sh:export SAL_USE_VCLPLUGIN=gen
/etc/profile.d/libreoffice-still.sh:#export SAL_USE_VCLPLUGIN=kde4
/etc/profile.d/libreoffice-still.sh:#export SAL_USE_VCLPLUGIN=gtk
/etc/profile.d/libreoffice-still.sh:#export SAL_USE_VCLPLUGIN=gtk3 # currently broken and not available
Offline
I have force-enabled the gtk2 frontend because the gtk3 frontend appears to be broken.
kyle@landru ~ $ cat /etc/profile.d/libreoffice-still.sh
# to force a certain look'n feel
#export SAL_USE_VCLPLUGIN=gen
#export SAL_USE_VCLPLUGIN=kde4
export SAL_USE_VCLPLUGIN=gtk
#export SAL_USE_VCLPLUGIN=gtk3 # currently broken and not available
OK. So, the config file admits that the gtk3 frontend is broken, but gtk3 is still the default. Why?
Moreover, the Wiki page says "With version 5.0, GTK3 is the default, it isn't completely working however." Why in the world is gtk3 the default if it is broken? I shouldn't need to change this preference. If gtk3 is known to be broken, then gtk2 should be the default.
Is this an upstream issue or an Arch issue?
Offline
@archtefo running out of ideas as to what is setting SAL_USE_VCLPLUGIN=kde4
Are you running kde4 or kde5?
What is the output of
$ printenv SAL_USE_VCLPLUGIN
From a graphical terminal emulator, from a console terminal logged in as your normal user, from a console terminal logged in as root
Offline
@loqs, interesting point. I followed your instructions:
from a graphical terminal emulator (normal user): kde4
from a console terminal (normal user): gen
from a console terminal (root): gen
I have LXQT running in my arch, so I suppose I don't use KDE4 neither 5 (do I?).
Thanks!
Offline
$ cd /tmp/
/tmp]$ mkdir lxqt-common
/tmp]$ cd lxqt-common/
/tmp/lxqt-common]$ bsdtar -xf ~/Downloads/lxqt-common-0.10.0-4-any.pkg.tar.xz
/tmp/lxqt-common]$ cat usr/bin/startlxqt
#!/bin/sh
contains()
{
local str="$1" substr="$2"
[ "$str" = "$substr" -o -z "${str##$substr:*}" -o -z "${str##*:$substr:*}" -o -z "${str%%*:$substr}" ]
}
if [ -z "$XDG_DATA_HOME" ]; then
export XDG_DATA_HOME="$HOME/.local/share"
fi
if [ -z "$XDG_CONFIG_HOME" ]; then
export XDG_CONFIG_HOME="$HOME/.config"
fi
if [ -z "$XDG_DATA_DIRS" ]; then
XDG_DATA_DIRS="$XDG_DATA_HOME:/usr/local/share:/usr/share"
else
if ! contains "$XDG_DATA_DIRS" "$XDG_DATA_HOME"; then
XDG_DATA_DIRS="$XDG_DATA_DIRS:$XDG_DATA_HOME"
fi
if ! contains "$XDG_DATA_DIRS" "/usr/share"; then
XDG_DATA_DIRS="$XDG_DATA_DIRS:/usr/share"
fi
fi
export XDG_DATA_DIRS
if [ -z "$XDG_CONFIG_DIRS" ]; then
export XDG_CONFIG_DIRS="/etc/xdg"
fi
if [ -z "$XDG_CACHE_HOME" ]; then
export XDG_CACHE_HOME="$HOME/.cache"
fi
# Ensure the existance of the 'Desktop' folder
if [ -e "$XDG_CONFIG_HOME/user-dirs.dirs" ]; then
. "$XDG_CONFIG_HOME/user-dirs.dirs"
else
XDG_DESKTOP_DIR="$HOME/Desktop"
fi
mkdir -p "$XDG_DESKTOP_DIR"
# Clean up after GDM (GDM sets the number of desktops to one)
xprop -root -remove _NET_NUMBER_OF_DESKTOPS -remove _NET_DESKTOP_NAMES -remove _NET_CURRENT_DESKTOP 2> /dev/null
# Enable Qt integration for OpenOffice.org, if available.
export SAL_USE_VCLPLUGIN=kde4
# Launch DBus if needed
if which dbus-launch >/dev/null && test -z "$DBUS_SESSION_BUS_ADDRESS"; then
eval "$(dbus-launch --sh-syntax --exit-with-session)"
fi
# Qt4 platform plugin
export QT_PLATFORM_PLUGIN=lxqt
# Qt5 platform plugin
export QT_QPA_PLATFORMTHEME=lxqt
# use lxqt-applications.menu for main app menu
export XDG_MENU_PREFIX="lxqt-"
export XDG_CURRENT_DESKTOP="LXQt"
# Start the LXQt session
exec lxqt-session
The seemingly important parts to me are lines 48 and 49 of usr/bin/startlxqt
# Enable Qt integration for OpenOffice.org, if available.
export SAL_USE_VCLPLUGIN=kde4
Offline
yes @loqs!
That was the problematic instruction. I changed it to "gen" and problem solved
Terrific thanks to all!
Last edited by archtefo (2016-08-12 20:35:54)
Offline
Report a bug to the LXQT project -- they should not be overwriting the value of that environment variable.
I would suggest they use instead:
export SAL_USE_VCLPLUGIN="${SAL_USE_VCLPLUGIN:-kde4}"
(And they might want to allow the user to override other variables there, too.)
Managing AUR repos The Right Way -- aurpublish (now a standalone tool)
Offline
Reported: https://github.com/lxde/lxqt/issues/1113
Offline