I use Eventscripts to solve this.
https://www.mousedown.net/software/Downloads.html
and this script on fast user switch.
Code:
-- To receive the eventArgs parameter
-- we wrap the script in an on run handler
-- eventArgs is a variable which will be populated when the script is executed
-- by EventScripts. If you run the script outside of EventScripts (eg in an editor)
-- you'll get an error since "trigger" has not been set in "eventArgs".
on run eventArgs
-- every eventArgs record has a trigger property
-- that describes the action that caused the script to be executed
set thisTrigger to (trigger of eventArgs)
if thisTrigger is "Fast user switched in" then
-- do whatever you want to happen when
-- the screen is unlocked here
-- YOUR SCRIPT HERE
tell application "/Applications/DisplayLink Manager.app"
activate
end tell