College of ECT X Session -- Customization FAQ

Such as it is, here is the information we have on customizing the new X session. A rewrite of this document and changes to the environment that make customization easier are planned for 9/95. --Jim Garlick

General

G1. Where are the X windows scripts?
/usr/chico/etc/xsession contains the scripts and config files used to start our configuration of X. XDM config files are in a subdirectory called "xdm". In the Q&A's below, files that don't begin with "/" should be assumed to live under /usr/chico/etc/xsession.
xdm/Xsession -- handles the "failsafe" session (see question G2), and starts sys.xsession.
sys.xsession -- loads X resources, starts an initial xterm client, and starts the vuewm window manager.
sys.xresources -- contains X resources that are loaded by sys.xsession.
sys.vuewmrc -- main vuewm configuration file. It is actually split into various files using an INCLUDE statement.
fp.* menu.* -- INCLUDE'ed components of sys.vuewmrc.
G2. I started customizing, but now X is broken and I can't log in to fix it.
Type F1 instead of return right after your password when you log in. This will start a "failsafe" session, which is just a single xterm or hpterm window with no window manager. Logging out of that window ends the failsafe session.
G3. I am debugging a custom window manager config and logging off and on again is time consuming.
Try selecting "Restart workspace manager" from the root menu.
G4. How do I test my xresources file without logging out and in again?
To reload your X resources (the same way sys.xsession does it at startup): cd /usr/chico/etc/xsession, then cat sys.xresources $HOME/.xhp/xresources | xrdb -load Then restart the client whose resources you are modifying.

Light Customization

L1. How can I set up the "personal menu" that is dimmed in the root menu?
Copy personal/menu.personal to $HOME/.xhp and modify to taste.
L2. How can I set up a personal toolbox on the front panel?
Copy personal/fp.personal to $HOME/.xhp and modify to taste.
L3. I want to have some X resources loaded in addition to the system ones. How can I get them loaded when X starts?
Put them in $HOME/.xhp/xresources. sys.xsession will load these after the system resources, so you can override system resources if you wish.
L4. How can I start additional clients when X comes up?
Put them in $HOME/.xhp/xsession.clients.
L5. How do I set up a menu.personal entry for machines outside of ECT?
Machines that do not mount your ECT home directory will not have your MIT-MAGIC-COOKIE keys, and therefore will not be able to connect to your display. Also, user equivalence may not allow your host to remotely execute commands.

To be allowed to remotely execute commands, your system either needs an entry in the remote system's /etc/hosts.equiv file or in a .rhosts file in your account. Test with the command

            rsh remote_system hostname.
       
If it prints the remote system name, this is not a problem. If it doesn't, you need a .rhosts file. If quasar is the remote system, and pathogen is where your X environment is running, create a .rhosts file on quasar containing the line:
            pathogen.ecst.csuchico.edu yourname
       

The following command sends your MIT-MAGIC-COOKIE keys to the remote system: /usr/bin/X11/xauth extract - $DISPLAY | rsh remote_system \ /usr/bin/X11/xauth merge -

So, a menu.personal entry for quasar could look like this:

            "quasar" f.exec "/usr/bin/X11/xauth extract - $DISPLAY | rsh quasar
                /usr/bin/X11/xauth merge - ; xrcmd quasar xterm -n quasar"
       

Heavy Customization

H1. How can I run my own xsession file instead of sys.xsession?
If you customized X before, you may have a $HOME/.xsession file. If you simply want this to run, remove the $HOME/.xhp/.usedefault file. This file was created when XDM (or xstart) first asked you whether or not you wanted to try the new session.
If you prefer to keep your HP configuration separate from the other systems, copy sys.xsession to $HOME/.xhp/xsession and modify to taste.
H2. How can I load my own X resources instead of the sys.xresources?
Copy sys.xsession to $HOME/.xhp/xsession (or edit your own) and modify the "xrdb -load" line to load your file.
H3. How can I get all the vuewm config into my home directory for customization?
Copy sys.vuewmrc to $HOME/.xhp/vuewmrc.
Copy fp.* and menu.* to $HOME/.xhp. Edit $HOME/.xhp/vuewmrc and modify INCLUDE paths to use your fp.* and menu.* files.
H4. How can I track changes in the system files so I can incorporate them into my personal files?
In your vuewmrc file, INCLUDE menu.term and fp.tools from the system directory rather than your home directory. These are the files that change most frequently.