McGill University School of Computer Science
McGill University School of Computer Science
Views
You are here: GUI

GUI

From Socs Info Wiki

This document provides information related to GUIs available to valid computer user account holders at the School of Computer Science, of McGill University.

Contents

General

Note: Most of the following text is taken from related entries at Wikipedia.

A graphical user interface (or GUI, often pronounced "goo-ee") is a method of interacting with a computer that uses graphical images and "widgets" in addition to text. GUIs generally consist of graphical widgets such as windows, menus, buttons, and icons, and employ both a pointing device and a keyboard.

A window system is a system that provides functionality for drawing and moving windows on the screen and also provides a mouse cursor for the computer's graphical user interface. The most common window system for Unix systems is the X Window System (aka X); and the most widely used implementation of it is "X.org", which is free (open source) software.

Display manager

A display manager is a program used to

  • keep the X server process alive,
  • connect the X server process to a physical screen,
  • serve a login prompt,
  • authenticate the user, and
  • run a session.

A session is defined by the lifetime of a particular process; in the traditional character-based terminal world, a session is defined by the lifetime of the user's login shell. In the graphical display context, a session is defined by the lifetime an arbitrary session manager.

The default display manager for X is called "XDM", while the program is named "xdm". At SOCS, we use XDM on the FreeBSD machines, and "GDM" (who's program name is "gdm") on the Linux machines. GDM is essentially the same as XDM, except it has a slightly nicer interface. As part of their operation, xdm and gdm run a script called "Xsession", which looks for the user's ".xsession" file to issue commands that determine the user's X session (for instance, what desktop environment or window manager to launch). Xsession implements a default session if no user-specific session exists.

~/.xsession     - User-specific settings and actions, executed at the start
                  of an X session.

On the machines that use GDM rather than XDM, you can also change desktop environments through the GUI. You can select "Session" at the bottom of the screen then select the desktop environment you would like to use. Though this is easier, it can create some problems in the SOCS environment, so we reccommend that you use the ~/.xsession file instead.

Desktop environments and window managers

Desktop Environment

A desktop environment is a complete GUI solution that extends the X Window System. Examples of popular desktop environments are:

Desktop environments available at SOCS:

  • GNOME (gnome-session)
  • KDE (startkde)

Desktop environments are complete GUI solutions to the point that they come with their own replacements for XDM. Though if XDM is the default display manager, it is still possible to use GNOME and KDE.

Desktop environment explained at Wikipedia.

See below for how to set your desktop environment.

Window Manager

Similar to a desktop environment in principle is a window manager, though it is not a "complete GUI solution" - it is a program for controlling the placement and appearance of application windows under X.

Window Managers available at SOCS:

  • Afterstep (afterstep)
  • Enlightenment (enlightenment)
  • FVWM (fvwm2)
  • TWM (twm)
  • WindowMaker (wmaker)
  • OpenBox (openbox)
  • Fluxbox (fluxbox)

Window manager explained at Wikipedia.

See below for how to set your window manager.

Setting your desktop environment or window manager.

When XDM is the default display manager, it is necessary to edit the file "~/.xsession" by inserting a command that launches the desired desktop environment or window manager. The commands that launch these desktop environments and window managers are written in brackets in the two lists above. For example, if you want GNOME as your desktop environment, your .xsession file you should have the following lines:

export XWINMGR=gnome-session
. /usr/socs/Xsession

If in your home directory you have a file named .xinitrc you can mv it to .xinitc-orig and then make a symbolic link from .xinitc to .xsession as follows. Note also that .xsession should be executable.

[nfland1][lab2-35][~] mv ~/.xinitrc ~/.xinitrc-orig
[nfland1][lab2-35][~] ln -s ~/.xsession ~/.xinitrc
[nfland1][lab2-35][~] chmod 700 ~/.xsession

Switching from graphic console to text console and back

Simultaneously press Ctrl-Alt-F1 to switch from a graphic console to a text console. To switch to a graphic console from a text console simultaneously press Alt-F4 or Alt-F7. Note that the "Ctrl" key is not necessary when going from text to graphic console. If you can't find what you're looking for in either direction, there is no harm in cycling through all the function keys (F1-F12).