基本的には、キー入力・マウス操作をホストに転送、および、ホストの画面変更部分をクライアントに転送するだけです。 Xがホストなら、Xは元々そういうようにできているので、あまり大変ではないような気がします。 問題はWindowsがホストの時ですが、画面の変更部分を検知するのは結構大変です。正攻法は GDI hook か、ディスプレイドライバもどきを作ることですが、結構面倒そうなので、Remote Saucer は各種イベントを拾って画面が変更された可能性があればすべて転送しています。