systemd также предоставляет пользовательские службы, которые запускаются при входе пользователя в систему (по сравнению с системными, которые включаются при загрузке), вы наверное стоит посмотреть на это.
Но я не уверен, что вы можете запустить их с помощью правил udev. Возможно, ваше программное обеспечение должно запускаться как пользовательский демон, прослушивать события udev и действовать соответственно?