This page contains directions for getting around the B104 linux machine. This version is tailored for the MUSIC 271 course, fall 2001.
The "linux machine" lives in a closet with its screen, keyboard and mouse next to the piano in B104. You can log onto it directly, or, (details later) remotely via the "ssh" program.
(There's another linux machine in B104 which is for taking to concerts. If you can't get on the linuix machine you can sometimes use the other one.)
To get started you will need a linux machine account (get this from Miller). The door code to the room comes from ACS via the music facilities office. You should probably also get a standard ACS account for music graduate students.
The cusomary way to use UNIX is through "shells", which appear in windows. Unless you customize your account differently, you can make a shell window appear on a linux machine by clicking on the "terminal" icon at the bottom of the screen. You should get a prompt like "[msp@linux104 ~]$ ". This indicates that UNIX is waiting for you to type a command to it.
When you're through with your UNIX shell you can type
Note the font style conventions in the example above:
machine-name: anything in italics stands for
something you type in.
ssh: anything in this style is what you type in
exactly.
UNIX BASICS
This section describes what you should do once you're sitting at the linux machine and have one or more "shells" open on the linux machine.
When you issue a command to a UNIX shell, it usually responds by trying to find a program by that name and run it. Some programs are GUI-based, but the majority just do what you ask and then quit. This makes it easy to automate things, but on the other hand you have to learn what things do up front; there are no cute dialogs to lead you through operations like moving files around.
The UNIX filesystem is arranged as a hierarchy of "directories". Your shell is always in some directory or other, called the "current working directory". When you type out a "simple" filename it is assumed to be in the current directory. You can specify other directories besides the current one using slashes; so if you're in /home/fred for example (this means the subdirectory "fred" of the toplevel directory "home") you can type "tickle/salty" to refer to a file "salty" in the subdirectory "tickle". The "absolute" (full) pathname to the same file would be "/home/fred/tickle/salty". A filename starting with a slash is taken to be absolute; filenames starting with any other character are relative to the current Working Directory.
Here is a short (and incomplete) list of commands you will soon need. Some of these are generic UNIX commands but others (e.g., nc, pd, esctl) are specific to the concert machine.
WHen you start a new shell, you will find yourself in your home
directory, such as /home/bosco. cd directory_name OR cd ~ cd ~username If you specify two simple filenames (without slashes) the cp
program works within the current directory. You may specify
pathnames for either the source and/or the destination file. If the
destination is an existing directory, the new file has the same
name as the old one: To remove a file, type: The filename can be a simple (slashless) filename or a
pathname. The syntax for moving files is the same as for copying them:Print working directory
To find out in which directory you managed to end up, type:
pwd
to "print your working directory."
Changing directories
The cd command stands for "change directory." You
can move to the class directory or your home directory with this
command.
Change to another directory
Change to your home directory
Note that the ~ has magic powers. Alone, it stands
for your home directory. When it precedes a user name, it
means that person's home directory.
You won't see anything happen.
Change to someone else's home directory
Listing the contents of a directory
Next to pwd, ls ("list") is the
most useful command for determining where you are. You may either
list your current directory by not providing an argument, or you
may list another directory by providing its pathname.
Copying files
To copy a file, type:
cp existing_file new_copy
Removing files
rm filename
Moving files or directories
mv old-filename new-filename
To move many files at once:
mv filename1 filename2...
destination-directory
Making directories
The mkdir command stands for "make directory." The
command creates a directory in the current working directory unless
you specify a pathname to another directory.
You won't see any changes. If you know the pathname to a directory,
you can skip the step where you change to the directory in which
you wish to create the new directory. Then you may simply type:
mkdir pathname/directory_name
Copying directories
The cp command stands for "copy." This command may be used
for directories or files (see Copying
Files below). cp will copy the given file to the current
working directory or a specified directory. Since a directory often
has contents, you must specify that the command must work
recursively. Therefore, the option -r causes cp to
copy the contents within the target directory as well.
Type:
Sometimes you won't be able to read your friends' files because
your account won't have the necessary permission. Ask your friend
to make the relevant files "public readable". Also you will need
read and "execute" permission to the directories you need to search
through to get the files in question. To make a file readable by
anyone (but to allow only the owner to modify it, type The "-rw-r--r-" should have 3 "r"s in it if the file is public
readable. to list the current directory itself (not its contents), type
ls -l -d . For a directory you should get "rwxr-xr-x".Changing access permissions
chmod 644 filename1 filename2...
chmod 755 directory1 directory2...
You can verify the settings using ls -l which gives you a
readout as in:
-rw-r--r-- 1 msp msp 5156 Jan 24 1999 1.ring-mod.pd
-rw-r--r-- 1 msp msp 5474 Jan 24 1999 2.bandpass.pd
-rw-r--r-- 1 msp msp 12805 Jan 25 1999 3.phase.vocoder.pd
-rw-r--r-- 1 msp msp 617 Jan 24 1999 README.txt
Reading the UNIX manual
To get help on a UNIX command, type, for example, man ls .
Editing text files
The good text editor is called "nedit." From a shell you can type,
for instance,
nc file1 file2...
Using FTP to transfer files
The concert machine doesn't accept FTP connections but you can use
it to open an FTP connection to another machine, say man104-1:
ftp machine-name
You will get a prompt like "ftp>". Useful commands from WITHIN
FTP are:
If you have a file at home or elsewhere, you might want to copy it
to man104-1 using your own FTP program, and then FTP from the
concert machine to man104-1 to get it to its final destination.
RUNNING THE MUSIC 271 PATCHES
If you know the details of which audio and MIDI devices you
want, you can run Pd directly by typing "pd" to a shell, probably
with arguments to specify how you want things set up. But for the
purposes of the Music 271 course, there's an auxilliary program
named "271" which handles the details for you. Type "271" to a
shell and see:
1) TEST-TONE 6) reich-phase 11) tenny-collage
2) boulez-dialogue 7) risset-duet 12) yuasa-midnight
3) chowning-stria 8) saariaho-noanoa 13) quit
4) harvey-mortuous 9) steiger-loops
5) manoury-pluton 10) stockhausen-mantra
#?
Now type a number from 1 to 13. Start with "1", the test tone.
When you're done with the test tone, quit Pd and you get the "271"
menu back. "13" quits and you get back to the shell prompt.
THE B104 LINUX MACHINE AUDIO SETUP
The linux machine has four audio connections to and from the B104 patch bay. The four outputs normally appear on the mixer's line inputs 5 through 8. You patch them to the first four busses and/or the stereo outputs to get them to the 6 speakers... I think.
To get sound from the mixer back to the computer, map the sound to one or more unused bus outputs and patch it to the audio sends to "computer number 2."
Usually you'll want to send the microphone to the computer. First, make sure the mic is plugged into the mixer. Verify that the green LED on the channel blinks when you tap on the mic. To get this to happen you must have the line/mic swithc on mic and the deadly "fader flip" button OFF. Then assign the mixer channel to bus 5/6, say, and enjoy the VU meters. Finally, check that they're patched to the computer properly, run the 271 test tone patch, turn on "meters" there, and see if the numbers are in a good range (tapping should be 80 or 90 dB; 100 is clipping.)
B104 has a MIDI piano connected to the Linux machine.
The piano has to be put in "real time MIDI mode." After powering the piano up, hit "midi" and then hit the RECORD button until you see that MIDI out is "kbd" and not "DELAYOUT." You should test this using the "testtone" patch (via the "271" command) before you try to use it.