Last updated 2.5.2018 (Updated CSIF Passwordless SSH Instructions)

Contents

  1. 1 Disk Quota Issues
  2. 2 Burning CD's
    1. 2.1 How can I burn a CD?
    2. 2.2 How can I burn a copy of selected files?
    3. 2.3 How can I burn a copy of my home directory?
    4. 2.4 Other Options
  3. 3 File Recovery
    1. 3.1 Are the files in my home directory backed up?
    2. 3.2 How often are files in my home directory backed up and how long are they kept?
    3. 3.3 Where are my files backed up?
    4. 3.4 How can I recover my files?
  4. 4 Firefox
    1. 4.1 When I try to open Firefox, it tells me it is already open on another computer, but I'm not logged in anywhere else.
    2. 4.2 How can I set my default spell check dictionary region?
    3. 4.3 How can I fix my corrupt profile?
  5. 5 Jupyter-lab 
    1. 5.1 How to run Jupyter-lab in the CSIF
  6. 6 Mounting/Unmounting
    1. 6.1 Can I use the mount command to mount various devices?
    2. 6.2 How can I mount various devices if I don't have root permissions?
    3. 6.3 Can I run in gvfs in TTY or PTS/SSH?
    4. 6.4 How can I use gvfs to mount a USB drive?
    5. 6.5 When using gvfs, where is my USB mounted?
    6. 6.6 How can I use gvfs to unmount a USB drive?
    7. 6.7 How can I use gvfs to mount an archive or virtual image?
    8. 6.8 When using gvfs, where is my archive or virtual image mounted?
    9. 6.9 How can I use gvfs to unmount an archive or virtual image?
    10. 6.10 How can I write to the mounted archive/virtual image?
    11. 6.11 Can I use gvfs to mount multiple devices at once?
  7. 7 Printing
    1. 7.1 Can I print in CSIF?
    2. 7.2 Can I merge PDF files before printing them?
    3. 7.3 Can I select which of the two printers to print from?
    4. 7.4 How can I check my print quota?
    5. 7.5 How do I print double-sided?
    6. 7.6 I have reached my print quota, but I need to extend it.
    7. 7.7 I printed something, but my document doesn't appear in either printers' output tray.
    8. 7.8 What do I do when the printers are out of ink/paper?
    9. 7.9 What do I do when the printers display an error message about being jammed?
    10. 7.10 What do I do when the printers display "Processing job" for over 1 minute, but nothing is printing out?
  8. 8 Remote Computing
    1. 8.1 Can I remotely login to the CSIF computers?
    2. 8.2 How can I remotely login to the CSIF computers from home?
    3. 8.3 Can I use applications with Graphical User Interfaces (GUIs) remotely?
    4. 8.4 How do I allow SSH to do X11 Forwarding (for forwarding GUI application windows)?
    5. 8.5 How can I transfer files to/from my personal computer using a CSIF computer?
    6. 8.6 How can I transfer files to/from the CSIF computers using my personal computer?
    7. 8.7 I transferred a text file from my home computer to the CSIF computers, but now there are symbols at the end of each line.
    8. 8.8 Can I compile programs at home?
    9. 8.9 How do I set up SSH keys to allow me to login to the CSIF computers without a password?
    10. 8.10 Common error messages when using SSH to connect to CSIF computers
    11. 8.11 Common error messages when using PuTTY to connect to CSIF computers
  9. 9 Web Servers
    1. 9.1 Can I use Java, PHP, or another web based programming language on the web server that supports the CSIF? Can I run my own web server?

Disk Quota Issues


         How do I clear up space on my account/home directory?

            Run:

            $ fquota        

            and type yes at the prompts to remove commonly useless files such as core files and cache files. It will then also list the ten largest folders and files in

            your account.

         

Burning CD's


How can I burn a CD?


Go to any computer with a CD/DVD burner drive, and execute the following command (assuming you have a  blank and writable CD inserted):
$ cdrecord -dev /dev/cdrom [filename]

Where [filename] is the name of the image file, usually an ISO, that is to be burned. For more advanced options when burning a CD, refer to the man page for cdrecord.

How can I burn a copy of selected files?


Go to any computer with a CD/DVD burner drive, and execute the following command (assuming you have a  blank and writable CD inserted):
$ mkisofs -r -J -o /tmp/[image name] [directories/file names]
$ cdrecord -dev /dev/cdrom /tmp/[image]

Where [image filename] is the desired name of the image file, and [input directories/file names] are the names of the directories and/or files that you wish to burn.

How can I burn a copy of my home directory?


Make sure your CD has enough space to store your home directory; you may need to use a DVD instead.

