LINUX.ORG.RU

История изменений

Исправление firkax, (текущая версия) :

Если KScreen2 виден в виде конкретного процесса то попробуй прописать ему kill -STOP перед уходом в спящий режим и kill -CONT спустя 5 сек после выхода из него. Куда это прописывать зависит от дистра, в дебиане например файл можно было бы назвать /etc/pm/sleep.d/20_kscreen (chmod +x)

#!/bin/sh

kill_stop_kscreen()
{
  ...
}

kill_cont_kscreen()
{
  sleep 5
  ...
}

case "${1}" in
        hibernate|suspend)
                kill_stop_kscreen
                exit 0
                ;;
        thaw|resume)
                kill_cont_kscreen 1>> /dev/null 2>&1 &
                exit 0
                ;;
        *) exit 127 ;;
esac

Я хочу починить проблему, а не вставлять ещё костылей.

Это, разумеется, тоже костыль, но наверно с минимальными побочными эффектами. Чинить без костылей это думаю только патчить KDE, и подозреваю что в нём и так гора их присутствует штатно.

Исправление firkax, :

Если KScreen2 виден в виде конкретного процесса то попробуй прописать ему kill -STOP перед уходом в спящий режим и kill -CONT спустя 5 сек после выхода из него. Куда это прописывать зависит от дистра, в дебиане например файл можно было бы назвать /etc/pm/sleep.d/20_kscreen (chmod +x)

#!/bin/sh

kill_stop_kscreen()
{
  ...
}

kill_cont_kscreen()
{
  sleep 5
  ...
}

case "${1}" in
        hibernate|suspend)
                kill_stop_kscreen
                exit 0
                ;;
        thaw|resume)
                kill_cont_kscreen 1>> /dev/null 2>&1 &
                exit 0
                ;;
        *) exit 127 ;;
esac

Исходная версия firkax, :

Если KScreen2 виден в виде конкретного процесса то попробуй прописать ему kill -STOP перед уходом в спящий режим и kill -CONT спустя 5 сек после выхода из него. Куда это прописывать зависит от дистра, в дебиане например файл можно было бы назвать /etc/pm/sleep.d/20_kscreen (chmod +x)

#!/bin/sh

kill_stop_kscreen()
{
}

kill_cont_kscreen()
{
}

case "${1}" in
        hibernate|suspend)
                kill_stop_kscreen
                exit 0
                ;;
        thaw|resume)
                ( sleep 5 ; kill_cont_kscreen ) 1>> /dev/null 2>&1 &
                exit 0
                ;;
        *) exit 127 ;;
esac