Из поля это - ограничение X; Вы не можете переместить окна между сессиями.
Однако Вы могли использовать инструмент как xpra для выполнения то, что Вы пытаетесь сделать. Это работает немного как Экран GNU, позволяя Вам отсоединить окно от одной сессии и присоединить его к другой сессии. Это записано в Python, таким образом, это будет работать, не имея необходимость компилировать любой исходный код, хотя можно найти трудным заставить его работать с X-сервером поставки Sun.
Ваш оператор "When the user connects through SGD he gets a local X session and he runs his application on whatever remote machine he wants to use". является немного неправильным.
X сессий не локальны, но работают на сервере SGD. Между локальной рабочей станцией (ПК, дома запускающий Windows или Linux в Вашем примере) и сервером SGD, протокол AIP используется, не X11.
Если приостанавливают/возобновляют, позволяется, пользователь может переместиться от одного сайта до другой и возобновить эти X приложений в состоянии, они были прошлым разом, когда они использовались. Таким образом в Вас сценарий, это удовлетворяет пользователя для запуска необходимых приложений через SGD для получения доступа к ним и от местоположений станции и от исходных расположений.