mirror of sx + changes
Go to file
Earnestly 2742daede4 sx: further tuning the signal situation
This commit removes the complication of trying to handle client PIDs as
doing so didn't provide any noticable gain.  The main issue was that
both `wait' commands didn't wait on their respective PIDs while the
final cleanup wasn't called with both client and server PIDs and so
the server remained running due to -noreset.

The exit status of `sx' should again reflect that of the Xorg's
which may be useful for scripts.

Also slightly improves the comments on how Xorg handles USR1 signals.

Fixes https://github.com/Earnestly/sx/issues/19
2020-10-06 19:31:07 +01:00
LICENSE introduce sx 2017-12-01 20:14:54 +00:00
Makefile make: use more GNU directory variables 2020-05-21 21:59:02 +01:00
README doc: move notes to manual and clarify the synopsis 2018-10-14 11:25:17 +01:00
sx sx: further tuning the signal situation 2020-10-06 19:31:07 +01:00
sx.1 sx: further tuning the signal situation 2020-10-06 19:31:07 +01:00

README

sx <https://github.com/Earnestly/sx>

INTRODUCTION

  sx is a simple alternative to both xinit(1) and startx(1) for starting
  an Xorg server.

  It started life as a proof of concept while attempting to learn how both
  xinit and startx worked.

  It is not a direct replacement however as it provides a different, more
  limited, interface.

  Some of these major differences are listed here:

    * The server's command-line is hard coded and not exposed to the user.
    * The server doesn't listen on anything except unix domain sockets.
    * The server starts on the same tty the user logged in on.
    * The first DISPLAY is 1 instead of 0 contrary to what X(7) suggests
      as it is coupled to the tty number.
    * xauth entries are overwritten if the displayname is identical.
    * Corresponding xauth entries are unconditionally removed when the
      server exits.
    * The server uses the -noreset flag.
    * While XAUTHORITY is still honoured, $XDG_DATA_HOME/sx/xauthfile is
      used by default instead of $HOME/.Xauthority
    * Very little proxy error checking is used preferring instead to let
      each tool speak for itself.
    * None of the typical /etc/X11/xinit infrastructure is directly used.
    * Neither XINITRC is honoured nor .xinitrc used.
    * The XDG_CONFIG_HOME/sx/sxrc file is used instead of .xinitrc and is
      required to be executable.

  For a rationale on why this exists, the author invites the reader to
  look over the source code for both xinit and startx.

REQUIRES

  * Xorg
  * xauth
  * /dev/urandom

INSTALL

  make PREFIX=/usr DESTDIR=staged install