Saving passwords for multiple Skype accounts

I have two Skype accounts; one for work, and one for personal use. Unfortunately, the Skype client for Linux is somewhat limited. It can store two usernames, but it saves only the last password entered. Tonight, I hacked up a solution.

I ran the Skype binary from the command line, and saw this:

This immediately suggested two possibilities.

  1. Create a script that reads usernames and passwords from a file, then calls echo username password | skype --pipelogin. Obviously the file is a security risk, but don’t fool yourself. The obfuscated password in the Skype configuration file is no safer.
  2. Create a ~/.Skype-name directory for each account, and call skype --dbpath ~/.Skype-name. This has the advantage of letting Skype store the password, but means any configuration changes to Skype have to be made twice.

I opted for the former, because I like writing bash scripts that call zenity or kdialog. First I created a file:

cat > ~/.Skype/passwords

chmod 600 ~/.Skype/passwords

Then I wrote a simple script to do the following:

  1. Read the password file
  2. Display a zenity dialog with a list of usernames
  3. Find the password of the selected user
  4. Call Skype

Here it is: skype-fe. It worked on the first try. It’s a total hack, and I love it. It is based on previous zenity scripts I’ve written, so it’s not quite as simple as I let on. It won’t shred your hard drive, I promise.


  1. Frank Martin’s avatar

    how to find my password if my session is logged in? where will this temporarily store the pass during its logged in session?


    1. Tyler Wagner’s avatar

      The Skype software stores the password in an obscured form in its config files. I haven’t researched how to decode it. My hack here doesn’t temporarily store the password. It permanently stores it in a readable file. That is a risk you can decide if you want to take. I use a password unique to Skype, so I don’t really care.



Your email address will not be published. Required fields are marked *