sudo apt-get update
sudo apt-get upgrade
Fairly routine, but the result this time was that although both processes were successfully completed, the next time I tried to log into my account I received an error telling me that the session lasted less than 10 seconds. It did not matter which type of session I chose – Cinnamon or Gnome. I could, however, still log into a terminal session using Ctrl-Alt-F1.
I had run into a similar issue like this once before and removing vitualbox guest utils solved the problem, but not this time. The GUI error dialog referred me to file ~/.xsession-errors, but the content of ~/.xsession-errors was unremarkable:
Code: Select all
initctl: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused
syndaemon: no process found
/etc/mdm/Xsession: Beginning session setup...
localuser:johnc being added to access control list
On the recommendation of a support volunteer on #linuxmint, I installed lightdm and switched from mdm to lightdm, but this did not resolve the issue.
The next suggestion was to create a new user. Having done so using useradd, I found that the new user did not appear in the login selection list. Instead, the user has to be created with adduser. After deleting and then re-creating the user with adduser I could now select that user profile and log in successfully. Although I could still not log in to the original account, this demonstrated that the problem was connected with the users config.
Incidentally, I could not pull up any of the administrative tools while logged in as the new user, but the solution was simple: all administrative tools prompt for a password and sudo as root in the background, so the user needs to be part of the sudo group in order to be able to log in as root and use them.
The next suggested step was to go to the original users home and rename the .config directory:
mv .config .config.old
Unfortunately this did not solve the problem, but it did rule out the .config directory. Renaming .ICEauthority, .linuxmint and .cinnamon were also tried without success, each directory being re-instated after being ruled out. As it was getting late and I was getting tired, I left it for the night and carried on the next morning. I decided to carry on with other .directories and .files until eventually I arrived at .dmrc. At last, when the old file was renamed I could now log in and an new .dmrc file was automatically created.
So the cause was the .dmrc file, but why? A comparison of the old renamed file with the automatically created new one revealed the issue:
Old:
Session=cairo-dock
New:
Session=cinnamon
Well, cairo dock was never going to work as a login session! I do have cairo-dock installed and have used it for quite some time, but I had not recently updated or made any changes to it, so I have no idea why running an upgrade resulted in the file being changed in this way.
In any case, although I eventually reached the final solution, I can’t take all the credit and would like to thank both orcus and cryptodan_portable on #linuxmint for helping me out with some ideas for diagnosing this.