BXG Blog

Removing old scanners from Epson Scan on OS X

I upgraded my older Artisan 800 to a new Artisan 837 a few months ago.  After using Epson Scan Settings to add the new scanner, everything works great. Unfortunately, the old scanner continued to show up in the dropdown every time I start Epson Scan even though it no longer exists.

I finally got frustrated enough at clicking through that dialog that I decided to track down where it was coming from.  Some basic Google searches didn’t yield anything useful, so I decided to see what files Epson Scan Settings was accessing.  OS X includes a handy command-line utility called dtruss that can be used to view system calls.  It requires root to run, but an extra sudo invocation causes it to run as my normal user while still having permissions to run dtruss:

sudo dtruss -f -t open sudo -u $USER 
"/Applications/Epson\ Software/EPSON\ Scan\ Settings.app/Contents/MacOS/EPSON\ Scan\ Settings"

That’s all supposed to be one line, but it’s too wide to fit in one column.  

After scrolling through all the screens of output, I found the program accessing files in the intriguingly-named directory /Library/Image Capture/TWAIN Data Sources. And sure enough, there’s one .ds bundle in that directory for each scanner that has been configured. Removing the old Artisan 800 bundle and restarting Epson Scan caused it to remove the old entry from the list.

Subsequent note: Instruments is a slick app that comes with Xcode that can do the same type of tracing.  After getting this working in dtruss, I tried it again in Instruments.  It would have probably been easier to start there.