Ubuntu 16.04: ripristina la frequenza di aggiornamento dello schermo dopo la sospensione / ripresa

4

Anche dopo aver cercato su Google, non riesco a trovare una risposta a questa domanda forse facile. Uno dei miei computer è collegato al televisore principale di casa con un cavo DP / HDMI. Tutto funziona bene La risoluzione dello schermo viene rilevata nel modo corretto, 1920x1080, anche se la frequenza di aggiornamento è impostata su 50Hz (50 Hz interlacciati). Posso eseguire xrandr -r 60 e quindi visualizzare un bel desktop 1920x1080 @ 60Hz. (Progressivo a 60 Hz).

Tuttavia, quando smetto di usare il computer per un po ', si passa automaticamente alla modalità di sospensione e, quando si riattiva, la risoluzione è impostata su questa cattiva frequenza di aggiornamento interlacciata di 50 Hz.

Ho aggiunto uno script 15_screen-resume in /etc/pm/sleep.d come segue:

#!/bin/sh

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

Posso verificare se questo script viene eseguito con il comando date > /tmp/resume.txt . So che questo funziona se eseguo pm-suspend da una shell, attendo che il computer sia inattivo e quindi lo riattivino. Ma questo script non viene chiamato se il computer entra in modalità sospensione da solo dopo un periodo di inattività.

La domanda è: come chiamare uno script personalizzato al risveglio dopo che un computer su cui è in esecuzione Ubuntu 16.04 è entrato in modalità di sospensione dopo un periodo di inattività?

Grazie a tutti per il vostro aiuto.

    
posta MaxAuray 10.11.2016 - 07:50

1 risposta

0

Può essere fonte di confusione con i molti modi diversi in cui puoi far dormire il computer con acpi, gns's gsettings, pm-utils, power management (o qualcosa del genere) e systemd.

Nel tuo caso devi creare uno script in /lib/systemd/system-sleep che assomigli a questo:

#!/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

Per assicurarti che lo script sia stato creato con le giuste autorizzazioni, copia e script esistente e poi modificalo:

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

La pausa sleep 2 potrebbe non essere necessaria per te, ma per la mia configurazione era necessario ripristinare l'audio dal laptop alla TV HDMI.

Le righe echo sono facoltative ma sono utili perché vengono visualizzate in /var/log/syslog .

    
risposta data WinEunuuchs2Unix 20.11.2016 - 03:42

Leggi altre domande sui tag