I am trying to open urxvtd (the urxvt unicode daemon) from .xsession and urxvtc (the client). The problem is that the client needs for the daemon to start first so I need to wait. I can't figure out how to implement such a wait. The following causes nothing to happen exec sleep 1 && urxvtc & or exec sleep 1 && ( urxvt & ) & and this causes X to exit immediatly exec sleep 1 && ( urxvtc & ) or exec sleep exec urxvtc & Any pointers?