Ubuntu 16.04: restaura a taxa de atualização da tela após a suspensão / reinício

4

Mesmo depois de googlar, não consigo encontrar uma resposta para essa pergunta, talvez fácil. Um dos meus computadores está conectado à TV principal doméstica com um cabo DP / HDMI. Tudo funciona bem. A resolução da tela é detectada da maneira correta, 1920x1080, mesmo se a taxa de atualização estiver definida como 50 Hz (50 Hz entrelaçados). Posso executar xrandr -r 60 e, em seguida, exibir uma área de trabalho agradável de 1920x1080 @ 60Hz. (60 Hz progressivos).

No entanto, quando paro de usar o computador por um tempo, ele automaticamente entra no modo de suspensão e, quando eu o acordo, a resolução é definida com essa taxa de atualização entrelaçada incorreta de 50 Hz.

Eu adicionei um script de 15_screen-resume em /etc/pm/sleep.d da seguinte forma:

#!/bin/sh

case "" in
    resume)
        xrandr -r 60
        date > /tmp/resume.txt
    ;;
esac

Posso verificar se esse script foi executado com o comando date > /tmp/resume.txt . Eu sei que isso funciona se eu executar pm-suspend de um shell, aguarde o computador para dormir e, em seguida, acorde. Mas esse script não é chamado se o computador entrar no modo de suspensão por conta própria após um período de inatividade.

A pergunta é: como chamar um script personalizado ao acordar depois que um computador executando o Ubuntu 16.04 entrou no modo de suspensão após um período de inatividade?

Obrigado por sua ajuda.

    
por MaxAuray 10.11.2016 / 07:50

1 resposta

0

Ele pode ficar confuso com as muitas maneiras diferentes que você pode colocar o computador para dormir com o acpi, gsettings do gnome, pm-utils, gerenciamento de energia (ou algo parecido) e systemd.

No seu caso, você precisa criar um script em /lib/systemd/system-sleep que se pareça com isto:

#!/bin/sh

case / in
  pre/*)
    echo "Going to ..."
    # Place your pre suspend commands here, or 'exit 0' if no pre suspend action required
    exit 0
    ;;
  post/*)
    echo "Waking up from ..."
    # Place your post suspend (resume) commands here, or 'exit 0' if no post suspend action required
    sleep 2
    xrandr -r 60
    date > /tmp/resume.txt
    ;;
esac

Para garantir que o script seja criado com as permissões corretas, copie e exista um script existente e edite-o:

cd /lib/systemd/system-sleep
sudo cp wpasupplicant tv_refresh
gksu gedit tv_refresh

A pausa sleep 2 pode ser desnecessária, mas para minha configuração foi necessário restaurar o som do laptop de volta para a TV HDMI.

As linhas echo são opcionais, mas são úteis porque aparecem em /var/log/syslog .

    
por WinEunuuchs2Unix 20.11.2016 / 03:42