sx − start an xorg server
sx [command [arguments ...]]
sx can be used to replace both xinit(1) and startx(1) for starting an Xorg(1) server with an initial client. By default sx will attempt to execute XDG_CONFIG_HOME/sx/sxrc unless a command is provided. The command may have additional arguments.
sx will attempt to inherit the exit status from the Xorg(1) server. Otherwise it is 0.
XAUTHORITY
This environment references a file which stores authorisation entries used to secure Xorg(1). If this environment is not set then sx will create and use XDG_DATA_HOME/sx/xauthority instead while also exporting this value to XAUTHORITY.
XDG_CONFIG_HOME
The directory used when searching for sxrc. HOME/.config will be used if not set.
XDG_DATA_HOME
The directory used for storing the xauthority file. HOME/.local/share will be used if not set.
XDG_CONFIG_HOME/sx/sxrc
The default command started by sx. This file must be executable.
XDG_DATA_HOME/sx/xauthority
The default authority used by sx if an alternative file is not provided with XAUTHORITY.
Since the addition of Xorg.wrap(1) it may be necessary to set allowed_users to anybody in /etc/X11/Xwrapper.config. This is due to sx attempting to run commands from within a subshell and is thusly not considered a console user.
Use an existing .Xinitrc by specifying an appropriate interpreter such as sh(1) or making it executable with a correct interpreter line:
sx sh ˜/.Xinitrc
Pass arguments to the standard sxrc by presenting it to sx as a command:
sx ˜/.config/sx/sxrc arg1 arg2
https://github.com/Earnestly/sx
startx(1), X(7), xinit(1), Xorg(1), Xsecurity(7), Xwrapper.config(5)