Go here, log in with your UT EID, and follow the instructions.
My CS account has expired. I have a CS account again now, and I was wondering whether my old account was archived and whether it would be possible for me to get my old files back?
Unfortunately, no. After an account has expired the files will not be restored.
I am getting a weird capital A with a circumflex over it in so me of the text displayed in my terminal. How do I get rid of this?
This is typically caused by older programs that can't handle unicode properly. You will need to add setenv LANG=C to your .profile file (or whichever shell config file you use, such as .bashrc).
What's this about home directory quotas? What's my current quota? Why do I get a message, "Disk quota exceeded"? Why can't I save anything to disk? Why won't my editor save or do anything?
Reluctantly, UTCS has started using hard quotas on home directories. You can read more about it here.
Not being able to save things to disk, or experiencing editor save failures are signs that your home directory may have reached quota. Use chkquota to see if you have reached yours. You can use du -sk ~/* ~/.??* | sort -n to see what is taking up the most space. Try removing some files to see if that fixes your issues. If the problem is still occurring, send mail to email@example.com describing the problem. We are NOT ABLE to raise your quota.
How do I edit the "Plan" that people see when they finger me? I have a .plan file; why can't people see it?
The "Plan" is a printout of a file named .plan in your home directory. For people to see it, the file must be world-readable and your home directory must be world-executable.
How do I change the information people see when they finger my CS account (my real name, my phone number and address, etc)?
A login name is permanent for the life of an account, as stated on the account form; once the account has been created the login name cannot be changed.
We have no way of finding out what your password is, so you'll have to change it. You should visit our password update webpage and log in using your UTEID to change your password. Please read the instructions and information provided carefully. If that fails for some reason, go to ENS 31NE with a picture ID and talk to the staff there to have it changed. For security reasons, passwords are never sent via email. Also, any password update by any method can take a couple of hours to propogate through our network, so please be patient.
I have a non-CS major account (tmpclass) right now, and I'll be eligible for a CS undergrad account (under) soon. Can I just get my current account changed to an under account?
You can see the expiration date for your account by typing finger firstname.lastname@example.org on the command line. Under and tmpclass accounts are automatically extended each semester provided the student who holds the account is enrolled in a Computer Science course that semester. For all types of accounts, notice will go out two weeks prior to expiration. If you have received an expiration notice, do the following, according to the type of account you have:
- under - contact the undergrad advising office - they must verify that you have not yet graduated and are still a CS major. They will then contact us to extend your account.
- tmpclass - email email@example.com. If you are not enrolled in a qualifying CS class, however, your account will not be extended.
- tmpmicro - email firstname.lastname@example.org. You must be enrolled in an Elements of Computing course to maintain this type of account.
- grad - grad accounts are changed to guest accounts upon graduation and extended for one year. To keep your account beyond that, you will have to have a faculty sponsor. They must request that the account be extended.
- guest - an extension must be requested by the sponsor of the account. They will also receive the notice.
Where are there computer labs I can use? When are the labs open? What kinds of computers are available for me to use?
The public labs are located in GDC 3.302 and GDC 1.310. Each station contains a UNIX machine and a Windows machine with a KVM switch to go from one to the other. You can also access the UNIX computers remotely via ssh; view the public UNIX host status page for a list of the UNIX computers and their current status. These labs are open to all students currently enrolled in a CS course.
For more information on all of these labs, see the Public Labs page.
There's something wrong in one of the labs or one of the buildings (the A/C isn't working, it's flooding, it's on fire, one of the light bulbs is burned out, ...). Who do I report it to? How do I get it fixed?
Facilities problems should be reported directly to Physical Plant Planning and Scheduling by calling 471-0043 (for GDC) during normal working hours, or sending email to email@example.com.
For urgent conditions outside normal working hours please call 471-2020.
For urgent conditions directly affecting CS department facilities, e.g. fire, flood, ceiling leaks onto machines, etc, please notify firstname.lastname@example.org after notifying emergency personnel.
A lot of information about printers, including location, is stored in the file /etc/printcap -- you can look there for the location of a specific printer. You can also run man printers for usage and location information about the public printers.
How can I find out the names of some computers I can use? What machines are publically available on the CS network? What's a "public" machine?
A "public" machine is a machine that can be logged into by anyone with a CS account; the name linux.cs.utexas.edu is always aliased to a public Linux machine. You can use the command cshosts to find out more information about other machines on the CS network; type cshosts help or man cshosts for more information about how to use it. Alternatively, you can visit the public host status page for a list of public hosts and their current status.
How can I raise/lower the resolution on the Linux and x86 machines? When I start X, my windows don't fit all the way on my screen -- how do I fix that?
You may be able to increase or decrease the resolution by typing "Ctrl Alt +" and "Ctrl Alt -" in X, using the + and - keys on the number pad rather than the ones between '0' and 'backspace'. If your windows are hanging partly off your screen, Ctrl Alt + will fix it; they're set up for a higher resolution than the default. If you have troubles with the default resolution on a machine in your office, please email email@example.com describing your problems and specifying your machine and we will attempt to fix things. We can typically change the default resolution or refresh rate upon request.
Assuming you want more than wireless networking, you have two options. One is only intended for short-term visitors and students such as undergrads without offices. These users can again use Horatio with the public DHCP network jacks located in all of our public unix labs. These jacks should be clearly labelled as public, Horatio connectors. Most will have ethernet cables already attached.
For longer term / office usage, we are happy to offer you a static IP address or a DHCP address. For DHCP, please submit a shopreq requesting a dynamic address, and informing us of the building, room #, and wall jack #, and we will set up a connection to horatio. For those wanting a static IP address, we'll need the following submitted in a shopreq (type 'shopreq' at the command line on a unix machine or visit this web page):
- A requested hostname (in csres.utexas.edu).
- Computer vendor make/model (e.g. Dell/Precision-390n).
- The location of the computer. Please provide a Building AND a room number.
(Please don't say something like Prof Smith's Laboratory)
- The walljack number, or the label on the cable in some buildings, any number which identifies where the computer is to be physically connected to the network.
- Operating system(s).
- Name of computer's owner (i.e. who paid for it).
- Name of the system administrator for this machine. This will be the "Responsible Person" and will be expected to be able to respond quickly and knowledgeably to reports of security violations and other types of abuse. He or she is expected to install, maintain, and run the computer in a responsible manner.
- The UTID, if owned by the university. This will be a six digit integer, probably beginning with an '8' if it is a recent purchase. It will appear on a tag which has been attached to the computer by the University, and not the vendor.
- If there is no UTID, then please provide the vendor's serial number. This is typically on the back of a computer, sometimes identified by "SN".
What is the name of the CS POP (Post Office Protocol) and IMAP (Internal Mail Access Protocol) server? The SMTP (Simple Mail Transfer Protocol) server?
The CS POP/IMAP server is "mailbox.cs.utexas.edu". We recommend you use IMAP instead of POP. IMAP requires a CS password.
The SMTP server is "mail.cs.utexas.edu".
How does the procmail setup in the CS department work? Why can I not forward email or execute programs during delivery via my .procmailrc?
The CS department install of procmail which filters your mail upon delivery is specially configured for our environment. It is set up as usual via your ~/.procmailrc file, but with two caveats:
- You may not run a program from your .procmailrc. This is to protect our mailserver (and thus your mailbox), not only from deliberately malicious actions but also from accidental misconfigurations which would swamp the server. Since our mail server does not allow user logins for the same reasons, this is an extension of existing policy.
- You may not forward mail to another user via the '!' mechanism in a procmail recipe. This is to protect the mail server from the high load and eventual meltdown that can be caused by a mail loop.
With these restrictions in mind, the main use of procmail during message delivery at CS is to filter your mail in real-time into different folders based on headers (such as the score it received from our spam-analysis system, the sender, a mailing-list-specific header, or the subject).
Since we have disabled execute and forward functionality in procmail during delivery, we suggest using the example in the procmail(1) man page for a template in creating your own post-processing scripts. The version of procmail in /lusr/bin which you can run manually does not suffer these limitations.
(Search for the third occurrence of the string 'cron' in this man page to find the example script.)
Two changes you will need to make to that script are to change the $ORGMAIL variable to point to the actual location of the folder, and to provide a separate procmail recipe file to the executed version of procmail in the script (the line formail -s procmail < .newmail && will need to be changed to formail -s procmail /path/to/your/recipefile < .newmail && ).
These scripts can be run periodically via the cron(1) command to do the actions automatically, or you can run them before you read mail to do something like filter out the messages or text you don't like.
PLEASE NOTE: To avoid clobbering mail folders make sure all recipes start with :0:, not just :0. The procmailrc(1) and procmail(1) manpages have more details."
While there may be any number of reasons for the failure, lately there has been a trend among the big ISP's to start blocking outbound network traffic intended for mailservers on the internet, such as mail.cs.utexas.edu. The reason for the change is typically cited as spam prevention, a goal which the department supports fullheartedly. We recommend configuring your machine to connect with TLS or SSL encryption (see our faq entry: http://www.cs.utexas.edu/facilities/faq/406); if this fails please do not hesitate to email firstname.lastname@example.org and we will try to help you resolve the problem.
I've got a mail message with the subject "DON'T DELETE THIS MESSAGE -- FOLDER INTERNAL DATA," and the body says not to delete the message or important data will be lost. What's going on?
The POP/IMAP servers use this "dummy" message to maintain state across different instantiations of the server. When you read mail with a POP client like Eudora, that message gets created. You can't see it when you read mail with a POP client, but if you use another mail reader (such as mush) it will show it to you as a regular message. It's true that if you delete the message, your POP mailer will lose data about where things are stored, etc.
You will need to create a SMTP email password to authenticate with our SMTP mail server. This is not the same as your CS account password and must be set separately. You can do this online. The smtp authentication process is case sensitive for both the login name and the password.
- Server: mail.cs.utexas.edu
- Connection security: STARTTLS
- Authentication method: Encrypted
- Port: Default (or 587, see below)
If you are experiencing login failures, your ISP may be blocking/redirecting port 25/tcp, or your client (e.g. Outlook) may not be able to initiate a secure connection on port 25. In that case you can use port 587/tcp instead.
If you have questions or problems, send mail to email@example.com.
You have several options:
- You can easily use the CS webmail to connect to your CS mail account. Simply log in using your CS account and password.
- You can also use a third party webmail server, such as Yahoo. You can select options to have that service automatically pull mail from your CS account. This option is not recommended as we have no control over, or access to Yahoo's operations and you have no recourse if something goes wrong (ie they delete all your mail and fail to show it to you). But for those who already have Yahoo or similar service setup, it may be easier than setting up or visiting yet another location to retrieve mail. On Yahoo, select the mail tab, then "mail options", then "mail accounts" and add the CS mail server and your account. This transaction will NOT be encrypted, nor is their transmission to/and from UT so your password and mail contents are visible to any bad guys between you and yahoo and between yahoo and the CS department. Please see the previous questions in this FAQ section for the POP, IMAP and SMTP settings.
- Forward your mail to a separate offsite address which already provides webmail, such as hotmail or gmail.
How do I set up my account so that it automatically sends out a message stating that I am on vacation when I receive an incoming message? How do I turn it off?
Use the 'vacation' program. You can read the vacation(1) man pages for usage info, but the quick-start method is to create a message you'd like to send in response to emails you receive and save it as ~/.vacation.msg, and then run vacation -i. To turn this off, simply remove ~/.vacation.msg.
How do I forward my mail from my CS account to a different account? Why isn't my .forward file working? How can I get my mail forwarded someplace else after my account expires?
All mail forwarding on the CS system is handled by a central user account database; .forward files won't work. To get mail forwarded, you should visit our mail forwarding webpage and log in with your UTEID. Mail is never forwarded past the lifetime of an account; however, alumni can request a lifetime @alumni.cs.utexas.edu forwarding address. In case you want to learn more about how to use procmail on our systems, check out the FAQ on procmail.
Mailing lists, for the most part, are only created for "official" department purposes (lists of students in a class created for TAs, etc). These are the steps to take to create one:
- Create a file of the people who should be on the list, one email address per line.
- Make the file world readable.
- Make all directories in the path to the file world executable.
- Email firstname.lastname@example.org, giving the name of the alias you want, the name and path of the file, and the purpose of the alias.
The alias, if approved, will become effective within one or two business days.
Our spam filtering relies partly on a bayesian filter, which requires constant training to keep up with the ever changing tactics of spammers. You can help us by sending a complete copy of your spam emails to email@example.com. Please note, this must be a *complete* copy of the email, including all headers. The easiest and best way to send the mail is to use your mail client's ability to "Forward as an Attachment".
How do I print something to one of the printers? How do I see whether my job has printed? How can I remove something from the print queue if I decide to cancel it or I have to leave?
You can type "man printers" for information on how to use the printers, what the printer names are and how to refer to them, etc. The commands to use the printer are: lpr -Plw[printernumber] [yourfile] - prints "yourfile" to the named printer lpq -Plw[printernumber] - displays the current print queue for the named printer lprm -Plw[printernumber] [job ID] - removes the job with ID job-ID from the print queue for the named printer. Job ID's are found with 'lpq'.
To find out which printers can be printed to ("public" printers), use the command ypmatch lw.pub machines. For more information about the printers (location, usage, etc.) please run man printers.
Where are the printers located? How can I find out where a given printer (say, lw7) is located? How can I find out what a printer is called, that I know the location of?
A lot of information about printers, including location, is stored in the file /lusr/share/etc/printcap -- you can look there for the location of a specific printer. You can also run man printers for usage and location information about the public printers.
I am using a computer running Windows or MacOS that is connected to the csres network or to Horatio. How do I print to the CS printers?
Press the down arrow button, and it will ask you if you would like to print to normal paper that is available. Press OK and it should begin to print using the paper from one of the trays.
I am using a computer not currently connected to the CS or CSRES network. How do I print to the CS printers?
Type 'lpq -Plw[printernumber]'. This will often display an error message such as "Out of paper" or "Paper jam". If one of these errors has occurred, correct it (put more paper in the printer or open it and clear the jam if the printer is not physically locked). If that doesn't fix the problem, or if no such problem is displayed, restart the printer daemon with the command /lusr/etc/restart_lw -Plw[printernumber] and see if that fixes it. If the printer seems to be hanging on a specific large job, try cancelling that job and restarting the printer daemon. If none of these steps clears the problem, submit a shopreq and describe the problems and the steps you've taken.
You don't. The software is specifically setup to prevent you from doing this. Printers are not copiers and should not be used as such.
An Oracle database server is installed for use by some classes; check with the class instructor about how to get access to it and how to use it. The MySQL database system is installed in /lusr/etc, with the database server program (mysqld) installed only on the Linux machines and client programs and libraries on all of the architectures. MySQL was installed originally to support a staff project, which is why it is installed in /lusr/etc and not on the default path as why the server is installed only under Linux. We don't really have the resources to support a dedicated database for everyone to use, and we don't have the resources to let everyone run a copy of the database server on production machines all the time. However, if you want to run MySQL while you are actively logged in, you can use the --datadir=path argument to mysqld to tell it to look for the database files somewhere in your home directory. Try not to use too much space or processor time, and remember to shut down the server before you log out. Also, be careful about unauthorized access since the security of your database is up to you. If MySQL is abused to the point of causing problems for other people, we will have to turn the bits off to prevent anyone from using it. At the moment, we don't plan to install any web-based interfaces or any other additions to MySQL. For more information about MySQL, check the documentation available online.
Also, in some cases we can support your MySQL needs on a less-supported but departmentally maintained server. The faq page on Z has more information about the services provided there.
We have installed Java in /usr/bin/java. We generally have the latest version on the default system path so you will get that version by default.
GNU gcc is available in /usr/bin/gcc. g++ is the C++ compiler based on gcc and is located in /usr/bin/g++. There are several additional versions of each of these (4.1, 4.3 and 4.4 found by adding -4.1, etc to the path).
gfortran is available as /usr/bin/gfortran.
Yes, the directory location is: /usr/bin/perl. Perl (Practical Extraction and Report Language) is a scripting language often used under UNIX. Perl provides access to all operating system calls but is interpreted (not compiled), so it is faster to code and easier to debug than writing, say, C; but it typically runs more slowly.
Yes, Python is located in the directory: /usr/bin/python. Python is an interpreted, interactive, object-oriented programming language that combines power with clear syntax. See "man python" for more information.
gcl is available as /usr/bin/gcl and clisp as /usr/bin/clisp.
GNU gdb (/usr/bin/gdb) is available on all of the supported machines. ddd (/usr/bin/ddd) is a graphical interface to gdb. All debuggers should work for either C or C++, and possibly FORTRAN and Pascal as well.
Tcl is located in the directory /usr/bin/tclsh, and wish is located in the directory /usr/bin/wish. Also, Tcl extensions expect, itcl, and tix are installed.
OpenOffice is installed on the linux machines and it capable of viewing Microsoft documents. Just run /usr/bin/ooffice or select it from the applications menu in your windows manager.
You can view the file using acroread or xpdf. OpenOffice supports printing to PDF files.
The two major UNIX editors are emacs and vi. Other editors installed are xedit, xemacs, pico, ed, and nano.
Hold down the ctrl key and press x; then c. Please make sure you exit before you log out. See the man pages on Emacs for more information.
Press the escape key (esc on some machines) to make sure you are in command mode (also called edit mode). In command mode type "ZZ" or ":wq". If you want to exit without saving changes, use ":q!".
In our continuing effort to keep UTCS a secure network, FTP access will no longer be allowed from outside of our network. The FTP protocol transmits your password in cleartext which presents a security concern.
If you need remote file access, we recommend using an SFTP or SCP client, both of which use strong encryption to protect your password.
For Windows, we recommend:
- WinSCP (SCP client)
- Available for free here.
- SSH Secure Shell (SFTP client)
For Mac OS X, we recommend:
For a list of publicly accessible machines you can connect to, click here.
New UNIX groups, for the most part, are only created for "official" department purposes (students working together in a class created at the request of the professor, for example). If you have a reason to need a group, Email firstname.lastname@example.org, giving the name of the group you want, the login names of the people who need to be in it, and the purpose of the group. The group, if approved, will be created within one or two business days.
It means that all new files will be created with the same group id as that of the parent directory. The lowercase s shows that the directory is also executable, meaning you can cd into it.
I like being able to use emacs or vi style key bindings (keyboard shortcuts) to navigate while typing in applications other than those editors. How can I do this?
That functionality is typically provided by the GNU Readline Library, which is used by many applications such as shells (bash, tcsh, zsh), mailreaders (mutt) and many others. However, some applications are not readline-aware but fear not, there is a way to make them behave like they are! We have installed the program rlwrap which provides readline functionality to any text input program. It is in the standard path and can be run with any client application, though there are many applications (anything graphical for instance) with which it would not make sense. An example execution would be:rlwrap acl which starts the allegro common lisp interpreter with readline functionality.There is a man page (rlwrap(1)) for your edification.
How can I convert a postscript file into a graphics file such as a GIF? How can I convert between graphical file formats?
The ImageMagick suite is capable of all types of conversion. Using it is simple: convert originalfile.format newfile.newformat convert automatically determines the original filetype from the file itself and chooses the output format based on the file extension you provide for the newfile. For example, convert file.ps file.gif will convert the file from postscript to GIF. see the convert(1) man page for more information on the formats it supports.
While ImageMagick supports multi-page GIF files, many utilities and viewers do not, so you may wish to either convert single pages of the PS file to GIF format, or first use the psnup command to reduce (the relevant pages of) your document to a single page
The directory for this is /usr/spool/ftp/incoming. Change directory from any host on the CS production network, and create an upload directory for yourself with whatever name you wish and with mode 1777. That is,
$ cd /usr/spool/ftp/incoming
$ mkdir MySpecialDirectory
$ chmod 1777 MySpecialDirectory
Then tell your colleague to ftp into ftp.cs.utexas.edu, change to incoming/MySpecialDirectory, and upload the files.
- Files can't be uploaded into the top level incoming directory. You must create a subdirectory for yourself.
- Uploaded files cannot be downloaded by ftp again. You must retrieve them by logging into Unix and copying them to another directory.
- Uploaded files are owned by the FTP server. For you to be able to read them, they must be public. This means other users can read them as well. You should watch for the upload, retrieve your files promptly, and remove them when done.
- Incoming files older than 7 days are automatically deleted, and any upload directories thus left empty are also deleted.
How do I find a process I know I must have running that I can't see? How do I get rid of a process I don't want?
To find a runaway process, use the ps command. On linux machines type ps -augx. The man pages (man ps) show all possible flags.
To kill a process once you've found its process ID (PID), type "kill PID". If that doesn't work, you can use "kill -9 PID".You should never issue the kill -9 -1 command unless you are outside of the X window system. Doing so with X running will freeze the console and require a reboot by the staff.
When I try to run Firefox it complains "Firefox is already running" and tells me to kill the existing process. How can I fix this?
To find out which machine Firefox is running on, type:
ls -l ~/.mozilla/firefox/*/lock
If there is a lock, it will be a symbolic link pointing to a file with the IP address of the computer where it is running followed by the process ID it is using. To translate IP-ADDRESS to a host name, type:
The process id should also be present, so type:
rsh <HOSTNAME> kill PID
~>ls -l ~/.mozilla/firefox/*/lock
lrwxrwxrwx 1 rivin dept 20 Jan 18 14:04 /u/rivin/.mozilla/firefox/uiil642a.default/lock -> 126.96.36.199:+24876
188.8.131.52.in-addr.arpa domain name pointer eagle.cs.utexas.edu.
~>rsh eagle kill 24876
If this doesn't work, you will need to delete the .parentlock file:
How do I remove or access a file with the name '-something' or containing another strange character ?
If your file starts with a minus, use the -- flag to rm; if your file is named -g, then your rm command would look like rm -- -g. As well, and especially if you have an unprintable character (output from ls looks like ?ile) you might try something like rm -i ./*ile which will also work for commands other than rm (grep for instance).
What is "public" software? I'm having trouble with a program installed in /p/bin (type which [programname] to find out where something is installed.) How do I install software in "public"?
The "public" software is anything installed in the /p or /public directory (typically, actual programs are in /p/bin). This software is installed by non-staff (students, researchers, or professors) and is not monitored, installed or maintained by the staff; if you're having trouble with a particular program, contact the person who installed that package (as shown by ls -l) directly, or email email@example.com, which is a mailing list of all people who maintain programs in /public. If you want to enable your account to install software in /public, email firstname.lastname@example.org and they'll add you to the group and mailing list.
Why does "find /" take so long? How do I find a file in the filesystem, knowing its name? How do I use locate? How do I use find?
Please don't use "find /", as it's very slow and a real drain on the network. Use locate by typing locate [string], where [string] is the name of the file you want to find, or part of the name. It's more appropriate to use find to find something in a fairly small area, such as your home directory or a /projects directory, neither of which are searched by locate. The basic find syntax is 'find [path to search] [expression to search for]'; please read the man page for find, for more detailed information.
I just accidentally deleted something I need (or just realized I need something I deleted a while ago). What can I do now?
First, you should try recovering the file from snapshots yourself; to learn how view the documentation on recovering files from snapshots. If that fails, email email@example.com and ask them to restore your files. Include the following information:
- When did you delete the file(s)?
- When did you create the file(s)? ("Not recently" is enough)
- When did you last change the file(s), before the day you deleted it/them?
How can I check how much disk space I'm using? Is there a command to check how much disk space is being used by a user?
You can find out how much disk space is in a particular directory (such as someone's home directory) with the command du -sk, if you have permissions on that directory -- if it's yours or if it's world-readable. You can also check the directory /lusr/share/doc/disk-usage for reports on who's using how much space on specific disks, although that information is updated hourly, not in real-time.
The default font for terminal windows run via the 'xterm' and 'rxvt' programs is set in your ~/.Xdefaults file; the line looks like XTerm*font: 9x15 . Change the 9x15 to the font you want to use. You can change the font for any application in the same way. To pick a font, use the "xfontsel" application. (10x20 is slightly larger than 9x15, and 8x13 is slightly smaller.)
You can also set the font upon startup to most Xwindows applications and terminals (including xterm, rxvt, konsole, gnome-terminal, etc) via arguments to the command, like so: rxvt -fn '-sony-*-*-*-*-*-*-*-*-*-*-*-*-*' Don't forget to put the argument in single quotes (') if it contains shell metacharacters such as asterisks.
How do I go about setting up a web page? How do I use CGI scripts on my web page? How do I embed Java code?
How do I make my web pages readable only by certain people? Can I protect my web page with a password?
Is there some way to have a cgi script run on the CS webserver as my own UID rather than the one belonging to the webserver software?
By default, CGI scripts running on our server execute as the web user www; this user has no special permissions. Thus, the directory in which the script resides must be world-searchable, the script must be world-executable, and files read or written by the script must be world-readable or world-writable.
In certain applications, you may prefer that a script execute with your Unix account permissions so as to access protected data. We provide a "Secure CGI" mechanism for doing this.
Warning: Please carefully weigh your need for this feature against the security risks of a script running with the full permissions of your user account. You are responsible for the use of that account, whether by your own hand, by someone using a workstation where you left yourself logged in, or by someone exploiting a poorly written script which you have made available on the Web. You may wish to review our policies.
The basic guidelines for setting up a secure CGI script are:
- Full script pathnames should contain only printing ASCII characters. They should not contain relative path components.
- Script directory should be searchable by the owner and have the same owner/group as the script file. They should not be writable by anyone other than the owner
- Script files should be a regular file (not a symlink), be executable by the owner and have the extension ".scgi".They should not be setuid or setgid or writable by anyone other than the owner.
- Non-parsed-header scripts may be used with the usual nph- prefix.
- Access control directives (in a .htaccess file) will not work for a .scgi script. Normally, this is not a problem, since the script is typically the action associated with a form in a .html file, which can be access controlled. Of course, the script is at liberty to implement any authentication for itself that it chooses.
I've figured out how to set up my web page, but how can I be sure that it will be programatically correct and available to the maximum number of readers?
This is a tough question; there is definitely some content such as sounds and images which will never be universally available to blind or deaf users. However for the most part, staying standards compliant and making sure that your pages have no syntax errors or dependency on a specific browser is the best way to be sure of reaching the widest possible audience.
The canonical reference for the most popular and most widely supported markup languages, HTML and XHTML, is published by the World Wide Web Consortium. This documentation is the agreed-upon standard for web markup across the entire internet. It is likely to be supported by all browsers, from cell phones and text-only browsers for the blind to the latest version of Internet Explorer.
To be sure you've created pages that not only meet the standards but fail to have any content-impairing typos, you should probably run them through the XHTML and HTML validator and potentially through the CSS validator as well, if you have used cascading style sheets for further page layout. Be warned that older or less capable browsers may not support CSS so do try reading your page without the CSS in the source to see if all text displays fully and legibly in its absence.
Although it is popular to write browser-specific code targetting IE or mozilla/netscape, and although such code may work on the majority of the browsers available today, you do limit your site's usefulness by doing so. Consider whether you think the cute tricks with the cursor or ActiveX controls are worth someone not being able to find the link to your resume or research-- Old, small, and handicapped accessible browsers may be unable to use your site and often will just ignore it instead of informing you. The "Viewable With Any Browser" campaign may serve to further enlighten you as to the rationale behind creating more compatible web pages.
If I have a UNIX machine running X windows at home, how can I run an application on the CS machines and have it display to my home computer?
If your computer is connected to the internet, you can run ssh -X hostname where hostname is the name of the computer that you want to log into. The -X flag enables X forwarding. You can then run X applications within that ssh window and they will display on your local desktop. For further information, such as getting this to work on the Windows operating system, see the SSH X Forwarding documentation page.
VNC is also available, although we generally discourage its use when X forwarding is an option.
There are a number of options available for your use. Some of the choices are: Fvwm, GNOME, KDE, TWM, and Xfce. You can set your windows manager by changing the drop box next to Sessions on the login screen that asks for your password.
I've logged into the UNIX machines in the lab, but when my windows manager starts I am getting a blank screen or messed up tool bars. How can I fix this?
If you have logged into our UNIX machines before they were all updated to Lucid, you will need to remove your old config files for the windows manager you are using. You can use Ctrl+Alt+F1 (Ctrl+Alt+F7 or F8 will get you back to the graphical login screen) to get to a virtual console and the dotfiles/directories in question are:
- gnome - .gnome2, .gnome2_private, .gconf, and .gconfd
- kde - .kde and .kderc
- xfce - .config, .gconf, and .gconfd
I am trying to use MATLAB, but whenever I open it all I am getting is a blank screen. How do I fix this?
If you are using gnome as your windows manager and you try to use MATLAB, you may run into this issue. To fix the problem, go to System Menu -> Preferences -> Appearance, then select the 'Visual Effects' tab. Set the effects to 'None' and close the window. MATLAB should behave normally once this is done.