O mais próximo que eu encontrei do seu problema é este tópico ( ubuntuforums.org - Nvidia GTX 950 e TV não vendo sinal após alteração de entrada ou desligamento / desligamento ) que referencia soluções para nVidia 970/980. Parece que o seu 960 está no meio.
A solução proposta é restaurar o monitor para um modo ruim e, em seguida, um modo bom usando este código:
#!/bin/sh
#Fix TV state when HDMI link is lost.
#By Mario Limonciello <email address hidden>
sleep 10
OUTPUT="HDMI-0"
BAD_MODE="1280x720"
GOOD_MODE="1920x1080"
for MODE in $BAD_MODE $GOOD_MODE; do
DISPLAY=:0 xrandr --output $OUTPUT --mode $MODE
sleep 2
done
Eu acho que este script pode ser melhorado, mas queria postá-lo em sua encarnação original.
Um dos autores no link queria configurar udev
para chamar automaticamente o script no evento hot-plug. Eu fiz isso para HDMI com este código ( hotplugtv
) no passado para corrigir bug 16.04 pulseaudio 8:
#!/bin/bash
if [[ $(cat /sys/class/drm/card*-HDMI-A-1/status | grep -Ec "^connected") -eq 1 ]]; then
/bin/sleep 2;
export PULSE_RUNTIME_PATH="/run/user/1000/pulse/";
sudo -u rick -E pacmd set-card-profile 0 output:hdmi-stereo;
else
export PULSE_RUNTIME_PATH="/run/user/1000/pulse/";
sudo -u rick -E pacmd set-card-profile 0 output:analog-stereo;
fi
exit 0
Você precisará modificar o teste if com o diretório /sys/class/drm/...
. Em seguida, modifique o lado verdadeiro do teste if com o arquivo de script que redefine a tela HDMI. No lado falso do teste if, simplesmente substitua o código por :
(noop) se não houver nada a fazer quando o dispositivo hdmi
for desconectado.
Para chamar esse script de udev
durante eventos de hot-plug, crie o arquivo /etc/udev/rules.d/99-hotplugtv.rules
contendo:
ACTION=="change", SUBSYSTEM=="drm", ENV{HOTPLUG}=="1", RUN+="/path/to/hotplugtv"
Altere /path/to/
para o caminho em que você colocou o script hotplugtv
.