The only programs that deny to run in background (or do not work then) are programs that need terminals.
Your problem is that nm-tray is not run at all because You did not start parcellite in the background.
So just add the ampersand to the end of that two lines (and others if You start other long-running/persistent programs that do not detach themselves, but I think currently there are none in Your above list) and add a disown at end of script to not let the script hang around there waiting for the programs to finish.
user301446
- 636
- 3
- 6