mirror of sx + changes
Go to file
earnestly b627ee1ab5 sx: several minor reworks
Calling exit directly in the relevant trap instead of using an argument
to decide when to trigger an exit in the cleanup function.

Additionally the EXIT trap is ignored in the INT trap so that when
running under bash the EXIT trap does not call cleanup again.

As `xauth remove :n' does not trigger warnings or problems for nonextant
entries it is safe to set the cleanup traps prior to using `xauth add'.
This removes a very minor potential race condition between adding an
entry and the script being interrupted before cleanup traps have been
established.  Suggested by @tomty89

Finally, attempt to make the main comment a little less awkward.
2021-08-10 14:59:58 +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: Further rationale 2021-07-04 15:08:20 +01:00
sx sx: several minor reworks 2021-08-10 14:59:58 +01:00
sx.1 doc: update sx version and date 2021-07-06 23:30:41 +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 while taking up the offer presented in startx:

    > Site administrators are STRONGLY urged to write nicer versions.

  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 install