Não tenho certeza se essa é a melhor resposta (vou esperar alguns dias para sinalizar isso!), mas parece promissora:
Primeiro, crie um script em $ client, digamos, save_display.sh:
#!/bin/bash
echo $DISPLAY > /path/to/saved_disp
Em seguida, crie um LaunchAgent .plist para ele, salve-o em ~ / Library / LaunchAgents. Comece com um intervalo de 60 segundos ou algo assim.
Finalmente, carregue-o na sessão do Aqua :
launchctl load -S Aqua ~ / Biblioteca / LaunchAgents / my.display.saver.plist
Se você acabou de carregá-lo normalmente, $ DISPLAY não será definido e seu arquivo estará vazio.
Então,
server$ ssh myuser@client
client$ export DISPLAY='cat /path/to/saved_disp'
client$ xterm
e sucesso.
Parece continuar trabalhando nas reinicializações. Estou muito feliz com isso.