Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

'lxsu exo-open test.txt' does not open text editor while 'sudo --set-home exo-open test.txt' does #114

Open
adrelanos opened this issue Apr 10, 2019 · 13 comments

Comments

@adrelanos
Copy link

adrelanos commented Apr 10, 2019

Expected Behavior
  • Same behavior as with sudo --set-home.
  • Editor opening.
Current Behavior
lxsu exo-open test.txt ; echo $?

0

Editor does not open.

Possible Solution
Steps to Reproduce (for bugs)
  1. upgrade Debian stretch to Debian buster (in Qubes OS pr real Debian buster)
  2. sudo apt-get install --no-install-recommends lxqt-sudo
  3. touch test.txt
  4. lxsu exo-open test.txt
Context

desktop shortcut using lxsu (to get root rights, to have a password prompt), followed by xdg-open (which is supposed to select the user's favorite chosen text editor rather than hardcoding any specific one [or inventing a custom mechanism for choosing one]).

System Information
  • Distribution & Version: Debian buster (in Qubes)
  • Kernel: Linux version 4.14.74-1.pvops.qubes.x86_64 (user@build-fedora4) (gcc version 6.4.1 20170727 (Red Hat 6.4.1-1) (GCC)) #1 SMP Mon Oct 8 17:14:24 UTC 2018
  • Qt Version: libqt5designer5:amd64 5.11.3-4
  • liblxqt Version: 0.14.1
  • lxqt-build-tools Version: was build by Debian
  • Package version: 0.14.1-1
exo-open comparison with non-root and sudo behavior
  • touch test.txt
  • works: exo-open test.txt
  • works: sudo --set-home exo-open test.txt
  • fails: lxsu exo-open test.txt
  • fails in Qubes Debian buster as well as real Debian buster
env comparison with non-root and sudo behavior

Perhaps environment has something to do with it? I guess not. Just in case attaching the different output.

sudo --set-home env
COLORTERM=truecolor
XAUTHORITY=/home/user/.Xauthority
LANG=en_US.utf8
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:
TERM=xterm-256color
DISPLAY=:0.0
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
MAIL=/var/mail/root
LOGNAME=root
USER=root
HOME=/root
SHELL=/bin/bash
SUDO_COMMAND=/usr/bin/env
SUDO_USER=user
SUDO_UID=1000
SUDO_GID=1000
lxsu env

SHELL=/bin/bash
PWD=/home/user
XAUTHORITY=/home/user/.Xauthority
HOME=/root
LANG=en_US.UTF-8
DISPLAY=:0.0
SHLVL=0
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
MAIL=/var/mail/root

References

Also reported against exo-open:
https://bugzilla.xfce.org/show_bug.cgi?id=15282

@agaida
Copy link
Member

agaida commented Apr 10, 2019

try xdg-open - why should we support exo-open?

@tsujan
Copy link
Member

tsujan commented Apr 10, 2019

why should we support exo-open?

That's a good question.

@tsujan tsujan closed this as completed Apr 10, 2019
@adrelanos
Copy link
Author

Please support exo-open since xdg-open uses it.

xdg-open runs exo-open in XFCE by default.

/usr/bin/xdg-open includes:

open_xfce()
{
    if exo-open --help 2>/dev/null 1>&2; then
        exo-open "$1"
    elif gio help open 2>/dev/null 1>&2; then
        gio open "$1"
    elif gvfs-open --help 2>/dev/null 1>&2; then
        gvfs-open "$1"
    else
        open_generic "$1"
    fi

    if [ $? -eq 0 ]; then
        exit_success
    else
        exit_failure_operation_failed
    fi
}

In case "$DE" in. Happens when environment variable XDG_CURRENT_DESKTOP is set to XFCE which is the default in Debian buster XFCE. xdg-open also sets DE to xfce in other cases.

@tsujan
Copy link
Member

tsujan commented Apr 10, 2019

open_xfce() is for Xfce. xdg-open uses different functions under different DEs and supports LXQt. Supporting open_xfce() doesn't make sense.

@tsujan
Copy link
Member

tsujan commented Apr 10, 2019

And you could always use gio open under LXQt if you prefer it. libfm-qt is based on GLib.

@adrelanos
Copy link
Author

My mistake, I've been using lxqt-sudo in XFCE. I had wrongly assumed, that lxqt-sudo wants to be (a drop-in) replacement for the now deprecated gksudo / kdesudo (which are no longer available in Debian buster), being usable on any desktop environment.

People on the internet are discussing deprecation of gksudo / kdesudo and mentioning lxqt-sudo as an alternative in that context. So I guess others might make the same mistake as more people move to buster or other distributions with no more gksudo / kdesudo.

@palinek
Copy link
Contributor

palinek commented Apr 11, 2019

I don't see a reason why shouldn't it work with lxqt-sudo...
@adrelanos do you know internals of exo-open? Why doesn't it do its job when invoked in elevated environment by lxqt-sudo? Please, try to investigate the particular reason why is it failing (missing env var?) and then maybe we can do changes on our side to make it happy.

@agaida
Copy link
Member

agaida commented Apr 11, 2019

% lxsudo exo-open willi.txt
lxqt-sudo: Stripping child environment except for: DISPLAY, LANG, LANGUAGE, LC_ADDRESS, LC_ALL, LC_COLLATE, LC_CTYPE, LC_IDENTIFICATION, LC_MEASUREMENT, LC_MESSAGES, LC_MONETARY, LC_NAME, LC_NUMERIC, LC_PAPER, LC_TELEPHONE, LC_TIME, PATH, QT_PLATFORM_PLUGIN, QT_QPA_PLATFORMTHEME, WAYLAND_DISPLAY, XAUTHLOCALHOSTNAME, XAUTHORITY

(exo-open:26338): dbind-WARNING **: 09:48:20.201: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-53SQZS2mi8: Verbindungsaufbau abgelehnt


The result is the same

(exo-open:12160): dbind-WARNING **: 09:52:21.960: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-53SQZS2mi8: Verbindungsaufbau abgelehnt

@agaida agaida reopened this Apr 13, 2019
@agaida
Copy link
Member

agaida commented Apr 13, 2019

@palinek - re-opened, if we can do something about the dbus issues we should do

@palinek
Copy link
Contributor

palinek commented Apr 13, 2019

I'm not getting the dbind-WARNING here...
But if I try to debug exo-open simply by lxqt-sudo strace -f exo-open ... then the desired application is launched as expected. This leads me to ask a question: Isn't there some race in exo-open implementation?

@palinek palinek closed this as completed Apr 13, 2019
@palinek palinek reopened this Apr 13, 2019
@palinek
Copy link
Contributor

palinek commented Apr 13, 2019

(sorry, missed the button)

@agaida
Copy link
Member

agaida commented Apr 13, 2019

ok, your guess might be right :)

@Iastonestanding
Copy link

The problem is reproducible with xdg-open after renaming exo-open (making it unavailable), and also with gio open.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants