Você está conectado aos scripts de inicialização do sistema, que não têm uma sessão X11 disponível para eles. É por isso que você está recebendo o erro "Não é possível abrir a exibição". (Deixarei de lado que você está escrevendo um script init.d
em um sistema systemd, em vez de uma unidade systemd. E que seu script init falha em realmente seguir a API, por exemplo, ele não verifica "start" ou "pare").
Em vez disso, você precisa se conectar à inicialização do X11. Você tem cinco opções (pelo menos - continuar pensando em mais enquanto escreve isso):
-
Em todo o sistema, coloque um script em
/etc/X11/Xsession.d/
. Este script é originado na configuração da sessão X, basicamente tudo o que você precisa é o blocoif
. Esta seria a minha escolha. -
Você deve ser capaz de definir a configuração padrão para o monitor, colocando coisas em
/etc/X11/xorg.conf.d/
(que você pode precisar paramkdir
primeiro). Embora você precise aprender a sintaxe de configuração do Xorg. -
Para um usuário, coloque-o no seu
~/.Xsession
. -
Para um usuário, coloque-o nos scripts de inicialização do ambiente de área de trabalho (a maioria tem isso). Ou talvez o seu DE possa realmente se lembrar da configuração do monitor e aplicá-lo automaticamente.
-
Em todo o sistema (ou para um usuário), coloque-o na sessão systemd usuário . Isso envolveria colocar um arquivo de unidade em
/etc/system.d/user
ou~/.config/systemd/user/
. Muito flexível, mas requer sistema de aprendizagem.