Não acredito que a desconexão do monitor influencie o desempenho e, não, ele não impedirá a execução da GUI ou a utilização de recursos. Elementos gráficos ainda requerem GPU ou CPU (ou ambos) para serem manipulados, mesmo se não houver nenhum dispositivo anexado para exibi-lo.
Você tem várias opções para parar a GUI em um sistema inicializado, dependendo da versão da sua distribuição Linux, no entanto:
-
Em um sistema pré-systemd com o SysVinit, mude para um 'runlevel' que não inclua a GUI. Em muitos sistemas, este é o nível de execução 3, a menos que seja um sistema systemd, da seguinte forma:
$ sudo init 3
-
Em um sistema systemd, esse comportamento de comutação de nível de execução é emulado. O runlevel pode ser alterado para o equivalente a 'runlevel 3' (pode ser diferente dependendo da distro, verifique refs no final desta resposta):
$ sudo systemctl isolate multi-user.target
(para desfazer isto: $ sudo systemctl isolate graphical.target
)
Este é o meu pensamento para um servidor que já está construído, em serviço, e é um 'floco de neve especial' que não pode ser facilmente substituído por uma configuração que não inclui Xorg, GNOME, QT, GTK, etc. ) componentes. Se eu conseguisse, colocaria esse sistema em uma lista "a ser reconstruída" de máquinas que não deveriam ter bibliotecas e aplicativos da GUI instalados. :)
Para impedir que a GUI seja carregada na inicialização, no SysVinit, digite
$ man 5 inittab
ou para o Systemd, você vai querer ler as referências que eu listo abaixo para ver também como desabilitar a GUI de iniciar na inicialização.