Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.user > #242234

Re: How to cause a process started in .xsessionrc to terminate with x-session termination?

From David Wright <deblis@lionunicorn.co.uk>
Newsgroups linux.debian.user
Subject Re: How to cause a process started in .xsessionrc to terminate with x-session termination?
Date 2021-11-18 21:40 +0100
Message-ID <DkWml-zg-3@gated-at.bofh.it> (permalink)
References <DkAOR-3KD-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Wed 17 Nov 2021 at 22:39:21 (+0100), Arkadiusz Dabrowski wrote:

> I have a problem with unison sync termination when it is started from
> .xsessionrc.
> It works flawlessly but when I log out it is orphaned and not terminated.
> I start it like this:
> nice -n18 ionice -c2 -n7 unison unison_profile &>/dev/null &
> Once started the parent is x-session-manager and they the same process
> group.

I think this is because you're starting it in the wrong file.
Everything in .xsessionrc should complete immediately. Use it
to set parameters and things like that.

> What can I do to terminate the process with x-session?

Start all your X clients and programs in .xsession. They should all be
backgrounded with &, as shown in   man xinit. There's an example at
about line 78 (buster version) on that page.

You'll see there that they start the Window Manager last. This has
disadvantages, in that you can't tell programs like xterm where to
map their windows if the WM hasn't yet started. This is solved by
exec'ing the WM early in .xsession, and waiting on its PID at the
end. If and when you close the WM, wait terminates and you fall out
of the end of .xsession, and X terminates.

That way, all these background processes get destroyed, and the same
is true if you are in the habit of using Ctrl-Alt-Backspace to kill
X rather than neatly closing the WM.

Briefly:

# ~/.xsession contents

# very early stuff
# [ … ]

if [ -x /usr/bin/fvwm ]; then
    exec /usr/bin/fvwm & Wmpid=$!
else
    printf '%s\n' "Error - no window manager found"
fi

# now start your clients and programs, all backgrounded with &
# [ … ]

# at the end of the file is one foreground program:

# wait for the window manager in the background to die
wait $Wmpid

# end-of-file

Cheers,
David.

Back to linux.debian.user | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

How to cause a process started in .xsessionrc to terminate with  x-session termination? Arkadiusz Dabrowski <ardabro@gmail.com> - 2021-11-17 22:40 +0100
  Re: How to cause a process started in .xsessionrc to terminate with  x-session termination? Greg Wooledge <greg@wooledge.org> - 2021-11-17 23:10 +0100
  Re: How to cause a process started in .xsessionrc to terminate with  x-session termination? Brian <ad44@cityscape.co.uk> - 2021-11-18 00:50 +0100
  Re: How to cause a process started in .xsessionrc to terminate with  x-session termination? Greg Wooledge <greg@wooledge.org> - 2021-11-18 14:10 +0100
  Re: How to cause a process started in .xsessionrc to terminate with  x-session termination? songbird <songbird@anthive.com> - 2021-11-18 14:10 +0100
  Re: How to cause a process started in .xsessionrc to terminate with  x-session termination? David Wright <deblis@lionunicorn.co.uk> - 2021-11-18 21:40 +0100
    Re: How to cause a process started in .xsessionrc to terminate with  x-session termination? Greg Wooledge <greg@wooledge.org> - 2021-11-18 21:50 +0100
      Re: How to cause a process started in .xsessionrc to terminate with  x-session termination? Jonathan Dowland <jon+debian-user@dow.land> - 2021-11-18 22:30 +0100
        Re: How to cause a process started in .xsessionrc to terminate with  x-session termination? Greg Wooledge <greg@wooledge.org> - 2021-11-18 23:00 +0100
          Re: How to cause a process started in .xsessionrc to terminate with  x-session termination? Arkadiusz Dabrowski <ardabro@gmail.com> - 2021-11-18 23:10 +0100
      Re: How to cause a process started in .xsessionrc to terminate with  x-session termination? Brian <ad44@cityscape.co.uk> - 2021-11-19 19:40 +0100
        Re: How to cause a process started in .xsessionrc to terminate with  x-session termination? Arkadiusz Dabrowski <ardabro@gmail.com> - 2021-11-20 21:50 +0100
          Re: How to cause a process started in .xsessionrc to terminate with  x-session termination? Greg Wooledge <greg@wooledge.org> - 2021-11-20 22:20 +0100
            Re: How to cause a process started in .xsessionrc to terminate with  x-session termination? Arkadiusz Dabrowski <ardabro@gmail.com> - 2021-11-21 19:20 +0100
              Re: How to cause a process started in .xsessionrc to terminate with  x-session termination? Greg Wooledge <greg@wooledge.org> - 2021-11-21 20:20 +0100
                Re: How to cause a process started in .xsessionrc to terminate with  x-session termination? Arkadiusz Dabrowski <ardabro@gmail.com> - 2021-11-21 20:50 +0100
                Re: How to cause a process started in .xsessionrc to terminate with  x-session termination? David Wright <deblis@lionunicorn.co.uk> - 2021-11-22 06:50 +0100
                Re: How to cause a process started in .xsessionrc to terminate with  x-session termination? Greg Wooledge <greg@wooledge.org> - 2021-11-22 13:40 +0100
                Re: How to cause a process started in .xsessionrc to terminate with  x-session termination? David Wright <deblis@lionunicorn.co.uk> - 2021-11-22 21:50 +0100
            Re: How to cause a process started in .xsessionrc to terminate with  x-session termination? Musbur <musbur@posteo.org> - 2021-11-22 16:30 +0100
              Re: How to cause a process started in .xsessionrc to terminate with  x-session termination? Greg Wooledge <greg@wooledge.org> - 2021-11-22 17:00 +0100
                Re: How to cause a process started in .xsessionrc to terminate with  x-session termination? Greg Wooledge <greg@wooledge.org> - 2021-11-22 17:50 +0100
                Re: How to cause a process started in .xsessionrc to terminate with  x-session termination? Jonathan Dowland <jon+debian-user@dow.land> - 2021-11-23 13:10 +0100
                Re: How to cause a process started in .xsessionrc to terminate with  x-session termination? Greg Wooledge <greg@wooledge.org> - 2021-11-23 14:00 +0100
                Re: How to cause a process started in .xsessionrc to terminate with  x-session termination? David Wright <deblis@lionunicorn.co.uk> - 2021-11-23 16:30 +0100
                Re: How to cause a process started in .xsessionrc to terminate with  x-session termination? Andrei POPESCU <andreimpopescu@gmail.com> - 2021-12-10 14:40 +0100
                Re: How to cause a process started in .xsessionrc to terminate with  x-session termination? Andrei POPESCU <andreimpopescu@gmail.com> - 2021-12-10 15:10 +0100
                Re: How to cause a process started in .xsessionrc to terminate with  x-session termination? David Wright <deblis@lionunicorn.co.uk> - 2021-11-22 21:50 +0100
                Re: How to cause a process started in .xsessionrc to terminate with  x-session termination? Greg Wooledge <greg@wooledge.org> - 2021-11-22 22:20 +0100
                Re: How to cause a process started in .xsessionrc to terminate with  x-session termination? David Wright <deblis@lionunicorn.co.uk> - 2021-11-23 16:30 +0100
    Re: How to cause a process started in .xsessionrc to terminate with  x-session termination? Jonathan Dowland <jon+debian-user@dow.land> - 2021-11-18 22:30 +0100
  Re: How to cause a process started in .xsessionrc to terminate with  x-session termination? Mark Neyhart <Mark.Neyhart@akleg.gov> - 2021-11-18 22:20 +0100

csiph-web