title: `qdbus` command does not apply until scripts exits
body: <p>I have a script which I use to make it easier for me to connect to the many servers I need to SSH into. It's working well except that the terminal's title (Konsole tab title in my case) is being set to the name of my script, "() ./scripts/ssh". I updated the script and added a call to <code>qdbus</code> to set the Konsole tab title. It works, but only after the SSH session is closed / the script completes.</p>
  
  <p>How do I make the <code>qdbus</code> command take affect immediately?</p>
  
  <h2>the script</h2>
  
  <pre class="lang-sh prettyprint-override"><code>#!/bin/bash
  
  ENV=$1
  HOST=$2
  USER=${3:-my_username}
  
  if [ -z ${ENV} ]; then
    echo "First parameter must be the environment."
    exit -1
  fi
  
  if [ -z ${HOST} ]; then
    echo "Second parameter must be the host."
    exit -1
  fi
  
  case "$ENV" in
    # cases to determine proper hostname from abbreviated input
    *)
      echo "Unsupported environment: ${ENV}"
      exit -1
  esac
  
  HOST="${HOST}.${ENV}.net"
  
  # set tab title
  qdbus &gt;/dev/null "${KONSOLE_DBUS_SERVICE}" ${KONSOLE_DBUS_SESSION} setTabTitleFormat 0 "${USER}@${HOST}"
  
  echo "Connecting to ${HOST} as ${USER} ..."
  ssh ${USER}@${HOST}
  
  # revert tab title -- COMMENTED OUT FOR TESTING
  # qdbus &gt;/dev/null "${KONSOLE_DBUS_SERVICE}" ${KONSOLE_DBUS_SESSION} setTabTitleFormat 0 "%w"
  </code></pre>
  
  <p>When I run my script ...</p>
  
  <ol>
  <li>tab text is updated to <code>() ./scripts/ssh</code></li>
  <li>"Connecting" echo is displayed</li>
  <li>I'm SSH'd in per usual</li>
  <li>tab text is not updated</li>
  </ol>
  
  <p>When I exit the SSH session, the tab text is set to <code>"${USER}@${HOST}"</code> as in the command above (before <code>ssh</code>).</p>
  
  <p>I have added / comment out a line which reverts the tab text back to what it was before I ran the script (I think).</p>