O link que você postou fornece o que você precisa.
O Xming é um servidor X que é executado no Windows e, portanto, pode aceitar a saída de aplicativos gráficos em vez de um servidor X local no próprio servidor.
Quando você usa ssh -X hostname
ou usa putty do Windows e habilita o encaminhamento X nas opções SSH, a sessão ssh estabelecida possui um "túnel" criado entre o servidor e a máquina Windows sobre o qual ele envia a saída gráfica quaisquer processos executados nessa sessão ssh.
Quando estiver conectado ao servidor, você verá a variável DISPLAY
apontando para si, mas em uma porta diferente:
$ echo $DISPLAY
localhost:10.0
O 10
aqui corresponde à porta tcp 6010 (normalmente), que podemos ver usando netstat:
$ sudo netstat -pan | grep 6010
tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN 6031/0
Isso nos mostra um ouvinte local na porta 6010, que pertence ao processo 6031 nesse caso:
$ ps auwx | grep 6031
user 6031 0.0 0.1 9340 1960 ? S 21:57 0:00 sshd: user@pts/0
E podemos ver que isso é de propriedade do terminal pts criado pela sessão ssh. Isso tudo é apenas plano de fundo, mas o que ele está dizendo é que qualquer gráfico será enviado para uma porta criada pela sessão ssh e encaminhada pelo túnel de volta para a máquina de chamada. Esta é a caixa do Windows e está executando o Xming, portanto, receberá a sessão de gráficos e a exibirá localmente.
Observe que isso é apenas saída de gráficos. O processo ainda está sendo executado no servidor e qualquer interação que ele tenha com o servidor é apenas a saída desse processo que é encaminhado pelo túnel.
Portanto, se você disparar o firefox a partir da linha de comando, sua saída será exibida na máquina Windows.
Então, sim, quando você faz um diálogo de arquivo no firefox, isso é da perspectiva do servidor, não da máquina do Windows. Portanto, qualquer upload que você queira fazer será feito no armazenamento de arquivos do servidor.
Desta forma, elimina toda a sobrecarga do ambiente de trabalho e apenas executa a aplicação.