The officially official Devuan Forum!

You are not logged in.

#1 2023-12-30 17:17:43

ks
Member
Registered: 2018-05-08
Posts: 28  

[SOLVED] Daedalus Xorg/X11 problem after su "anyExistingUser"

I have a problem with Xorg/X11 after installing daedalus. Spent the last day and
a half googling a solution without finding a fix.

What I have:
  users "me" and root
  hosts "here" and "there"

  "here" is a Dell running x86_64 (daedalus, installed this week).
  "there" is a very much older i686 Dell running (beowulf, installed ages ago).

  I use fluxbox as my window manager, no desktop environment because I don't
  need the delays - on the same hardware WMs are _always_ a lot faster than desktops.

  I always have a few xterms open, some of which allow me to run gui tools, if
  needed, on other hosts. I use csh for interactive use.

  On the box running daedalus, after doing a "su someOtherUser", I can't get _any_
  X11 program to display it's output on "my" display.

So, to wit:

I've double and triple checked my sshd_configs on all hosts and there's no real
difference.

Although I don't use a gui often after "su -", when I need to, I'm usually desperate.
Any pointers would be appreciated.

ks
  What I do:         every box except daedalus:            on the box with daedalus:

  here% xclock       opens small window, shows time        opens small window, shows time

  su -
  here# xclock       opens small window, shows time        Error: Can't open display: localhost:10
                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  ^D
  here% ssh "there"
  there% xclock      opens window on display (@here)       opens window on my display (@here)
                     and shows the time.                   and shows the time.
  su -
  there# xclock      opens window on display (@here)       opens window on display (@here)
                     and shows the time                    and shows the time.

I've double and triple checked my sshd_config files and there are no differences between old
and the new daedalus system.

Any pointers would make wrap up this year nicely.

tia

ks

Offline

#2 2023-12-30 18:11:33

fsmithred
Administrator
Registered: 2016-11-25
Posts: 2,486  

Re: [SOLVED] Daedalus Xorg/X11 problem after su "anyExistingUser"

I think your problem is related to the fact that after Beowulf, the su command got moved to another package. (to or from util-linux. I forget which) and they changed the way the PATH is handled. If you use 'su -' you can no longer open graphical programs on the user's desktop. To revert to the old behavior, do one of the following:
- Edit or create /etc/default/su and add the following line

ALWAYS_SET_PATH yes

OR
- Edit the ENV_SUPATH line in /etc/login.defs to include /usr/local/sbin, /usr/sbin and /sbin

Then use just 'su' to get root. You might also notice that you don't change directory when you become root.

Offline

#3 2023-12-30 19:25:12

ks
Member
Registered: 2018-05-08
Posts: 28  

Re: [SOLVED] Daedalus Xorg/X11 problem after su "anyExistingUser"

Well, I'll be damned smile

all I needed to do is 'unalias su' which was aliased to 'su -' in my .cshrc, but, as you say, I have to get used to not being in the home directory of whoever I 'su' to.

Creating /etc/default/su didn't change anything, so I undid this. The ENV_SUPATH line in /etc/login.defs was already as required, so all that was left to do was the unalias.

Thank you very much.

ks

ps: just posting another problem that got me stumped.

Offline

#4 2023-12-31 11:20:41

Geoff 42
Member
Registered: 2016-12-15
Posts: 462  

Re: [SOLVED] Daedalus Xorg/X11 problem after su "anyExistingUser"

Thank you!
I had, in fact, got ALWAYS_SET_PATH and ENV_SUPATH set up as above, but I was unable to open an X window. I then realised that it might be because I was using lxqt-sudo. On checking, I found that just using su did have $PATH set and I could open X programs. A quick check of the man page for lxqt-sudo showed that what I needed was the -s flag (for su rather than sudo).

Now when I run :-

lxqt-sudo -s rxvt -rv &

I have $PATH set and I can run X programs.
I run rxvt in reverse video so that I can easily spot that it is a root window.

Geoff

Offline

#5 2023-12-31 11:27:39

Geoff 42
Member
Registered: 2016-12-15
Posts: 462  

Re: [SOLVED] Daedalus Xorg/X11 problem after su "anyExistingUser"

Or I could simply have used :-

lxsu rxvt -rv&

One difference in using su rather than sudo is that it asks for the root password rather than your own!

Geoff

Offline

Board footer