„Odłącz” i „Ponownie podłącz” xtermy w X sesjach?

14

Czy istnieje sposób, aby zapisać / odłączyć xterm (lub inne okno) i ponownie otworzyć / załadować / podłączyć ponownie w innej sesji X na tej samej maszynie?

To, co próbuję osiągnąć, to „przenieść” działające xtermy między dwiema sesjami VNC uruchomionymi na komputerze.

Nie, nie szukam ekranu :)

Nie chcę używać screena, ponieważ wtedy będę musiał użyć osobnej sesji screena dla każdego xtermu. Używanie wielu kart na ekranie nie działa dobrze w moim przypadku, ponieważ muszę patrzeć na wiele xtermów jednocześnie - nie przełączać się między kartami.

NX to kolejna opcja, która się pojawiła, ale wymaga uprawnień na serwerze, aby zainstalować s / w. Szukam rozwiązania za pomocą X lub opcji bezpośrednio w jednym z menedżerów okien. fvwm / xfce / gnome byłby dobry, ale mile widziane są również inne WM posiadające tę funkcję.

Abhinav
źródło

Odpowiedzi:

8

Wiem, że ten post jest stary, ale ...

http://xpra.org/ Xpra to „screen for X”

... Szalona, ​​ilu ludzi zdawało się odpowiedzieć, nie czytając twojego pytania. Xpra nie tylko pozwoli Ci przenosić aplikacje z jednego wyświetlacza na inny na dowolnym komputerze, ale pozwoli ci całkowicie zamknąć, odłączyć aplikacje od dowolnego prawdziwego ekranu, a następnie ponownie podłączyć później.

MadReasonable
źródło
Właśnie uświadomiłem sobie xpra i przypomniałem sobie o tym pytaniu. Myślałem, że po tak długim czasie dostanę na to przyzwoitą odpowiedź. No cóż, miej głos pozytywny.
Greg
4

Nie do końca to, o co prosiłeś, ale ekran może robić, co chcesz.

Dzieje się to na poziomie powłoki, a nie na poziomie X-window, więc możesz mieć dwa xtermy (na różnych Xserverach, o ile były na tym samym pudełku) screen -x, które będą wyświetlać te same sesje sh.

Nie działałoby to w przypadku rzeczy nieterminalnych.

EDYCJA: xpra jest prawdopodobnie tym, czego chcesz.

Greg
źródło
1
Dzięki, jestem świadomy ekranu, ale nie tego szukam.
Abhinav
1
Z ekranem możesz mieć różne xtermy z różnymi terminalami. Wystarczy użyć screen -x i przełączyć każdy xterm na własny ekran. Jeden xterm może mieć ekran 1, drugi ekran 2 itd. To wszystko może być również skrypty ... "xterm -e screen -x -p 1 &" itd.
DRZEWO
+1 dla ekranu. Powiedziałeś: „Nie chcę używać screena, ponieważ wtedy będę musiał użyć osobnej sesji screena dla każdego xtermu.” - ale możesz udostępnić tę samą sesję screena wszystkim swoim xtermom (używając screen -x do ponownego podłączenia, ponieważ DRZEWO powiedział), a każdy xterm może patrzeć na to samo okno ekranowe (jeśli tego właśnie chcesz) lub na inne okno ekranowe wewnątrz każdego xtermu (jeśli tego właśnie chcesz; nie wynika to z twojego pierwotnego pytania).
James Polley
Jeśli nie chcesz używać screena, użyj tmux.
valbaca
2

Możesz używać screena w Xtermie. Jest to program, który umożliwia dołączanie i odłączanie sesji terminali. Więc zacznij xterm, uruchom ekran w xterm i użyj xterm jak zwykle. Aby przenieść sesję, należy odłączyć się od sesji na ekranie i wyjść z Xtermu. Uruchom inny xterm gdzieś indziej i podłącz się ponownie do istniejącej sesji ekranowej.

Jeśli chcesz to zrobić z dowolnym programem X, możesz użyć NX . Działa jak screen, ponieważ możesz odłączyć / dołączyć do serwera X. Rozumie również protokół X11, więc dobrze się spisuje, przyspieszając X w wolnych sieciach.

KeithB
źródło
Dzięki za wskaźnik do NX, ale nie mam uprawnień do instalowania oprogramowania na serwerach. Czy jest coś wbudowanego w którykolwiek z menedżerów okien lub sam X, którego można użyć?
Abhinav
2

CryoPID był w stanie przenosić aplikacje GTK + (takie jak gnome-terminal) między serwerami X. Przez jakiś czas był nieobsługiwany, więc może nie działać w tej chwili, ale niektórzy ludzie go podnieśli i zaczęli nad nim ponownie pracować.

TRS-80
źródło
1

Jak wysłano? Nie. Kiedyś istniała aplikacja „xmovex”, która czasami robiła to, o co pytasz, ale nie była zbyt popularna i nie działała zbyt dobrze.

Istnieje kilka sposobów na zbliżenie się do tego, co chcesz:

  • uruchom pulpit w sesji VNC, a następnie połącz się z nim zewsząd;
  • udostępnij swój pulpit przez x11vnc;
  • spójrz na nx i freenx.
David Mackintosh
źródło
Już / uruchomiłem / dwie sesje VNC. Jeśli to możliwe, muszę przenosić xtermy między nimi.
Abhinav
1

Nie. Po wyjęciu z pudełka X nie ma tej funkcji. Jeśli chcesz to zrobić, najlepszym sposobem jest użycie XVNC, który jest serwerem X, który renderuje do wirtualnego bufora ramki VNC. Następnie możesz połączyć się z sesją X za pomocą klienta VNC.

ConcernedOfTunbridgeWells
źródło
1

Zajrzałeś do Xmove?

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

Richard Hoskins
źródło
Abhinav, zastanawiałeś się nad tą opcją? Próbowałem zrobić to samo i znalazłem to pytanie, szukając xmove.
rplevy
xmove jest stary i martwy, NX jest stary, ale nadal działa, xpra działa
totaam 10.10.2013
0

Jeśli zależy ci tylko na sesji wiersza poleceń w Xterm, użyj screena

Roalt
źródło
0

Zastanawiam się, czy szukasz obsługi wyświetlania eksportu .

nik
źródło
Jak rozumiem, ekran eksportu spowoduje odrodzenie się okna na konkretnym ekranie. Chcę zmienić sposób wyświetlania podczas procesu odradzania.
Abhinav