Como a solução que encontrei para isso não é trivial, queria postá-lo aqui para o registro.
Eu li a página man de pm-hibernate e, na seção sobre a opção de configuração HIBERNATE_MODE , vi uma menção ao arquivo /sys/power/disk . Lembrei-me de que há alguns anos atrás eu depurava suspender e hibernar escrevendo para /sys/power/state . Os valores possíveis podem ser vistos lendo o arquivo.
Eu testei a hibernação no nível do kernel com sudo sh -c 'echo disk > /sys/power/state' . O sistema foi suspenso e retomado corretamente.
Então, o problema foi que pm-hibernate estava fazendo algo errado.
Eu tentei definir a opção SLEEP_MODULE criando um arquivo /etc/pm/config.d/sleep_module com o conteúdo:
SLEEP_MODULE=tuxonice
E isso foi retomado depois de pm-hibernate .
Então, eu precisava criar um arquivo /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla como explicado aqui .
E eu tinha um recurso de hibernação totalmente funcional para o meu ThinkPad X60.
Provavelmente há um bug a ser arquivado no Launchpad sobre isso, mas eu não sei o que seria.
Eu tive alguns problemas de estabilidade com o hibernate desde a aplicação dessa correção. Até agora, não conseguiu retomar uma vez e não conseguiu hibernar uma vez. Por isso tem cuidado. Outro módulo do sono pode ser mais confiável, mas não posso testar isso até que eu possa reproduzir os problemas.