Como sua pergunta é marcada como Linux e Windows, aqui está uma solução do Linux.
Você precisa de um pequeno script que altere a exibição. O mais fácil seria usar xrand
, que já deveria estar instalado ou está nos repositórios da sua distribuição. No caso improvável de que não esteja instalado, você pode instalá-lo em sistemas baseados em Debian com
sudo apt-get install x11-xserver-utils
Quando o xrandr
estiver instalado, primeiro você precisará obter os nomes dos seus displays:
xrandr | grep -w connected | awk '{print $1}'
VGA-0
DP-0
No meu laptop, isso mostra que tenho dois monitores disponíveis, o laptop (DP-0) e uma tela VGA (VGA-0). Para ativar apenas o laptop eu rodaria:
xrandr --output DP-0 --off --output VGA-0 --auto
Para ativar somente o VGA e desativar o laptop:
xrandr --output VGA-0 --auto --output DP-0 --off
Eu não tenho um terceiro monitor para me conectar, mas se o seu terceiro monitor é chamado DP-1, você pode configurar um cron
job para alternar exibições em um horário como este:
## Activate VGA-0 at 6am
0 6 * * * xrandr --output VGA-0 --auto --output DP-0 --off --output DP-1 --off
## Activate DP-0 at 1pm
0 13 * * * xrandr --output VGA-0 --off --output DP-0 --auto --output DP-1 --off
## Activate DP-1 at 5pm
0 17 * * * xrandr --output VGA-0 --off --output DP-0 --off --output DP-1 --auto
Você disse que quer que isso seja executado quando nenhum usuário estiver logado, já que um usuário sempre deve estar logado quando o sistema estiver funcionando, não tenho certeza do que você quer dizer. No entanto, se você definir o cron
como root
(executando crontab -e
quando conectado como root
ou com sudo
), o trabalho será executado mesmo quando nenhum usuário normal estiver conectado.