ahx11
--------
ACORN_INSTALL
DESKTOP_SESSION_STARTUP
XDG_VARIABLES
SESSIONS for Ubuntu 14.04
SESSIONS for Ubuntu 12.04
DESKTOP_FILES
CINNAMON
FONTS
bootstrap has code to setup twm and fvwm environment (adds sessions to list)
(to run manually: cd mybin/xsession ; ./do_install_acorn_twm_session )
Use "cinnamon + fvwm for gLinux Rodete" for google desktop computers.
See comment in mybin/bootstrap about INSTALLING_THE_PANELS.
See
$HOME/mybin/xsession/README.txt
for info on how desktop starts up a session.
$XDG_DATA_HOME - default: $HOME/.local/share
$XDG_CONFIG_HOME - default: $HOME/.config
$XDG_DATA_DIRS - augments XDG_DATA_HOME
default: /usr/local/share/:/usr/share/
$XDG_CONFIG_DIRS - augments XDG_CONFIG_HOME
default: /etc/xdg
$XDG_CACHE_HOME - default: $HOME/.cache
$XDG_RUNTIME_DIR - default:
Use the "Acorn GNOME fvwm" session from greeter.
Use the "Acorn GNOME twm" session from greeter.
## STARTUP INFO -- how the session starts ##
lightdm offers any sessions it sees in /usr/share/xsessions/*.desktop
Icons are in /usr/share/unity-greeter/custom_SESSION_badge.png
lightdm runs the /usr/sbin/lightdm-session shellscript to start a session:
/usr/sbin/lightdm-session gnome-session --session=acorn-gnome-twm
Arguments are Exec= field from selected /usr/share/xsessions/*.desktop file.
This sources the following files:
/etc/profile # sh script
$HOME/.profile # sh script
/etc/xprofile # sh script
$HOME/.xprofile # sh script
/etc/X11/Xresources/* # merged with xrdb -nocpp -merge
$HOME/.Xresources # merged with xrdb -nocpp -merge
/etc/X11/Xkbmap # loaded with setxkbmap
$HOME/.Xkbmap # loaded with xsetkbmap
/etc/X11/Xmodmap # loaded with xmodmap
$HOME/.Xmodmap # loaded with xmodmap
/etc/X11/xinit/xinitrc.d/* # sh scripts
/etc/X11/Xsession.d/* # sh scripts
The last script in /etc/X11/Xsession.d/* is
/etc/X11/Xsession.d/99x11-common_start
which exec's $STARTUP which is set by previous scripts in the same dir.
For many session types this is set to 'init --user' by a combo of these files:
/etc/X11/Xsession.d/00upstart
/etc/upstart-xsessions
/etc/X11/Xsession.d/99upstart
init --user is upstart in user session mode. It reads all files these directories:
$XDG_CONFIG_HOME/upstart/ = $HOME/.config/upstart/ (automatically created but empty)
$HOME/.init/ = $HOME/.init/ (does not exist)
$XDG_CONFIG_DIRS/upstart/ = /etc/xdg/upstart (empty)
/usr/share/upstart/sessions/ = /usr/share/upstart/sessions/ (lots of stuff including
gnome-session.conf)
upstart launches gnome-session due to /usr/share/upstart/sessions/gnome-session.conf
gnome-session launches lots of crap including the things from the .session file
in /usr/share/gnome-session/sessions. The .session file includes the window
manager which is listed via a desktop file which must exist in /usr/share/applications. For example
/usr/share/applications/metacity.desktop
/usr/share/applications/fvwm.desktop - Does not work with gnome (see below)
/usr/share/applications/acorn-fvwm.desktop
/usr/share/applications/acorn-twm.desktop
The gnome-session-fallback (GNOME fallback (Metacity)) session also works this way.
Acorn's acorn-gnome-fvwm and acorn-gnome-twm sessions also work this way.
Tconntecthe twm and fvwm window managers do not cooperate with gnome-session - they do
not notify gnome that they have started. The twm_wrap and fvwm_wrap programs
(written by acorn) allow them to work by notifying gnome and then execing
twm/fvwm. Therefore the acorn-twm.desktop file points to twm_wrap, and similar
for acorn-fvwm.desktop. The metacity.desktop file works correctly and is
installed via debian packages.
The usr_share_applications_acorn-fvwm.desktop and usr_share_applications_acorn-twm.desktop files in mybin/xsession do not use the _wrap program, but acorn-fvwm-wrap.desktop and acorn-twm-wrap.desktop are modified by mybin/xsession/do_install_acorn_twm_session to use the wrappers, and these files are placed in
All the acorn-specific parts come from mybin/xsessions/...
## LOGS ##
In order of usefulness:
less $HOME/.cache/upstart/gnome-session-*.log # things started by gnome-session
sudo cat var/log/lightdm/lightdm.log | less # lightdm startup
## DETAILS: ##
sessions in /usr/share/xsessions
gnome-session sessions in /usr/share/gnome-session/sessions
desktop files in /usr/share/applications
## SEE: ##
vw /usr/sbin/lightdm-session
vw /usr/share/doc/gnome-session/README.Debian (Contains incorrect info)
vw /usr/share/upstart/sessions/xsession-init.conf
vw /usr/share/upstart/sessions/gnome-session.conf
## OTHER INFO: ##
$HOME/.profile can set env vars used in scripts (e.g. upstart session scripts)
## DOES NOT WORK: ##
Setting WINDOW_MANAGER=/usr/bin/twm no longer works because the gnome fallback
session hardcodes metacity, the regular gnome session uses "gnome-shell" for
its window manager, and unity always uses unity as its window manager.
available sessions are listed here: /usr/share/xsessions
my session: /usr/share/xsessions/acorn-twm.desktop
[Desktop Entry]
Name=Acorn TWM
Comment=This session logs you into Acorn TWM Mode
Exec=gnome-session --session=acorn-twm
TryExec=gnome-session
Icon=
Type=Application
X-Ubuntu-Gettext-Domain=gnome-session-3.0
The line
Exec=gnome-session --session=acorn-twm
indicates a session found here: /usr/share/gnome-session/sessions/acorn-twm.session
[GNOME Session]
Name=Acorn TWM Session
RequiredComponents=gnome-panel;gnome-settings-daemon;
RequiredProviders=windowmanager;
DefaultProvider-windowmanager=acorn-twm
DefaultProvider-notifications=notify-osd
DesktopName=AcornTwm
The acorn-twm component needs a .desktop entry: /usr/share/applications/acorn-twm.desktop
[Desktop Entry]
Type=Application
Name=Twm
Exec=twm
NoDisplay=true
# name we put on the WM spec check window
X-GNOME-WMName=twm
# back compat only
#X-GNOME-Bugzilla-Bugzilla=GNOME
#X-GNOME-Bugzilla-Product=twm
#X-GNOME-Bugzilla-Component=general
X-GNOME-Autostart-Phase=WindowManager
X-GNOME-Provides=windowmanager
#X-GNOME-Autostart-Notify=true
#X-Ubuntu-Gettext-Domain=metacity
find /usr/local/share /usr/share /etc/xdg .config/ .local/share/ -name '*.desktop'
find /usr/local/share /usr/share /etc/xdg .config/ .local/share/ -name '*.session'
<file>.desktop files live in
/usr/share/applications - installed applications
$HOME/.local/share/applications - personal applications
They define programs that can be launched from gui (menus etc)
See ~/mybin/scripts/acorn_setup_file_associations - a script to create desktop files for acorn.
The acorn_setup_file_associations script is run by mybin/bootstrap.
a nice desktop environment
To install:
sudo add-apt-repository ppa:gwendal-lebihan-dev/cinnamon-stable
sudo apt-get update
sudo apt-get install cinnamon
sudo apt-get install gnome-icon-theme-*
See mybin/scripts/fonts_for_xterm