ahx11

ahx11


CONTENTS

-------- ACORN_INSTALL DESKTOP_SESSION_STARTUP XDG_VARIABLES SESSIONS for Ubuntu 14.04 SESSIONS for Ubuntu 12.04 DESKTOP_FILES CINNAMON FONTS

ACORN_INSTALL

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.

DESKTOP_SESSION_STARTUP

See $HOME/mybin/xsession/README.txt for info on how desktop starts up a session.

XDG_VARIABLES

$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:

SESSIONS for Ubuntu 14.04

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.

SESSIONS for Ubuntu 12.04

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'

DESKTOP_FILES

<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.

CINNAMON

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-*

FONTS

See mybin/scripts/fonts_for_xterm