Update Login to Runnable

Now “login” command will be threaded separately so that the login
function will not cause the GUI to freeze.