O vncviewer rodando em A fala (via protocolo vnc) para um vncserver (agindo como um servidor X) ou diretamente para o servidor X (com a extensão vnc) rodando em B.
Então, realmente todo o protocolo X acontece exclusivamente em B (mesmo que sejam exibidos via vnc em A), então as xhost
e DISPLAY
ops (específicas do protocolo X) feitas dentro dos terminais exibidos no vncviewer se aplicam diretamente para B.
Normalmente você não deveria precisar de xhost
(ou talvez adicionar localhost
se necessário).
Normalmente, DISPLAY
já deve estar definido para o :N
correspondente ao vncserver
em execução no B.