mirror of sx + changes
Go to file
Earnestly 9f2c0c5fb4 sx: no longer attempt to send SIGKILL
Sending SIGKILL is not an appropriate response in most cases especially
after an arbitrary timeout.  If signals are being ignored it's likely
due to D state.  If the process is busy spinning in an infinite loop
then bug reports need to be made.  Papering over significant issues is
worse for everyone in the end.

This commit also trusts the PID we get is an xorg server process.  I
have no real reason to check outside of paranoia which borders on theater.

Instead I check the PID is still alive and send TERM.  Then we wait
until it is done.  Anything else is surely abnormal and needs manual
intervention.
2017-12-08 17:23:07 +00:00
LICENSE introduce sx 2017-12-01 20:14:54 +00:00
Makefile introduce sx 2017-12-01 20:14:54 +00:00
README sx: drop dependency on openssl 2017-12-07 13:06:46 +00:00
sx sx: no longer attempt to send SIGKILL 2017-12-08 17:23:07 +00:00
sx.1 doc: mention XDG_CONFIG_HOME environments 2017-12-08 17:18:15 +00: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(1) and startx(1) worked.

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

  Some of these differences are as follows:

    * The Xorg server's command-line is hard coded and not exposed to the
      user.
    * The first DISPLAY is 1 instead of 0 contrary to what X(7) suggests.
    * xauth entries are overwritten if the displayname is identical.
    * Corresponding xauth entries are unconditionally removed when the Xorg
      server is terminated.
    * The Xorg server uses the -noreset flag.
    * /usr/lib/xorg-server/Xorg is used directly, bypassing Xorg.wrap.
    * While XAUTHORITY is still honoured, $XDG_CONFIG_HOME/sx/xauthfile is
      used 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 rational on why this exists, the author invites the reader to look
  over the source code for both xinit(1) and startx(1).

REQUIRES

  * Xorg
  * xauth
  * /dev/urandom

INSTALL

    make PREFIX=/usr DESTDIR=staged install