Go to any computer with a CD/DVD burner drive, and execute the following command (assuming you have a  blank and writable CD inserted):
$ mkisofs -r -J -o /tmp/`whoami`_cdimage /home/`whoami` && cdrecord -dev /dev/cdrom /tmp/`whoami`_cdimage && rm -f /tmp/`whoami`_cdimage

Other Options

You can also use the programs K3b or Brasero to burn disks using a graphical interface. However, we do not have detailed steps on how to do so.


File Recovery


Are the files in my home directory backed up?


Yes, files in your home directory are backed up using a snapshot system.

During specific intervals of time, the CSIF automatically takes a snapshot of the files in your home directory, and backs them up accordingly. To preserve space, the CSIF only creates new backups of files that have been changed/modified after the previous snapshot. Otherwise, the backups from the previous snapshot will be used for the new snapshot.

How often are files in my home directory backed up and how long are they kept?


We have multiple time intervals set up:
Interval  When  Keep Time
 Hourly  Start of every hour
 96 hours
 Nightly  At midnight
 27 nights
 Weekly  Sunday at midnight
 11 weeks

Where are my files backed up?


Every user's backups are stored in /home/.snapshot/

Inside the .snapshot directory are many different folders, corresponding to the different intervals of backups that have occured.

Interval  Folder name
 Hourly  hourly.[0-96]
 Nightly  nightly.[0-27]
 Weekly  weekly.[0-11]

The backups are stored in descending order, meaning the .0 suffix refers to the most recent backup, and subsequent numbers refers to a later backup. Thus, hourly.0 will refer to a backup done on the start of the last hour, while a weekly.9 will refer to a backup done 8 Sundays before the most recent Sunday.

How can I recover my files?


Make a note of from how long ago you wish to recover a file. For example, if you recover a file from nightly.1, then this means the file will not contain any revisions made between now and 2 midnights ago.

Execute the following command on any CSIF computer to access the backup directory:
$ cd /home/.snapshot/[folder name]/`whoami`/

Where [folder name] follows the syntax given in the table above.

Inside, the folder, you will find an exact backup of your home directory made at the time you specified. You cannot write into the backups, so to recover the desired files, you must navigate to the location of the file you wish to recover, and then execute one of the commands below. You can read the files, so you will be able to look into a file and see if you want to recover an earlier or later version of the file; should you wish to recover an earlier or later version, you will have to start from the beginning of this process.

If you wish to copy a specific file or multiple specific files in a specific folder, then navigate to the specific folder and execute the following command:
$ cp [filename 1] [filename 2] [...] ~/

Where [filename 1] [filename 2] and [...] are the filenames of the files you wish to recover.

If you wish to copy everything in a folder, then navigate to the specific folder and execute the following command:
$ cp * ~/

If you wish to copy an entire folder, including any sub-folders, then navigate to the specific folder and execute the following command:
$ cp `pwd` ~/

Afterwards, you will find your file(s) in your home directory (~/).

Firefox


When I try to open Firefox, it tells me it is already open on another computer, but I'm not logged in anywhere else.


This can happen when your Firefox profile gets corrupted. The Firefox profile can get corrupted if the Firefox session crashes or abruptly ends (e.g. having Firefox open and pushing the reset button, losing connection when using Firefox through a remote connection, etc.).

The easiest solution is to remove the Firefox profile at the expense of losing your history, saved settings, add-ons, etc. You may not have to lose your bookmarks, but sometimes, those will get corrupted as well.

The way to fix this without losing your firefox profile is to remove the .parentlock file located in .mozilla/firefox/xxxxxxxx.default/
Here's the commands to enter in your command line
$ ls ~/.mozilla/firefox

You will see a folder that matches this format xxxxxxxx.default
For the next command, make sure you use the name of your .default file
$ rm ~/.mozilla/firefox/xxxxxxxx.default/.parentlock

Now it should be fixed!

How can I set my default spell check dictionary region?


Firefox may set a different spell check dictionary region for each CSIF user. This may lead to users having Firefox spell check their work using a different region's dictionary than they intend to use.

To change your spell check dictionary, right click on any text field two lines or larger and select "Check Spelling" if it is not already enabled. Below "Check Spelling" is an option for selecting your spell check dictionary region, titled "Languages". You can confirm your selection by searching the about:config page for spellchecker.dictionary and checking the value (i.e. English (United States) has a spellchecker.dictionary value of en_US).

How can I fix my corrupt profile?


