How to use X-Server with Factory

X server provides the basic framework, or primitives for building GUI environments and interacting with a mouse and keyboard. For typical X-server functionality, Factory X init will start the X Window System server and a client program found under "/etc/X11/Xsessions.d/". The client program is either a desktop environment or X app. When the client program exits, xinit will kill the X server and then terminates.

The repository includes multiple desktop environments and X servers (see below for the list of supported desktops and servers). To demonstrate X11 session with factory, a user must select atleast one desktop environment template under Target Configuration -> Initial Selection Templates and one X server package in Factory menuconfig.

Procedure

All you need is one desktop platform template and one X server. By default, each desktop template package will install a file in "/etc/X11/Xsession.d" to start itself when X server comes up:

  • Factory build with TSWO_PLATFORM_TEMPLATE_MATCHBOX=y.
    Note: run "make update" if you have already build factory. This will prompt for any missing dependency packages.
  • TSWO_SOFTWARE_xserver-xfbdev=y

Desktop template can be augmented by selecting additional packages under Target Software -> Software Packages -> Desktop Environments for respective environments.

  • Work Flow
    • Init Script -> Start server script found under "/etc/init.d/"
      • Server Script -> Start Xinit with X session script and server as a arguments
        • X session script -> will start actual sessions

List of directories and files

  • /etc/X11/Xsession.d — Default directory for X sessions
  • /etc/X11/Xsession — Script for starting X sessions, run by Xinit
  • /tmp/xsession-errors — For logging error messages

List of factory supported X server and Desktop Environments

  • TSWO_SOFTWARE_xserver-xfbdev
  • TSWO_SOFTWARE_xserver-xorg
  • TSWO_PLATFORM_TEMPLATE_MATCHBOX
  • TSWO_PLATFORM_TEMPLATE_GPE_DESKTOP
  • TSWO_PLATFORM_TEMPLATE_ENLIGHTENMENT_DESKTOP
  • TSWO_PLATFORM_TEMPLATE_QT
  • TSWO_PLATFORM_TEMPLATE_LXDE_DESKTOP
  • TSWO_PLATFORM_TEMPLATE_XFCE_DESKTOP