Я использую переадресацию X11 sshдля запуска приложений Linux на моем компьютере с Windows, и когда сеть падает, она теряет все, что было запущено. Есть ли что-нибудь похожее screenна X11?
Прояснить. Почему бы просто не использовать screen? Или XVNC? Вы запускаете screen на компьютере с Linux и, когда ваша сеть отключается, переподключитесь и снова подключитесь screen -DRк сеансу.
nix
@nix Будет ли это работать для приложений X?
Майкл Мрозек
2
@ nix Я не думаю, что screenработает для графических приложений.
Есть также WinSwitch , который на первый взгляд выглядит так, как будто он интегрирует xpra и другое связанное программное обеспечение.
Жиль "ТАК - перестать быть злым"
6
Вы ищете VNC . Принцип несколько похож на экран: вы запускаете сервер VNC (фоновый SCREENпроцесс) и клиент VNC ( screenпроцесс переднего плана ). VNC-сервер является X-сервером, поэтому на нем можно запускать X-приложения.
Запустите сервер VNC на компьютере с Linux и клиент на компьютере с Windows. У вас есть несколько реализаций на выбор; одна возможность - TightVNC . TightVNC есть во многих дистрибутивах Linux (если его нет в вашем, либо установите его, либо выберите другую реализацию), и есть клиент для Windows.
Если ваши две машины не очень близки к сети - если между ними есть брандмауэр или существует угроза перехвата - вам нужно туннелировать трафик VNC через ssh. Пусть ssh перенаправит локальный порт 5900 на удаленный порт 5900 (5900 соответствует дисплею :0, используйте 5901 для :1и т. Д.).
На самом деле, вы можете переслать X в screen. Единственное , что нужно сделать , это настроить $DISPLAYв screenокне , так что это одно и то же из стороны от него.
Процедура
после того, как ssh -Xв удаленный компьютер, введите
$ echo $DISPLAY
и обычно копируют результат localhost:N.0. Затем введите screenв локальном screenокне
$ export DISPLAY=localhost:N.0
После этого запустите любую Xнеобходимую программу в окне экрана.
ПРИМЕЧАНИЕ: для каждого screenокна переменные среды независимы. Так что для каждого окна вам может потребоваться настроить его отдельно.
Привет Чонг, добро пожаловать в unix.SE. Поскольку детали решения, на которое вы ссылаетесь, просты, лучше переписать их здесь явно. Таким образом, ответ сохраняется, если что-то случится с постом на askubuntu.com. Конечно, это хорошая идея, чтобы сохранить ссылку также, потому что это помогает получить ваш материал.
DRS
2
Я попробовал это решение, но я не могу закрыть сеанс ssh, не убив работающее приложение X. Это как-то противоречит цели ... Как мне отключиться от удаленного хоста, оставив удаленное приложение работающим?
screen
? ИлиXVNC
? Вы запускаете screen на компьютере с Linux и, когда ваша сеть отключается, переподключитесь и снова подключитесьscreen -DR
к сеансу.screen
работает для графических приложений.Ответы:
Xpra или вилка Xpra утверждают, что именно это:
Я не использовал его некоторое время, но он работал довольно хорошо, когда я попробовал это. Вы запускаете сервер на удаленной машине:
Затем вы подключаетесь к серверу с вашего локального компьютера:
И теперь все, что отображается на дисплее X 13 на удаленном компьютере, будет отображаться локально:
источник
Вы ищете VNC . Принцип несколько похож на экран: вы запускаете сервер VNC (фоновый
SCREEN
процесс) и клиент VNC (screen
процесс переднего плана ). VNC-сервер является X-сервером, поэтому на нем можно запускать X-приложения.Запустите сервер VNC на компьютере с Linux и клиент на компьютере с Windows. У вас есть несколько реализаций на выбор; одна возможность - TightVNC . TightVNC есть во многих дистрибутивах Linux (если его нет в вашем, либо установите его, либо выберите другую реализацию), и есть клиент для Windows.
Если ваши две машины не очень близки к сети - если между ними есть брандмауэр или существует угроза перехвата - вам нужно туннелировать трафик VNC через ssh. Пусть ssh перенаправит локальный порт 5900 на удаленный порт 5900 (5900 соответствует дисплею
:0
, используйте 5901 для:1
и т. Д.).источник
На самом деле, вы можете переслать X в
screen
. Единственное , что нужно сделать , это настроить$DISPLAY
вscreen
окне , так что это одно и то же из стороны от него.Процедура
после того, как
ssh -X
в удаленный компьютер, введитеи обычно копируют результат
localhost:N.0
. Затем введитеscreen
в локальномscreen
окнеПосле этого запустите любую
X
необходимую программу в окне экрана.ПРИМЕЧАНИЕ: для каждого
screen
окна переменные среды независимы. Так что для каждого окна вам может потребоваться настроить его отдельно.Ссылки
источник