Today I have upgraded all my machines as usual and I have noticed a weird behavior on IBM Thinkpad 600E. Its a very old machine I know but nonetheless ArchLinux 32 bit with LXDE on top works quite well on it so I continue using it as a spare machine.
What was the weird behaviour? Well after upgrade / reboot it wouldn’t reboot anymore. It would tell me:
Failed to execute operation: There’s already a shutdown or sleep operation in progress
and the command:
journalctl -b -l -x --no-pager | grep -i suspend
Mar 04 20:02:47 wishthinkpad.loc systemd-logind: Suspending…
Mar 04 20:02:47 wishthinkpad.loc systemd: Starting Suspend…
— Subject: Unit systemd-suspend.service has begun with start-up
— Unit systemd-suspend.service has begun starting up.
Mar 04 20:02:47 wishthinkpad.loc systemd-sleep: Suspending system…
— Subject: System sleep state suspend entered
— The system has now entered the suspend sleep state.
So I have joined #systemd IRC channel on Freenode and asked for help. Very nice people… After explaining what the problem was I was asked if the laptop’s lid was closed… AND indeed it is… Permanently…
This old lappy has a screen problem BUT it has a power on switch on a side (I don’t need to open the lid to power the machine up) so I used this fact – I have closed the lid and placed an external screen on top of it. This way this old bugger will live longer and the bigger screen means (at least for me) better picture. I like it this way. Anyway… I was told:
20:47 < poettering> AndrzejL: i made the lid switch suspend a lot more aggressive in 210, to deal with laptops where one accidentally could hit the power button while in a backpack or so, on laptops where the power button is on the outside of the chassis, reachable with closed lid. In that case we want the machine to resuspend quickly
I was quickly presented with a fix:
20:49 < poettering> AndrzejL: yupp, edit /etc/systemd/logind.conf
20:49 < poettering> AndrzejL: change HandleLidSwitch to “ignore”
So I have ssh-ed into Thinkpad, su-ed to root and used mcedit to edit the /etc/systemd/logind.conf file. The option HandleLidSwitch was #-ed out so I had to un# it and change the value from suspend to ignore, save the file and reboot or restart logind. After reboot – no more problems.
I was also told:
21:03 < poettering> AndrzejL: in 211 all this should work out-of-the-box anyway
21:03 < poettering> AndrzejL: with no reconfiguration necessary…
21:04 < poettering> AndrzejL: and 211 should happen soonish if all goes well
Thank You kindly poettering for Your time, patience and for the provided help.
I doubt that many others will get caught by this but I am writing it down just in case / for future use.