InDesign Crashes Whilte Printing on Mac OS X

Sometimes, Adobe InDesign will crash when trying to print on a user account with a networked home folder under Mac OS X. Here is the fix that I use:

ditto -rsrc /System/Library/Printers /Library/Printers

I send that command to all computers with the problem via ARD (Apple Remote Desktop) and it seems to resolve all of the issues.

If that doesn’t work, you need to copy or create a Printers folder in the current users Library folder. Drop into Terminal and type the following:

mkdir ~/Library/Printers

Those two methods have resolved most of our InDesign printing issues.

Resource Temporarily Unavailable with cPanel and TeamSpeak

One of my friends, Jeremy Bergen, is running a TeamSpeak server on one of my servers, and was running into a resource temporarily unavailable while ssh’d into the box. The TeamSpeak server was also randomly shutting down, and this may have been caused by the same error. TeamSpeak uses around between 10-16 processes itself, so after a logging in a few times or doing other things, this default limit of 20 it reached.

To fix this, first I turned off cPanel’s built in ‘Prevent Shell Fork Bomb Protection’. Then, I edited the /etc/security/limits.conf. I still wanted users to be limited to 20 processes, except for the TeamSpeak user which I wanted to have 40, and root which I wanted unlimited. Here are the lines that I had:

*             soft     nproc     20
jeremy        soft     nproc     40
root          soft     nproc     unlimited

Of course, you can customize the file however you like. The key is turning off cPanel’s internal protection so your box will use this file. Also, I happen to use CentOS 4.3.

Locally Cache Mac OS X Network Login Folders

Here at the school district I was running into a problem where if several Mac OS X wireless clients logged into the network at once, everything slowed down to a crawl. After researching the problem, it looked like the user’s Library and Microsoft User Data folders were causing the problem. I tried turning on OS X’s home folder syncronization, but that didn’t work very well, and filled up our older computers fast. The solution I found was to locally cache the user’s Library and Microsoft User Data folder. To do this, create a symbolic link from the user’s networked ‘Library’ folder and point it to a local source. I chose /tmp/UserCache/username/Library. Here is the login script I created to automate the process:

#! /bin/bash

# Create local user caches of important directories
# Written by Steven Eppler 04/04/2006

export PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin

# Set user variable
user="$1"

# This grabs the user's home directory server
input=`dscl localhost read Search/Users/$user NFSHomeDirectory`
nethomedir=${input:18}

# Or you can hardcode it...
# nethomedir="/Network/Servers/ServerName/Volume/$user"

# Check for blank nethomedir - otherwise you will delete
# the root /Library folder!
if [ """$nethomedir""" != "" ]; then

echo $user
echo $nethomedir

# Create local caching directories
mkdir /tmp/UserCache
mkdir /tmp/UserCache/$user
mkdir /tmp/UserCache/$user/Microsoft\ User\ Data
mkdir /tmp/UserCache/$user/Library

# Give everyone rights to them...
chmod -R ugo=rwx /tmp/UserCache

# Create Documents and Desktop folder (sometimes they don't exist)
mkdir $nethomedir/Documents
mkdir $nethomedir/Desktop

# Delete old folders or links
rm -rf $nethomedir/Library
rm -rf $nethomedir/Documents/Microsoft\ User\ Data

# Create new links
ln -s /tmp/UserCache/$user/Library $nethomedir/Library
ln -s /tmp/UserCache/$user/Microsoft\ User\ Data $nethomedir/Documents/Microsoft\ User\ Data

fi