mirror of sx + changes
Go to file
Earnestly 30457a3139 sx: drop dependencies on coreutils and util-linux
Upon review of GNU tail I discovered that the implemention of --pid was
the same method as polling kill -0 on a sleep interval, which defaults
to 1 second unless -s is used.

This is perhaps expected due to the lack of a pwait(2) system call, I
decided to implement the same mechanic myself and drop both the
requirement on GNU tail and GNU timeout at the same time.

This commit also replaces mcookie from util-linux with openssl rand
which is used to generate a random MD5 checksum for use in the
MIT-MAGIC-COOKIE-1 value.
2017-12-07 11:58:40 +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 dependencies on coreutils and util-linux 2017-12-07 11:58:40 +00:00
sx sx: drop dependencies on coreutils and util-linux 2017-12-07 11:58:40 +00:00
sx.1 doc: clarify how XAUTHORITY is used 2017-12-04 11:58:00 +00:00

README

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

INTRODUCTION

  sx is a simple alternative to both xinit(1) and startx(1).

  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
  * openssl (used to generate the MIT-MAGIC-COOKIE-1 value)

INSTALL

    make PREFIX=/usr DESTDIR=staged install