You are not logged in.

#1 2016-08-07 03:47:18

archtefo
Member
Registered: 2016-08-07
Posts: 18

Disable gtk3 on libreoffice-still

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

#2 2016-08-07 04:35:45

TheChickenMan
Member
From: United States
Registered: 2015-07-25
Posts: 354

Re: Disable gtk3 on libreoffice-still

archtefo wrote:

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

#3 2016-08-07 05:54:24

eschwartz
Fellow
Registered: 2014-08-08
Posts: 4,097

Re: Disable gtk3 on libreoffice-still

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

#4 2016-08-07 06:29:10

archtefo
Member
Registered: 2016-08-07
Posts: 18

Re: Disable gtk3 on libreoffice-still

@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

#5 2016-08-07 06:38:35

eschwartz
Fellow
Registered: 2014-08-08
Posts: 4,097

Re: Disable gtk3 on libreoffice-still

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

#6 2016-08-07 16:57:45

archtefo
Member
Registered: 2016-08-07
Posts: 18

Re: Disable gtk3 on libreoffice-still

Eschwartz wrote:

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

#7 2016-08-07 17:03:14

Xabre
Member
From: Serbia
Registered: 2009-03-19
Posts: 750

Re: Disable gtk3 on libreoffice-still

/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

#8 2016-08-07 19:34:05

eschwartz
Fellow
Registered: 2014-08-08
Posts: 4,097

Re: Disable gtk3 on libreoffice-still

archtefo wrote:

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.

Xabre wrote:

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? wink

...

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

#9 2016-08-08 01:39:19

archtefo
Member
Registered: 2016-08-07
Posts: 18

Re: Disable gtk3 on libreoffice-still

@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

#10 2016-08-08 02:39:18

eschwartz
Fellow
Registered: 2014-08-08
Posts: 4,097

Re: Disable gtk3 on libreoffice-still

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

#11 2016-08-08 02:48:01

ooo
Member
Registered: 2013-04-10
Posts: 1,638

Re: Disable gtk3 on libreoffice-still

you can list all exported environment variables with export command

export | grep SAL_USE_VCLPLUGIN

Offline

#12 2016-08-08 09:29:36

phw
Member
Registered: 2013-05-27
Posts: 318

Re: Disable gtk3 on libreoffice-still

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

#13 2016-08-08 20:00:33

archtefo
Member
Registered: 2016-08-07
Posts: 18

Re: Disable gtk3 on libreoffice-still

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

#14 2016-08-09 12:11:56

loqs
Member
Registered: 2014-03-06
Posts: 17,315

Re: Disable gtk3 on libreoffice-still

Please post the contents of your /etc/profile.d/libreoffice-still.csh and /etc/profile.d/libreoffice-still.sh

Offline

#15 2016-08-09 15:00:17

archtefo
Member
Registered: 2016-08-07
Posts: 18

Re: Disable gtk3 on libreoffice-still

@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

#16 2016-08-09 15:24:50

loqs
Member
Registered: 2014-03-06
Posts: 17,315

Re: Disable gtk3 on libreoffice-still

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

#17 2016-08-09 22:27:14

eschwartz
Fellow
Registered: 2014-08-08
Posts: 4,097

Re: Disable gtk3 on libreoffice-still

archtefo wrote:

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

#18 2016-08-11 01:03:39

archtefo
Member
Registered: 2016-08-07
Posts: 18

Re: Disable gtk3 on libreoffice-still

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

#19 2016-08-12 01:14:49

KlipperKyle
Member
Registered: 2013-05-25
Posts: 29

Re: Disable gtk3 on libreoffice-still

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

#20 2016-08-12 17:35:05

loqs
Member
Registered: 2014-03-06
Posts: 17,315

Re: Disable gtk3 on libreoffice-still

@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

#21 2016-08-12 18:23:41

archtefo
Member
Registered: 2016-08-07
Posts: 18

Re: Disable gtk3 on libreoffice-still

@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

#22 2016-08-12 19:03:33

loqs
Member
Registered: 2014-03-06
Posts: 17,315

Re: Disable gtk3 on libreoffice-still

$ 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

#23 2016-08-12 20:32:35

archtefo
Member
Registered: 2016-08-07
Posts: 18

Re: Disable gtk3 on libreoffice-still

yes @loqs!
That was the problematic instruction. I changed it to "gen" and problem solved smile
Terrific thanks to all!

Last edited by archtefo (2016-08-12 20:35:54)

Offline

#24 2016-08-12 20:50:02

eschwartz
Fellow
Registered: 2014-08-08
Posts: 4,097

Re: Disable gtk3 on libreoffice-still

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

#25 2016-08-13 03:28:59

archtefo
Member
Registered: 2016-08-07
Posts: 18

Re: Disable gtk3 on libreoffice-still

Offline

Board footer

Powered by FluxBB