CCRMA Documentation links:   index   contents   overview   rooms   account   staff   about


CCRMA Linux Workstations

CCRMA maintains dozens of desktop workstation computers throughout the building, including all studios, classroom, seminar room, most offices, most labs, and a large cluster in the Ballroom. They have largely silent fanless cases (where the whole thing is a huge heat sink) and fairly modern CPU, memory, LCD monitor, etc.

We run the Fedora Linux distribution, with a huge collection of software (Planet CCRMA) installed, plus Matlab.

Get help from Sysadmins Nando and Carlos, for example, if you would like them to install additional packages to support your work.

You should learn to run programs from the Unix shell with a program such as Terminal

Logging in and out

You log in to CCRMA Linux Workstations with a CCRMA user account and password. When you are done you log out.

In-person Logins

Sit down in front of the machine, look at its video monitor, and wiggle the mouse if necessary to “wake up” the machine. There should be a login screen asking for your user name and password; just enter them in the appropriate fields. Beware of CAPS LOCK possibly being set, and be careful not to type your password into the name field.

When you’re done you log out of the entire workstation via the Linux menu (lower left hand corner). There’s a menu button that looks like this:

The icon for the Fedora menu, located in the lower left corner of the screen

If you click that button it will bring up this very useful menu:

The Fedora menu that appears when you click the icon in the lower left corner of the screen, with the mouse hovering over the “Logout” button

Just above the menu icon is a red button (for restarting or shutting down the computer, which you normally shouldn’t have to do), and just above that is a black button named “Logout / Leave the session”, which looks like this:

The Fedora menu’s Logout button

Locked Screen

After a few minutes of inactivity the screen will automatically lock and you’ll need to re-enter your password to unlock. If somebody else abandoned the machine without logging out, then the best practice is to follow these steps (listed in decreasing order of politeness) until you succeed:

  1. Try to find the person and ask them either to log out or to confirm that they are no longer using the machine.

  2. Ask a system administrator to log them out.

  3. Open the front “door” of the workstation and hit the circular button labeled “reset”, which will completely reboot the machine.

  4. Power cycle the machine with a different button on the front.

  5. Power cycle the machine using the switch on the back, waiting 10 seconds before restarting.

  6. Power cycle the machine by unplugging and replugging the power cord, again waiting 10 seconds between.

Remote Logins

All the CCRMA Linux Workstations support remote login, i.e., they are running ssh servers and can be logged into from other machines (including each other).

Temporary Ban After Failed Logins

All CCRMA Linux machines keep track of failed login attempts (i.e., you mistyping your password or hackers trying guesses) and after three failues “ban” you from logging in. For remote login this manifests as an ssh error message port 22: Connection refused.

This ban lasts a few hours and then automatically lifts. The ban applies to a particular user on a particular computer; if you get banned from one machine you can still use any other instead. If you urgently need your access restored immediately then contact a system administrator.

Your Home Directory

All your same files appear in your home directory on whichever computers you use, thanks to a networked file system: The actual files are on a special server and all the Workstations access them over the local network.

Your home directory is automatically backed up.

Your files should stay in your home directory “forever” until you delete them.

Please remove larger files from your home directory once you no longer need them.

Special Filesystems

By default all the files you make go somewhere inside your home directory. There are some other special places you can put files for faster access and convenience. They’re faster because they’re local disks, physically inside each workstation, as opposed to other file systems served over the network. The capacity is hundreds of gigabytes on most machines.

/zap

The /zap directory is for temporary local files. Everything inside zap is automatically deleted when you log out.

/scratch

The /scratch directory is for local copies of files that you want your program to be able to access quickly on a given machine, possibly large datasets. Files inside /scratch are not backed up but they stay on each machine until you delete them.

Please clean your files out of of scratch when you’re done using them.

Audio in Linux

Desktop Linux distributions such as Fedora try to make audio “just work” in a simple user-friendly way so that users can hear youtube etc. In our case this consists of PortAudio plus ALSA.

If you’re trying to do something more advanced, you probably want to use JACK, which gives full flexibility in terms of routing arbitrary numbers of input and output signals to and from arbitrary numbers of hardware I/O channels and (JACK-enabled) audio programs running at the same time. If you like connecting text processing programs together with Unix pipes then you’re a JACK kind of person.

PortAudio

Most Linux audio software by default tries to output sound via PulseAudio, for example the Firefox web browser, commandline sndfile-play, or the GUI drum machine hydrogen.

PulseAudio is a desktop audio system which at CCRMA sits on top of ALSA, the “Advanced Linux Sound Architecture”, the device drivers that interface with the audio interface hardware (the lowest level access to audio), consisting of both kernel drivers and user level shared libraries that provide abstract access to the kernel drivers.

The Fedora Sound Preferences, with PortAudio and ALSA seeing a MOTU 1248

Multichannel PortAudio

The Test Sound window inside the Fedora Sound Preferences, with ALSA seeing a MOTU 1248, showing the assumed 7.1 home theater surround speaker layout. Click any speaker to generate a signal in the corresponding audio output.

One “feature” of PortAudio is that when the operating system notices that you have an 8+ channel sound card (such as MOTU 1248), it “helpfully” upmixes your software’s stereo output to 7.1 based on an assumed 7.1 home theater layout (as shown in the Test Sound window):

And of course by default you must want every system beep to come through all 7.1 of these channels: everybody knows more speakers is better. So indeed by default, when you play a mono or stereo sound, it comes through all 8 of these channels (but low-pass-filtered on channel 6 and possibly with other filtering and/or delay compensation).

So when you play sound “normally” from Linux, e.g., by playing an online video with the Firefox web browser, then by default it will come out of all the speakers (which may be more than 2).

One way to defeat this questionable upmixing behavior is to run a Linux program called alsamixer (or its perhaps-even-uglier GUI cousin alsamixergui) and set the gains to zero on every channel except the front pair (1+2). Then system sounds come out only the front, and only JACK can access the surround speakers. This setting is remembered on a per-user basis.

JACK

You will probably need JACK to use Ardour, Pd, jacktrip, or any other Linux software for multi-channel audio.

When properly configured, JACK “sees” the audio interface (“sound card”) and gets sound exactly to the audio outputs (and hence speakers) you explicitly route to.

In general, throughout all CCRMA’s Linux machines, the interface hw:0 should be the main multichannel audio interface, aka “sound card” (because of having disabled the motherboard’s low-quality built-in stereo audio I/O, plus any video monitor’s potential for audio-over-HDMI, in the BIOS), so you should always be able to use this. (Here’s more info on selecting sound cards in JACK.)

If you configure and start/stop JACK using the QjackCtl graphical interface (which is generally recommended unless you’re such a JACK wizard that you launch jackd from the command line), then beware that your Linux account remembers the interface you most recently used with QjackCtl and defaults to that the next time, so for example if you had previously launched QjackCtl while connected to a MOTU 16A on the Stage, then in Studio D QjackCtl will attempt and fail to open 16A rather than the correct 1248. That’s why always using hw:0 is advised.


This page of CCRMA documentation updated Wed Jun 17 11:05:53 PDT 2020 by matt.