Usei o gnome-schedule para criar um script para definir meu fone de ouvido como dispositivo de áudio substituto, porque ele continua desativando-o quando o fone de ouvido é desconectado ou o PC entra no modo de suspensão.
De qualquer forma, crontab é isso:
SHELL=/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/home/dmitry/bin
* * * * * headsetfix
/home/dmitry/bin/headsetfix é
#!/bin/sh
pacmd set-default-sink alsa_output.usb-Logitech_Inc_Logitech_USB_Headset_H540_00000000-00-H540.analog-stereo
pacmd set-default-source alsa_input.usb-Logitech_Inc_Logitech_USB_Headset_H540_00000000-00-H540.analog-stereo
Funciona bem no terminal. Eu me certifiquei de que ele fosse chmodded para ser executável e "qual headsetfix", executado a partir do cron, gera "/home/dmitry/bin/headsetfix", então não tenho certeza de qual é o problema.