«Отсоединение» и «Повторное подключение» xterms через X сессий?


14

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

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

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

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

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

Ответы:


8

Я знаю, что этот пост старый, но ...

http://xpra.org/ Xpra - это «экран для X»

... Сумасшедший, как много людей, казалось, ответили, фактически не читая ваш вопрос. Xpra не только позволит вам перемещать приложения с одного дисплея на другой на любом компьютере, но и полностью отключит приложения от любого реального дисплея, а затем подключит их позже.


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

4

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

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

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

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


1
Спасибо, я знаю об экране, но это не то, что я ищу.
Абхинав

1
С экраном вы можете иметь разные xterms с разными терминалами. Просто используйте screen -x и переключите каждый xterm на собственный экран. Один xterm может иметь экран 1, другой экран 2 и т. Д. Это тоже может быть написано в сценарии ... "xterm -e screen -x -p 1 &" и т. Д.
TREE

+1 за экран. Вы сказали, что «я не хочу использовать screen, потому что тогда мне нужно будет использовать отдельный сеанс экрана для каждого xterm», - но вы можете использовать один и тот же сеанс экрана для всех ваших xterm (используя screen -x для повторного подключения, так как Сказал TREE), и каждый xterm может посмотреть на одно и то же окно экрана (если это то, что вы хотите) или на другое окно экрана внутри каждого xterm (если это то, что вы хотите; это не ясно из вашего исходного вопроса).
Джеймс Полли

Если вы не хотите использовать экран, используйте tmux.
Valbaca

2

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

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


Спасибо за указатель на NX, но у меня нет прав для установки программного обеспечения на серверах. Есть ли что-нибудь встроенное в оконные менеджеры или сам X, которые можно использовать?
Абхинав

2

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


1

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

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

  • запустить рабочий стол в сеансе vnc, а затем подключиться к нему из любого места;
  • поделиться своим рабочим столом через x11vnc;
  • посмотрите в nx и freenx.

Я уже / запустить / две сессии VNC. Мне нужно переместить xterms между ними, если это возможно.
Абхинав

1

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



0

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


0

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


Как я понимаю, экспортный дисплей вызовет появление окна на определенном дисплее. Я хочу изменить отображение во время запущенного процесса.
Абхинав
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.