Тот факт, что журнал содержал /etc/pm/sleep.d/reset_panel resume suspend: Cant connect to display:, указывает, что отображение не установлено, и вы пытаетесь запустить графическую программу. Когда вы запускаете pm-suspend из своего сеанса, правильный дисплей был установлен, вероятно, LightDM или любым другим, каким будет ваш диспетчер дисплеев. Когда он запускается автоматически при возобновлении, я предполагаю, что он запускается как пользователь root и не привязан к дисплею. Таким образом, вам нужно установить переменную дисплея самостоятельно:
#!/bin/bash
case "$1" in
suspend|hibernate)
#do nothing
;;
resume|thaw)
export DISPLAY=:0
sleep 5 && lxpanelctl restart & #Delayed so the battery icon can finish wrecking shop.
;;
*)
exit 1
;;
esac
exit 0
Единственное отступление - это не будет работать, если вы на самом деле не показываете :0. Это значение по умолчанию, но оно может измениться особенно в многопользовательской настройке.