Invariably the first thing I do after I log in to a KDE desktop is start a bunch of apps using kstart, using --desktop to send them to separate workspaces.

This seems to work fine from the command line, but if I try to launch them from a bash script all the applications start
on the same workspace as my terminal. For example,

--------------

#!/bin/bash

echo "Starting apps..."

kstart --desktop 1 firefox &> /dev/null &
kstart --desktop 2 kontact &> /dev/null &
kstart --desktop 3 dolphin &> /dev/null &
kstart --desktop 4 konsole &> /dev/null &

--------------

I'm just curious why this doesn't work the way I expect, and if there is a simple alternative that might work better.