"Отсоединить" и "Reattach" Xterms через X сессий?

10202
Abhinav

Есть ли способ сохранить / отсоединить xterm (или другое окно) и повторно открыть / загрузить / повторно присоединить его в другом сеансе X на той же машине?

То, чего я пытаюсь добиться, - это «перемещать» запущенные xterms между двумя сеансами VNC, работающими на машине.

Нет, я не ищу экран :)

Я не хочу использовать экран, потому что тогда мне нужно будет использовать отдельный сеанс экрана для каждого xterm. Использование нескольких вкладок на экране не работает в моем случае, так как мне нужно смотреть на несколько xterms одновременно, а не переключаться между вкладками.

NX - это еще один вариант, но он требует привилегий на сервере для установки программного обеспечения. Я ищу какое-то решение, использующее X, или какой-либо вариант в одном из оконных менеджеров напрямую. Было бы неплохо использовать fvwm / xfce / gnome, но приветствуются и другие WM, имеющие такую ​​возможность.

13

9 ответов на вопрос

8
MadReasonable

I know this post is old but...

http://xpra.org/ Xpra is 'screen for X'

...Crazy how many people seemed to have answered without actually reading your question. Xpra will not only let you move applications from one display to another on any machine, it will allow you to totally shut disconnect the apps from any real display and then re-attach later.

Я только что узнал о xpra и вспомнил об этом вопросе. Я думал, что получу достойный ответ на это после всего этого времени. О, хорошо, есть голосование. Greg 10 лет назад 0
4
Greg

Не совсем то, что вы просили, но экран может делать то, что вы хотите.

Это используется на уровне оболочки, а не на уровне X-окна, так что вы можете запустить два xterms (на разных серверах X, если они находятся в одном и том же окне) screen -x, которые будут показывать одни и те же сеансы sh.

Это не будет работать для нетерминальных вещей.

РЕДАКТИРОВАТЬ: xpra, вероятно, то, что вы хотите.

Спасибо, я знаю об экране, но это не то, что я ищу. Abhinav 14 лет назад 1
С экраном вы можете иметь разные xterms с разными терминалами. Просто используйте screen -x и переключите каждый xterm на собственный экран. Один xterm может иметь экран 1, другой экран 2 и т. Д. Это тоже может быть написано в сценарии ... "xterm -e screen -x -p 1 &" и т. Д. TREE 14 лет назад 1
+1 за экран. Вы сказали, что «я не хочу использовать screen, потому что тогда мне нужно будет использовать отдельный сеанс экрана для каждого xterm», - но вы можете использовать один и тот же сеанс экрана для всех ваших xterm (используя screen -x для повторного подключения, так как Сказал TREE), и каждый xterm может посмотреть на одно и то же окно экрана (если это то, что вы хотите) или на другое окно экрана внутри каждого xterm (если это то, что вы хотите; это не ясно из вашего исходного вопроса). James Polley 14 лет назад 0
Если вы не хотите использовать экран, используйте tmux. valbaca 10 лет назад 0
2
KeithB

Вы можете использовать экран в Xterm. Это программа, которая позволяет подключать и отключать терминальные сеансы. Таким образом, вы должны запустить xterm, запустить экран внутри xterm и использовать xterm как обычно. Чтобы переместить сеанс, вы должны отсоединиться от сеанса на экране и выйти из xterm. Запустите другой xterm где-нибудь еще и подключитесь к существующему сеансу экрана.

Если вы хотите сделать это с любой программой X, вы можете использовать NX . Он работает как экран, в котором вы можете отсоединить / присоединить к X-серверу. Он также понимает протокол X11, поэтому хорошо справляется с ускорением X в медленных сетях.

Спасибо за указатель на NX, но у меня нет прав для установки программного обеспечения на серверах. Есть ли что-нибудь, встроенное в любой из оконных менеджеров или самого X, которое можно использовать? Abhinav 14 лет назад 0
2
TRS-80

CryoPID имел обыкновение перемещать приложения GTK + (например, gnome-терминал) между X-серверами. Некоторое время он не обслуживался, поэтому может не работать в данный момент, но некоторые люди подняли его и снова начали работать над ним.

1
David Mackintosh

Как поставляется? Нет. Раньше было приложение "xmovex", которое иногда делало то, что вы просите, но оно было не очень популярным и не очень хорошо работало.

Есть несколько способов приблизиться к тому, что вы хотите:

  • запустить рабочий стол в сеансе vnc, а затем подключиться к нему из любого места;
  • поделиться своим рабочим столом через x11vnc;
  • посмотрите в nx и freenx.
Я уже / запустить / две сессии VNC. Мне нужно переместить xterms между ними, если это возможно. Abhinav 14 лет назад 0
1
ConcernedOfTunbridgeWells

Нет. Из коробки Х не имеет этой возможности. Если вы хотите сделать это, лучше всего использовать XVNC, который является x-сервером, который рендерится в виртуальный фрейм-буфер VNC. Затем вы можете подключиться к сеансу X с помощью клиента VNC.

1
Richard Hoskins

Вы смотрели в xmove?

http://en.wikipedia.org/wiki/Xmove

Абхинав, ты смотрел на этот вариант? Я пытался сделать то же самое, и я нашел этот вопрос при поиске xmove. rplevy 14 лет назад 0
xmove старый и мертвый, NX старый, но все еще работает, xpra работает totaam 10 лет назад 0
0
Roalt

Если вы заботитесь только о сеансе командной строки внутри xterm, используйте screen

0
nik

Интересно, если вы ищете для обработки отображения экспорта .

Как я понимаю, экспортный дисплей вызовет появление окна на определенном дисплее. Я хочу изменить отображение во время запущенного процесса. Abhinav 14 лет назад 0

Похожие вопросы