То есть скрипт вычисляет, что активно рабочее место №2 и активирует фон №2, а при переходе на рабочее место №3 активирует фон №3?
Немного не так. Скрипт через заданные промежутки времени вычисляет номер активного рабочего места, и активирует соответствующий ему фон. При смене рабочего места некоторое время (до очередной проверки) фон останется прежним, и сменится при очередной проверке, так что мгновенной реакции не будет. Уменьшение интервала проверки до милли- и наносекунд очень нагрузит систему, я так думаю. Как отслеживать моменты перехода мне, к сожалению, пока неизвестно). Впрочем, если вы следуете мейнстриму и используете Compiz, то совет от
spacerdv (ccsm-wallpaper) выглядит наиболее годным.