Seahorse doesn’t unlock your keyring when you have auto login enabled. The funny thing is that even if you set up an empty password, you will still have to unlock it manually. Maybe it’s a bug, maybe it’s a security feature. Either way, if you have an encrypted LVM like I do, and you shutdown your computer when you don’t need it having to unlock keyring each time can be a real pain in the ass. First you need to unlock whole system, then you skip login (because of the auto login), but you still need to unlock keyring.
Luckily there’s a really simple solution to this:
Change your keyring password
First, you need to change your keyring password. Use unique pass-phrase that you don’t use anywhere else because it’s going to be stored in plain text. To do this, press ALT+F2, type seahorse and press enter. You will see following window:
Go to View and select By keyring. You should see something like this:
Create a simple Python script
Now you have a new keyring password. To unlock it automatically, we will use a simple Python script, that will be executed each time you are auto logged in:
#!/usr/bin/python import gnomekeyring gnomekeyring.unlock_sync(None, 'your keyring password');
save it as a hidden file somewhere in your home directory (I used ~/.keyring).
Now add executing rights:
chmod +x ./.keyring
You can also execute it to check if it’s working:
If it doesn’t you will see an error explanation:
[~]$ ./.keyring Gkr-Message: secret service operation failed: The password was invalid Traceback (most recent call last): File "./.keyring", line 3, in <module> gnomekeyring.unlock_sync(None, 'PyGaCQbiacPUPgFcJrwjIsEcz'); gnomekeyring.IOError
Add your keyring script to autostart (auto startup)
Just ffollow this article and in a command field put: /home/mencio/.keyring
That’s all. After that, you should have automatically unlocked keyring after your auto login.