2018-11-30 15:35:12 UTC
I have come across a rather insidious and annoying situation in
XFCE, and my hope is that someone here might point out how to fix things
From my XFCE desktop, I sometimes access a remote desktop (also
running 14.2 with XFCE) with the following command:
ssvnc -cmd -ssh remote-system:0 -passwd $HOME/.vnc/passwd
In essence, this is going to create an SSH tunnel to remote-system, and
then connecting through this tunnel to the desktop in the console at
remote-system. The -passwd option simply takes a password from $HOME/.vnc/
passwd and supplies it to remote-system for authentication. Since the
connection is established through an SSH tunnel, this does not really add
much; it is there just in case attempts are made to connect to this
desktop directly. Not really an option from the external world in my
setup, anyway. But, I digress.
The command above works seamlessly, as long as the connection to
remote-system is completed with public key authentication. With password
authentication, one is prompted for the password, several times. Since I
do use public key authentication, I created an XFCE launcher, so that
when I click on it I access the desktop at remote-system automagically.
Here's the problem: if and when, for whatever reason, the ssvnc
command above prompts for a password (be it because I forgot to add my
private key to my SSH agent, or because remote-system refuses to do
public key authentication) on clicking on the XFCE launcher, my whole
XFCE desktop freezes. Whatever applications I have running in it keep
running all right, but the desktop stops accepting input from mouse and
keyboard. Applets that I have added to my top panel also freeze - for
instance, I have network and CPU activity applets that, under normal
circumstances, keep displaying activity as changing bars. When the above
happens the just freeze.
The one that seems to be freezing is the XFCE windows manager,
xfwm4. When I kill it by hand, the desktop becomes unfrozen - but, since
I do not have a window manager any longer, all of my applications are
piled up, one on top of another. At this point, my only solution consists
of relaunching X - which, as you can imagine, when I had hundreds of
applications running, can be a painful proposition.
Can anybody suggest a mechanism to recover gracefully from this -
i.e. without having to kill xfwm4? I can still access this system e.g. by
ssh, so I can manage processes in it. Killing the ssvnc command above by
hand won't do anything in this respect. That ssvnc command issues an ssh
command to create the tunnel - killing it by hand also does not do
anything. The problem is clearly in xfwm4, that gets locked up. I tried a
kill -HUP on it, to no avail. A simple kill also does nothing, whereas a
kill -9 just kills it, and it does not get restarted.
Any ideas to try?