- You’ll need to download and build from the source; there’s no packaged installer available (i.e. similar routine to “The Hard Way” in the Linux instructions).
- To do this, you’ll need to have XCode installed (the currently-available version requires OS X 10.7 Lion or 10.8 Mountain Lion), as well as the supplementary Command Line Tools (Preferences→Downloads).
- Automated startup is more involved.
cd lcdproc-0.5.6
./configure
nano server/drivers/MtxOrb.c
Look for this line (around line 387):
p->fd = open(device, O_RDWR | O_NOCTTY);
p->fd = open(device, O_RDWR | O_NONBLOCK); #undef HAVE_CFMAKERAW
make sudo make install
- dmesg won’t show the USB device name. Instead, you’ll need to root around in the /dev directory to find the device name; e.g. start with:
ls /dev/tty.usb*
- The LCD drivers are located in /usr/local/lib/lcdproc/ by default; edit the DriverPath= line in LCDd.config to match (and remember to include the trailing slash).
- The LCDd daemon is located in /usr/local/sbin by default.
- The lcdproc client is in /usr/local/bin (and must be run as root — use “sudo” during initial configuration/testing).
First, edit the lcdproc configuration file so that it’s respawn behavior doesn’t interfere with the system’s own facility:
sudo nano /usr/local/etc/lcdproc.conf
#Foreground=true
It’s slightly awkward…this line should be enabled in lcdproc.conf (which runs in the foreground), but disabled in LCDd.conf after testing (the background daemon).
One more change. Look for this line in lcdproc.conf (around line 77):
HighLoad=1.3
This sets the processor load threshold at which the LCD backlight will blink (to indicate heavy work). At startup and login, a lot of processes are launched and may temporarily trigger this blinking if set too low.
nano net.omnipotent.LCDd.plist
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>net.omnipotent.LCDd</string> <key>ProgramArguments</key> <array> <string>/usr/local/sbin/LCDd</string> </array> <key>KeepAlive</key> <true/> </dict> </plist>
nano net.omnipotent.lcdproc.plist
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>net.omnipotent.lcdproc</string> <key>ProgramArguments</key> <array> <string>/usr/local/bin/lcdproc</string> </array> <key>KeepAlive</key> <true/> </dict> </plist>
sudo chown root:wheel net.omnipotent.LCDd.plist sudo chown root:wheel net.omnipotent.lcdproc.plist sudo cp net.omnipotent.LCDd.plist /Library/LaunchDaemons sudo cp net.omnipotent.lcdproc.plist /Library/LaunchDaemons
If there’s no response from the LCD, it may be the wrong device name in the LCDd configuration file. Double-check the value there against the contents of the /dev directory, and test by running LCDd from the command line.