Modifications to Cygwin on the CD
The CD contains an install of Cygwin that has been modified.
Modifications were made for three purposes: make Cygwin runnable from a CD,
make the CD appear as an application that runs an X server, to provide
an ssh client with X forwarding, and to provide easy access to data.
Cygwin is designed to be installed on a system rather than to be run from a CD.
The method of making Cygwin run from the CD was taken from
a post to the Cygwin mailing list on 19 July 2003. Below the post will
be referred to as the "mailing list post". A few deviations from the
methods of the mailing list post have been taken. The goal of the
deviations has been to give the CD the appearance of being a single
application that is an X Windows server that provides xterms. The user
starts X by inserting the CD, gets one xterm, can create more xterms,
can copy and paste text between xterms and native windows, and
eventually exits the application. Cygwin offers much more than that,
but that is how the CD has been designed. To facilitate X forwarding
the openssh client has been configured to request X forwarding by default.
To provide easy access to data, the user home directory is the current desktop
rather than an unwritable directory on the CD.
Cygwin packages
The Cygwin install is from 16 November 2004. All default packages were installed
plus the following:
- Archive
- Editors
- Interpreters
- Libraries
- Network
- Shells
- Utilities
- X server
- xorg-x11-base - and all the packages that come with it
- xorg-x11-f100 fonts
Subtractions
- /cygwin.bat - not appropriate for running off of CD. Removed as recommended
by the mailing list post
- /etc/passwd - not appropriate for running off of CD. Removed as recommended
by the mailing list post
- /etc/group - not appropriate for running off of CD. Removed as recommended
by the mailing list post
- /etc/profile - not appropriate for running off of CD. Removed as recommended
by the mailing list post
Additions
- /run.bat
- A wizard script that launches when the CD is inserted into
Windows XP/2000/NT computers.
- Win 98 users can double-click to launch the wizard.
- /X.bat
- Startup script that launches X Windows.
- The script exits when the X server exits.
- Modified from cygmin.bat that was provided by
the mailing list post.
- Using commands from cygmin.bat, this script saves mount points
when it starts and then restores them when it exits.
- Rather than running a bash shell, the script runs the
X windows server.
- Before exiting, removes .* files and directories from the user's
home directory (the desktop).
- /cygmin.ini
- Sets environment variables for bash shells.
- Modified from the mailing list post to set man path, include
X binaries on path, use the desk top as the home directory,
and set the prompt.
- Used by /X.bat and /usr/local/bin/runxwin.sh.
- /usr/local/bin/cleanhome.sh
- A bash script for cleaning home directory.
- Deletes .* unless .xlivecd_hide is present.
- If .xlive_hide is present sets Windows hide attribute for .*
files and directories.
- Appropriate because the user's home directory is the desktop,
and the desktop should not be cluttered by .bash_history
and .ssh. Also, the CD should leave as few footprints
as possible.
- Run by /X.bat.
- /usr/local/bin/runxwin.sh
- Modified version of /usr/X11R6/bin/startxwin.sh.
- Run by /X.bat.
- Places a shortcut on the desktop for running new xterms.
- Runs xwinclip to provide cross-platform cut and paste
- Does not exit until the X server exits.
- On exit shuts down xwinclip.
- On exit removes the xterm shortcut from the desktop.
- Name changed from startxwin.sh because it is likely to
be on the path before the real McCoy.
- /index.html, /livecd/doc/*.html - Documentation.
- /AUTORUN.INF - Runs run.bat.
- /livecd/WizApp - The Wizard's Apprentice
http://wizapp.sourceforge.net. Run by /run.bat.
- /livecd/install - contains tarball and script for installing Cygwin
packages from the CD that will run very much the CD version.
Modifications.
- Drastically reduced set of terminfo entries.
- Cygwin terminal entry retained.
- Xterm terminal entry taken from X.org xterm package.
- User's home directories are their desktops.
- This change was made to provide users with convenient access
to their data. It is assumed that users will want to
transfer data to and from remote machines. Why make them
navigate out of a Siberian home directory on the
CD that isn't writable?
- Home directories are set in /cygmin.ini.
- /etc/ssh_config
- X11 forwarding is requested by default so that users
need not use -X with ssh.
- Trusted X11 forwarding is requested by default so that users
need not use -Y with ssh.
Documentation copyright and license
Copyright (C) 2004 by The Trustees of Indiana University. This material may
be distributed only subject to the terms and conditions set forth in the
Open Publication License, v1.0 or later (the latest version is presently
available at
http://www.opencontent.org/openpub/). Distribution of substantively
modified versions of this document is prohibited without the explicit
permission of the copyright holder.