Close Firefox before executing the following command below:
$ cp ~/.mozilla/firefox/*.default/places.sqlite /tmp && rm -rf ~/.mozilla/firefox/*

Open Firefox

If Firefox does not open, then contact CSIF Support; otherwise, close Firefox and execute the command below:
$ mv -f /tmp/places.sqlite ~/.mozilla/firefox/*.default/ && rm -f places.sqlite

Open Firefox again to ensure it still works

If Firefox works, then you are done. Otherwise, execute the command below:
$ rm -f ~/.mozilla/firefox/*.default/places.sqlite

Jupyter-lab 

How to run Jupyter-lab in the CSIF

https://docs.google.com/document/d/1mmLjzxTYfzBygLuSpuOll94_2gY-oPxEjxpKaoLo4Ao/edit#heading=h.wna1bitotts4 


Mounting/Unmounting


Can I use the mount command to mount various devices?


No, the mount command requires root permissions, which you do not have on the CSIF computers.

How can I mount various devices if I don't have root permissions?


By using gvfs, which stands for Gnome Virtual File System. gvfs is also how the Nautilus file manager in GNOME is able to mount USBs, CDs, and such.

Can I run in gvfs in TTY or PTS/SSH?


No. gvfs can only run when GNOME is running, so you must be in a GUI environment running the GNOME shell to be able to use gvfs. Therefore, gvfs will not work in TTY and PTS/SSH environments even if you forward X.

How can I use gvfs to mount a USB drive?


The syntax for the command to mount a USB drive is below:
$ gvfs-mount -d [device name][partition number]

Where [device name] is the unique device name that Linux gives to your USB drive and [partition number] is the partition number for your USB.

You can get the device name of your USB by running the following command:
$ gvfs-mount -li | grep "/dev/sd"

The devices are listed in order of when they were detected or plugged in. So if you plugged in one USB before running the command, you want to look at the last entry. If you plugged in two USB drives before running the command, then the first USB you plugged in will be the second to last entry, and the last entry corresponds to the second USB you plugged in. In any case, once you found the correct entry, the device name will be found between the single quotes and it will follow the pattern "/dev/sd[a-z]".

In most cases, the partition number is "1", so stick with that if you are unsure about your device. Only change the partition number if you are sure your USB device has multiple partitions and you wish to mount a particular partition.

Here is an example of the gvfs command being used to mount a USB drive
$ gvfs-mount -d /dev/sdb1

When using gvfs, where is my USB mounted?


The mount point is given after you have executed the gvfs-mount command to successfully mount a USB drive. But for reference, on certain Linux distributions including Fedora, the mount point can be found in the below directory:
/run/media/[username]/

Where [username] is your CSIF username.

In the specified directory, there will be one or more folders created by gvfs. Each folder corresponds to each USB drive that has been mounted. Look inside the contents of each folder to find the mount point of the desired USB.

Therefore, the mount point will be in the following directory:
/run/media/[username]/[folder name]/

How can I use gvfs to unmount a USB drive?


Run the following command:
$ gvfs-mount -u [mount point]

Where [mount point] is the USB's mount point. Look at the previous question to find out the mount point of the USB.

How can I use gvfs to mount an archive or virtual image?


Run the following command:
$ /usr/libexec/gvfsd-archive file=file://`readlink -f [filename]`

Where [filename] is the name of the file. Note that only certain archive and virtual image formats are supported.

When using gvfs, where is my archive or virtual image mounted?


The mount point on certain Linux distributions including Fedora is given below:
/run/user/[username]/gvfs/[folder name]/

Where [username] is your CSIF username and [folder name] matches the filename of the archive or image being mounted.

For other Linux distributions, the locations for the mount points may be:
~/.gvfs
~/.cache/gvfs

How can I use gvfs to unmount an archive or virtual image?


After mounting an archive or image, gvfsd-archive will continue running. Simply kill the program with Ctrl+C to unmount the archive or image.

Note that this only works if you leave gvfsd-archive running in the foreground. If you suspended gvfsd-archive and resumed it in the background, or started the program in the background, then you will need to bring it back to the foreground and kill it or kill it using its PID.

How can I write to the mounted archive/virtual image?


You will not be able to.

For writing into archives, you must use an actual archive manager.

For ISOs, they are designed to be a read-only filesystem, so you would not be able to write to them even if you used the mount command.

For other virtual images sub as binary images, we are currently working on a fix.

Can I use gvfs to mount multiple devices at once?


Yes.

Printing


Can I print in CSIF?


If you have an account in the CSIF, then you may print using any of the CSIF lab computers and the monochrome printers found in room 86. Every CSIF student gets 200 pages of print quota every quarter with the quota being reset at the beginning of each quarter; print quotas do not roll over between quarters. Prints are charged per side of the page inked, so printing double-sided does not cost less than printing two separate pages.


Can I merge PDF files before printing them?


Yes, execute the command below:
$ gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=[output filename].pdf [source 1].pdf [source 2].pdf [...]

Where [output filename] is the desired name of the merged PDF, and [source 1], [source 2], and [...] are the filenames of the PDFs you wish to merge.

Can I select which of the two printers to print from?


No; the CSIF splits print jobs between two printers based on queues established for both printers, and this is all done with an automated printing server.

How can I check my print quota?


The website to access web printing is: http://coe-it-pcprint.engr.ucdavis.edu:9191/

Log on with your Kerberos username and password (the same thing you use to log on to the CSIF machines). The summary tab will tell you how many pages you have printed and your remaining balance. Each page is 1 cent and you get $20.00 for 200 prints.

How do I print double-sided?

In general, you want to select "Long Edge" option in the printer setup window of the specific application. Here's how to do it with a few applications:

For LibreOffice Writer (DOC files), go into the print window, and click in the "Properties" button in the middle of the "General" tab. A new window will pop up, and you will want to open the drop-down menu for "Duplex:" and select "Long Edge (Standard)" before clicking "OK" and printing the file.

For Document Viewer (PDF files), go into the print window, and click on the "Page Setup" tab. Then open the drop-down menu for "Two-sided:" and select "Long Edge (Standard)" before printing the file.

Note that although some applications have the duplex/two-sided option avaible, your print job may still end up being single-sided because of the differences in print format between the application and the printer. Thus, we do not guarantee that all the applications on the CSIF computers will support double-sided printing.

I have reached my print quota, but I need to extend it.


You cannot extend your print quota without a valid reason to discourage irresponsible use of paper quotas. If you need to extend it, email CSIF at support@cs.ucdavis.edu and we'll ask ITSS to request more paper.

I printed something, but my document doesn't appear in either printers' output tray.


This may happen if you log off immediately after submitting a print job, or this may happen for other reasons.

Try printing again; note that your print quota only decreases when the printer physically prints out documents, so any sent job that has not been physically printed will not count towards your quota.

However, beware not to flood the printing server with print jobs. Since there is a queue for the two printers, your document may be slow to come out. If you've sent multiple print jobs because you feel like things are going too slowly, then your document may potentially be added to the queue multiple times, which quickly decreases your quota.

If, after trying to print again, you run into the same problem, then please notify CSIF Support.

What do I do when the printers are out of ink/paper?


Please notify CSIF Support and it will be taken care of quickly.

What do I do when the printers display an error message about being jammed?


Please notify CSIF Support and it will be taken care of quickly.

What do I do when the printers display "Processing job" for over 1 minute, but nothing is printing out?


Please notify CSIF Support and it will be taken care of quickly.

Remote Computing


Can I remotely login to the CSIF computers?


Yes, regardless of what operating system you use on your home computer, you may be able to remotely login to the CSIF computers as long as you have the necessary programs and an internet connection.

In fact, remote login is highly recommended for those who wish to work in the comfort of somewhere else regardless of the time and/or day.

There are many ways of remotely logging into the CSIF computers, but only a few are described below.


How can I remotely login to the CSIF computers from home?

Please go to this link for more information:

https://docs.google.com/document/d/1Zu6FPeiJv2erSm4ldKM1ncPcGL9lmq3KbHWOHzYsB-E/edit#


SSH, or Secure Shell, is Linux's most common way of remotely connecting to a computer in a secure and encrypted fashion, and it is the protocol that CSIF uses for people who wish to log in remotely.


Many popular Linux distributions (e.g. Ubuntu, Fedora, Mint, etc.) and Macintosh operating systems already have SSH protocol programs installed in the form of OpenSSH. However, some do not, but a simple Google search will reveal how to install an SSH protocol program on your Linux distribution.

Installation:

For Arch Linux, the command is:
# pacman -S openssh

For Minix, the command is:
# pkgin install openssh

Unfortunately, Windows does not support the SSH protocol, so you must download PuTTY, a free Telnet/SSH client for Windows. Just click the "Download" link at the top of the page, and click "putty.exe" under the "For Windows on Intel x86" section. Save the file in a place that you can access later on.

To remotely login to the CSIF computers using a local Linux or Macintosh operating system, type the following command:
# ssh [username]@[hostname].cs.ucdavis.edu

Where username is the username you would use when logging into the CSIF computers locally, and hostname refers to the unique name given to every CSIF computer. A list of CSIF computers and their current status are found here. When typing in the hostname, remember to include the "pc" portion of it.

Afterwards, you will be prompted for your password, which is the same password you would use to log into the CSIF computers locally. You will notice that when you type, nothing appears on your screen. This is deliberately set up for secuirty reasons. While nothing is shown on the screen, all keyboard strokes will still be monitored, including keys like Backspace.

Refer below for more information about SSH, and common error messages.

To remotely login to the CSIF computers using a local Windows system, launch the PuTTY program you downloaded previously.

In the "Host Name (or IP address)" box, type in [hostname].cs.ucdavis.edu where hostname refers to the unique name given to every CSIF computer. A list of CSIF computers sorted by their hostnames are found here. When typing in the hostname, remember to include the "pc" portion of it. Although you may wish to change the other settings found in that window and on the different navigation tabs, you do not need to change anything else in order to login remotely to the CSIF computers.

Afterwards, click the "Open" button. If you have never connected to the unique CSIF computer using PuTTY on your current local computer, then a security alert window will pop up. Most users will wish to click the "Yes" button. Then another window will pop up requesting your password. Type in the same password you would use to log into the CSIF computers locally. You will notice that when you type, nothing appears on your screen. This is deliberately set up for secuirty reasons. While nothing is shown on the screen, all keyboard strokes will still be monitored, including keys like Backspace.

Refer below for more information about SSH through Windows, and common error messages with PuTTY.


Can I use applications with Graphical User Interfaces (GUIs) remotely?


Yes this is possible regardless of what operating system you are using, but you will need a decent internet connection (DSL or better) to achieve relatively decent results since graphical forwarding takes up more bandwidth than simple text. Students will wish to use GUIs remotely if they are working for a graphics class such as ECS175.

An operating system independent way to accomplish this is to use a VNC, or Virtual Network Client. Please refer to the Using VNC documentation.

A popular way of doing this through the SSH protocols found on many popular Linux distributions and Macintosh operating systems is to enable X11 forwarding, which are protocols regarding the forwarding of GUIs from remote servers to local clients. See below.


How do I allow SSH to do X11 Forwarding (for forwarding GUI application windows)?


On Linux or Macintosh operating systems with the OpenSSH package installed, it's as simple as running a slightly modified SSH command found below:
# ssh -X [username]@[hostname].cs.ucdavis.edu

Where username is the username you would use when logging into the CSIF computers locally, and hostname refers to the unique name given to every CSIF computer. A list of CSIF computers sorted by their hostnames are found here. When typing in the hostname, remember to include the "pc" portion of it.

Then simply type in the desired program, followed by a space and an ampersand character. For example:
# firefox &

The ampersand at the end launches the desired program in the background, giving you control of the terminal if you need to use it for other purposes.

For Windows, you may use a program like Xming.

X11 forwarding, although very easy to use, should be enabled with caution. As quoted from the SSH manual page, "users with the ability to bypass file permissions on the remote host (e.g. CSIF computers) can access the local X11 display (e.g. your local computer) through the forwarded connection. An attacker may then be able to perform activities such as keystroke monitoring." See your SSH documentation/manual page for more information. Although this should not happen with CSIF computers, it is still something to take note of.


How can I transfer files to/from my personal computer using a CSIF computer?

            

In short, although you can transfer files to/from your personal computer using a CSIF computer, it is not explained here because it requires a fair amount of knowledge with networking and will often result in many problems that require some time to resolve. Look below to find out how to transfer files to/from the CSIF computers using your personal computer.

If you really want to know how to do this, then please drop by CSIF Support.



How can I transfer files to/from the CSIF computers using my personal computer?


On many popular Linux distributions and Macintosh operating systems, the OpenSSH package is included by default, so you may use scp or sftp (CSIF does not support ftp) to transfer you files. In the event that the OpenSSH package, a simple Google search will reveal how to install those packages for your specific Linux distribution.

For Arch Linux, the command is:
# pacman -S openssh

For Minix, the command is:
# pkgin install openssh

scp is the easiest to use because it is based heavily on the Linux cp command for copying files. However, unlike cp, scp will overwrite files without warning.

To use scp to transfer one or more files from your computer to the CSIF computer, follow the outline of the command below:
# scp [filename1] [filename2] [filename3] ... [filenameN] [username]@[hostname].cs.ucdavis.edu:[folder]


Where filenameX is the name of the file inside the current directory. If you wish to copy over a file in a different directory, make sure to include the correct file path before the filename. folder refers to the destination folder on the CSIF computers. In most cases, you'd want your destination folder to include the path  "/home/[username]/" without quotes. As before, username is the username you would use when logging into the CSIF computers locally, and hostname refers to the unique name given to every CSIF computer. A list of CSIF computers sorted by their hostnames are found here. When typing in the hostname, remember to include the "pc" portion of it.

To use scp to transfer a file to your computer from the CSIF computer, follow the outline of the command below:
# scp [username]@[hostname].cs.ucdavis.edu:[filename1] [filename2] [filename3] ... [filenameN] [folder]

Where filenameX is the name of the file, including its path, on the CSIF computers. In most cases, the filename will include "/home/[username]/" without quotes at the beginning. folder refers to the destination folder on the local computer. As before, username is the username you would use when logging into the CSIF computers locally, and hostname refers to the unique name given to every CSIF computer. A list of CSIF computers sorted by their hostnames are found here. When typing in the hostname, remember to include the "pc" portion of it.

sftp is good for transferring multiple and/or large files because of its ability to resume interrupted downloads.

To use sftp, execute the following command:
# sftp [hostname].cs.ucdavis.edu

As before, hostname refers to the unique name given to every CSIF computer. A list of CSIF computers sorted by their hostnames are found here. When typing in the hostname, remember to include the "pc" portion of it.

Afterwards, you will be promted for your username and password, which are the same ones you would use to log into the CSIF computers locally.

Here is a helpful table of commands you could then execute in sftp:

Command
Description
Notes
pwd Displays the path for the current directory of the remote system
lpwd
Displays the path for the current directory of the local system  
ls
Displays list of files in the current directory of the remote system ls options like "-l", "-a", etc. will work as well
lls
Displays list of files in the current directory of the local system ls options like "-l", "-a", etc. will work as well
get filename Gets the file frome the current directory of the remote system and places it in the current directory of the local system
Use "-P" without quotes to retain original permissions and/or "-r" to recursively copy files/folders over
put filename Puts the file from the current directory of the local system in the current directory of the remote system Use "-P" without quotes to retain original permissions and/or "-r" to recursively copy files/folders over
mkdir foldername Makes a folder with the specified name on the remote system
 
lmkdir foldername
Makes a folder with the specified name on the local system
 
rm filename
Removes the remote file in the current directory on the remote system
 
rmdir filename
Removes the specified folder in the current directory on the remote system

mget filename1, filename2, ..., filenameN
Gets multiple files frome the current directory of the remote system and places it in the current directory of the local system Use "-P" without quotes to retain original permissions
mput filename1, filename2, ..., filenameN Puts multiple files from the current directory of the local system in the current directory of the remote system Use "-P" without quotes to retain original permissions
cd directory
Change directories on the remote system
 
lcd directory Change directories on the local system
 
exit
Exits out of sftp/ftp
 

On some Linux systems, it is also possible to use SFTP with a graphical interface. While there are too many distributions out there to cover specifically, we will cover some of them here.

For Linux systems running newer versions of GNOME that uses the Nautilus file manager (notably the newer versions of Fedora and Ubuntu), it is as simple as opening up the file manager, clicking on "File" in the menu bar, and clicking the "Connect to server..." button.

For the "Server:" field, type in [hostname].cs.ucdavis.edu where hostname refers to the unique name given to every CSIF computer. A list of CSIF computers sorted by their hostnames are found here. When typing in the hostname, remember to include the "pc" portion of it.

For the "Type:", click the drop-down menu and select SSH.

For the "Folder:" field, type in /home/[username], where username is the username you would use when logging into the CSIF computers locally.

For "User name:" and "Password:" respectively, type in the username and password you would use to login to the CSIF computers locally.

Afterwards, click the "Connect" button, and you may be prompted about the identity of the remote computer being unknown. You can click the "Log In Anyway" button, and you will be able to transfer files to and from the CSIF computers using a graphical interface.

For Linux systems running KDE that uses the Konqueror file manager, it is as simple as opening up the file manager, clicking on "File" in the menu bar, and clicking the "Open Location" button.

A new window will pop up, and you will need to enter in sftp://[username]@[hostname].cs.ucdavis.edu:/home/[username] where username is the username you would use when logging into the CSIF computers locally, and hostname refers to the unique name given to every CSIF computer. A list of CSIF computers sorted by their hostnames are found here. When typing in the hostname, remember to include the "pc" portion of it.

Then click the "OK" button and you will be prompted for a password, which is the password you would use to login to the CSIF computers locally.

Click the "OK" button, and you will now be able to transfer files to and from the CSIF computers using a graphical interface.

Note that the instructions above can be adapted to work on many other Linux distributions.


For Windows operating systems, you will need to install a SFTP client. There are many free programs out there with graphical interfaces such as WinSCP. Simply download and install the program of your choice.

When running WinSCP for the first time, you will be promted to enter in required information including "Host name:", "User name:", "Password:", and "Port number:".

For "Host name:", type in [hostname]@cs.ucdavis.edu where hostname refers to the unique name given to every CSIF computer. A list of CSIF computers sorted by their hostnames are found here. When typing in the hostname, remember to include the "pc" portion of it.

For "User name:" and "Password:", type in the username and password respectively you would use to login to the CSIF computers locally.

For "Port:", type in 22.

Under the Protocol subsection, youwill need to open the "File protocol:" dropdown menu and select SFTP because CSIF does not support FTP connections.

After clicking the "Login" button, you will be connected, and you will be able to transfer files to and from the CSIF computers using a graphical interface.

You do not need to change other settings for WinSCP to work, but you may refer to WinSCP's FAQ and WinSCP's documentation for more advanced configurations.


I transferred a text file from my home computer to the CSIF computers, but now there are symbols at the end of each line.


This is due to the unique line break characters used by Linux, Microsoft, and Macintosh operating systems. Simply execute the following command:
# dos2unix [filename]

Where filename is the name of the file inside the current directory. If you wish to convert a file in a different directory, make sure to include the correct file path before the filename.


Can I compile programs at home?


Yes, there are many free compilers for C, C++, Java, and other languages for many Linux, Windows, and Macintosh operating systems. However, we recommend using the CSIF when doing course work because most courses will grade your work based on how well they run on CSIF computers. If you wish to program and compile at home for whatever reason, then we recommend using a popular Linux operating system like Fedora or Ubuntu because its architecture will be the most similar to that of the CSIF.

Many popular Linux distributions already come with C, C++, and Java compilers, but they can be easily installed if they are missing.

For Macintosh operating systems, you may have received a Developer Tools CD with your computer which you can install to provide compilers, IDEs, and such. Otherwise, go to Apple Developer's website to sign up for a free developer account as a UC Davis student to download the entire CD.

For Windows operating systems, Cygwin, a Linux emulator for Windows, includes a C and C++ compiler. If you wish to run an IDE instead, then visit Microsoft's Visual Studio website to download Visual C++ Express.

For all the operating systems mentioned above, you may also wish to visit Eclipse, or Netbeans to find IDEs for programming and compiling in multiple languages, but you may need to install some software beforehand (e.g. Java SDK).

An alternative to the options above are to run a Linux virtual machine. This can be done using virtualization software like VMware Player, which is documented here, or VirtualBox. However, this requires more work than the previous methods, and CSIF Support will only answer questions regarding this in person.

Lastly, you could partition your current system to have a number of operating systems installed, one of which could be a Linux system. However, this requires the most work out of all the methods above, so CSIF Support will only answer questions regarding this in person.


How do I set up SSH keys to allow me to login to the CSIF computers without a password?

Log into the local system (CSIF System) and execute the following commands, making sure to replace [username] with your username and [hostname] with the unique name given to every CSIF computer (a list of CSIF computers sorted by their hostnames are found here):

# mkdir -p ~/.ssh/ && cd ~/.ssh/
# ssh-keygen -t rsa -N "" -C "`whoami`@pc*" -f "`whoami`@pc_to_`whoami`@pc"
# cat `whoami`@pc_to_`whoami`@pc.pub >> authorized_keys

Then in the same directory create a new file named "config" and add the following lines:

Host pc*
    IdentityFile ~/.ssh/[username]@pc_to_[username]@pc

This will allow you to ssh from any CSIF machine to any other CSIF machine without a password. 


If you want to be able to log into the CSIF without a password on your own PC you will need to copy the Private key and/or the config file to your own machine
First you will need to note the name of the private key that you have just created. it should look something like "[username]@pc_to_[username]@pc". We will be refering to this file as {private key} from now on.

If you are on Linux or Mac OS X this can be accomplished by running the following commands: (Note: you may replace pc1 with any CSIF pc)

# cd ~/.ssh
# scp [username]@pc1.cs.ucdavis.edu:/home/[username]/.ssh/{private key} .
# scp [username]@pc1.cs.ucdavis.edu:/home/[username]/.ssh/config .

If you are on windows you can use a program such as Filezilla or WinSCP and download the keys that way. You will also need to import the keys into putty via the settings in putty


Afterwards, you should be able to login to the CSIF computers from your machine without a password. If you're having difficulties, then please contact us. Note that this will work for other Linux client/server SSH setups as long as the SSH protocol is set up properly. We recommend you come in for assistance on this one if you have trouble. It is easy to solve in person.

Common error messages when using SSH to connect to CSIF computers


Warning: untrusted X11 forwarding setup failed: xauth key data not generated
Warning: No xauth data; using fake authentication data for X11 forwarding.


This warning occurs due to the differences between the local client & remote server SSH X11 forwarding setup, but X11 forwarding is still usable. This warning simply informs you that the X11 forwarding cannot be authenticated. Due to the vast diversity of local client computers that connect to the CSIF computers, it is impractical to set up X11 forwarding correctly so that everyone is using a trusted setup. Here are the possible solutions:

If you get this error every time you SSH into a computer even if you haven't run the SSH command with the "-X" option, then this means your SSH configuration is set to automatically enable X11 Forwarding. To disable the automation, execute the following command as root.
# sed -i 's/^ForwardX11/^/#/' /etc/ssh/ssh_config

To add the option back in at a later time, execute the following command as root.
# sed -i 's/^#ForwardX11/ForwardX11/' /etc/ssh/ssh_config

Note that you will still be able to do X11 forwarding, but you will have to explicitly tell SSH to forward X11 using the "-X" option. However, even if you use the "-X" option, the warning will still appear, so if you wish to suppress the warning, use the "-Y" flag instead, which looks like:
# ssh -Y [username]@[hostname].cs.ucdavis.edu

Where username is the username you would use when logging into the CSIF computers locally, and hostname refers to the unique name given to every CSIF computer. A list of CSIF computers sorted by their hostnames are found here. When typing in the hostname, remember to include the "pc" portion of it.

ssh: connect to host pc**[.cs.ucdavis.edu] port 22: No route to host


This happens because either the remote computer you are trying to connect to is non-existent, or it is off the network for some reason. Connect to another computer to resolve this.

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@  WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!  @

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!

Someone could be eavesdropping on you right now (man-in-the-middle attack)!

It is also possible that the RSA host key has just been changed.

The fingerprint for the RSA key sent by the remote host is

**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**.

Please contact your system administrator.

Add correct host key in /home/[username]/.ssh/known_hosts to get rid of this message.

Offending key in /home/[username]/.ssh/known_hosts:1

RSA host key for ras.mydomain.com has changed and you have requested strict checking.

Host key verification failed.


If you have ever gotten this warning while trying to SSH into one of the CSIF lab computers, whether remotely or locally, then execute the following lines in terminal to get rid of the message. These instructions are only for Macintosh and Linux operating systems since Windows operating systems will not give out the error above.

cd ~/.ssh
sed -i /^pc\*/d known_hosts

