O cliente X será executado no host em que você o inicia. Portanto, se você executar um cliente X na máquina 'remota', ele será executado na máquina 'remota' e se comunicará com o servidor X 'local' pela rede. Não é de alguma forma magicamente migrado para a máquina 'local'.
Você pode executar um cliente X em qualquer lugar, desde que ele possa se conectar a um servidor X, seja remotamente ou pela rede. Então, sim, você pode executar clientes X em um host sem cabeçalho e sem servidor X (mas precisará das bibliotecas cliente X).
Qual servidor X ao qual um cliente X se conecta depende da variável DISPLAY
ou das opções de linha de comando (geralmente -display
). Assim, você pode executar no mesmo host (a) um cliente X que se conecta a um servidor X em execução local, (b) outro cliente X que se conecta a outro servidor X localmente diferente, com um monitor e teclado diferentes, (c) um cliente X que se conecta a um servidor X remoto.