When you SSH into the computer again, it will prompt you with the following message

The authenticity of host 'pc**[.cs.ucdavis.edu] (***.***.***.***)' can't be established.
RSA key fingerprint is **:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**.
Are you sure you want to continue connecting (yes/no)?

Type "yes" without quotesand you will be able to connect. If you continue to receive this error after following the steps above, or you receive this error at a later time when trying to connect to any CSIF lab computer, then please contact us.

ssh: connect to host pc**[.cs.ucdavis.edu] port 22: Connection refused


You will get this error if you have attempted too many incorrect login attempts on a CSIF computer. This happens if you...
  • Exceed 5 attempts with an incorrect username
  • Exceed 10 attempts with an incorrect password
The blacklist will be purged daily, but your IP may only be purged from the list up to two times. Afterwards, your IP address will permenantly remain on the blacklist.

Note that this is machine specific. Being blacklisted from one machine will not result in you being blacklisted on another machine. Therefore, you can still remotely connect to other CSIF computers.

Permission denied, please try again.


Your IP has most likely been flagged by our network firewalls for malicious-like behavior. The flags are cleared every 2 days, but while your IP is flagged, you will be unable to connect to any CSIF computers. If you feel like your IP has been incorrectly flagged, then please contact us.


Common error messages when using PuTTY to connect to CSIF computers


Network error: No route to host


This happens because either the remote computer you are trying to connect to is non-existent, or it is off the network for some reason. Connect to another computer to resolve this.

Access Denied


This error is due to the differences in setup between the PuTTY client and the CSIF computers' SSH server. You can safely ignore this error.

Permission Denied


You will get this error if you have attempted too many incorrect login attempts on a CSIF computer. This happens if you...
  • Exceed 5 attempts with an incorrect username
  • Exceed 10 attempts with an incorrect password
The blacklist will be purged daily, but your IP may only be purged from the list up to two times. Afterwards, your IP address will permenantly remain on the blacklist.

Note that this is machine specific. Being blacklisted from one machine will not result in you being blacklisted on another machine. Therefore, you can still remotely connect to other CSIF computers.

You will also get this error if your IP has been flagged by our network firewalls for malicious-like behavior. The flags are cleared every 2 days, but while your IP is flagged, you will be unable to connect to any CSIF computers. If you feel like your IP has been incorrectly flagged, then please contact us.


Web Servers


Can I use Java, PHP, or another web based programming language on the web server that supports the CSIF? Can I run my own web server?

For security reasons, web based applications are not allowed in the CSIF, including running other services or servers than those provided. This does not include courses, where web based applications are needed, when requested by a course instructor.