Вариант A - Съемка X Windows на другой дисплей:
Следите за тем, чтобы сервер Xserver на вашем ноутбуке запускал прослушивание tcp-соединений. К сожалению, X11-Networking по умолчанию отключен в большинстве дистрибутивов. Поскольку Xserver запускается вашим диспетчером отображения (gdm, lightdm), его необходимо настроить там:
Какой бы менеджер дисплеев вы не использовали, какой-то файл конфигурации в / etc /, вероятно, будет содержать ответственный параметр XServer. Запустите grep -r 'nolisten tcp' /etc/
на своем ноутбуке, чтобы узнать, какой конфигурационный файл отвечает, и удалите часть, в которой он говорит -nolisten tcp
(не всю строку, а только этот параметр). Перезагрузите X на своем ноутбуке.
Теперь ваш ноутбук должен иметь дисплей, работающий по tcp порту 6000 (попробуйте запустить его nmap -p6000 Laptop
на настольном ПК, если порт был отмечен как «открытый», вы зашли так далеко).
Сделайте ваш X-дисплей доступным для настольного компьютера. X11 использует механизм аутентификации для предоставления доступа к дисплею. Вы должны позволить настольному ПК снимать Windows на ноутбук. Обычно путем обмена отображаемым cookie.
Для начала выполните этот шаг, положив руки на ноутбук. Как только вы получили понятие с DISPLAY
переменной и всем остальным, вы можете сделать это через ssh.
Быстро и грязно: вы можете запустить xhost +desktops.computers.ip.address
на своем ноутбуке, чтобы предоставить X доступ к настольному компьютеру. Обратите внимание, что каждый пользователь вашего ноутбука может использовать ваш ноутбук X таким образом. Обратите внимание, что этого достаточно, например, для установки кейлоггера на дисплей вашего ноутбука. Используйте этот метод только для тестирования.
Правильно и безопасно: запустите xauth extract cookie-file :0
на своем ноутбуке, чтобы экспортировать секрет доступа к дисплею в «cookie-файл». Перенесите файл cookie на свой компьютер. Беги xauth merge cookie-file
. Или за один короткий шаг (с вашего рабочего стола) ssh Laptop xauth extract - :0 |xauth merge -
Примечание: если ваш ноутбук и рабочий стол используют общий каталог, то есть через nfs, вам не нужно обмениваться никакими учетными данными. База данных учетных данных - это файл .Xauthority в вашем домашнем каталоге, и его можно использовать для разных компьютеров.
Запустите программу: в терминале на вашем настольном ПК export DISPLAY=Your.Laptops.IP.Address:0
запустите любую программу X в том же терминале. Он должен появиться на дисплее ноутбука.
Вариант Б - Использование SSH с поворотом.
SSH выполняет пересылку X11 путем переадресации в локальный сокет X11 (обычно Unix Domain Socket) в локальный TCP-сокет на удаленном компьютере, затем согласовывает файл cookie отображения, затем устанавливает DISPLAY-Environment на удаленном компьютере. Таким образом весь трафик X11 шифруется по туннелю ssh. Обычный вариант использования - пересылка локального дисплея на удаленный компьютер (это означает, что удаленные приложения могут отображать x windows локально).
Преимущество использования ssh состоит в том, что вам не нужно переводить ваш X-сервер в режим прослушивания tcp (так как используется сокет unix). И SSH обрабатывает обмен учетными данными.
- SSH к вашему ноутбуку с вашего настольного компьютера (вам пока не нужно использовать -X).
- В удаленной оболочке введите,
export DISPLAY=:0
что делает уже работающий дисплей на вашем ноутбуке доступным для оболочки, которую вы получили через ssh. Если вы сейчас выполните какую-либо X-команду, она уже появится на экране вашего ноутбука, но все равно будет работать на вашем ноутбуке (попробуйте на всякий случай)
- Из этой оболочки ssh обратно на настольный компьютер используйте -X на этот раз. Теперь у вас есть оболочка на компьютере, на котором был создан сеанс ssh, но на этот раз с работающим X. Запустите xeyes или xcalc, чтобы протестировать его.
echo $DISPLAY
показывает обозначение, которое теперь у вашего ноутбука X на настольном компьютере. То есть: 10 или: 11.
Вы можете свернуть терминал сейчас. Каждый раз, когда вы вводите export DISPLAY=:10
(смотрите, какой у вас номер дисплея) на своем настольном компьютере сейчас, каждая программа, которую вы запускаете впоследствии в той же оболочке, будет отображаться на экране вашего ноутбука.
Этот вариант простой, но медленный, поскольку весь трафик X11 пересылается через SSH.
Вариант C - оригинальная концепция thinclient:
Вы можете использовать свой ноутбук, чтобы открыть сеанс рабочего стола, работающий полностью на вашем компьютере.
Настройте диспетчер отображения на рабочем столе для ответа на трансляции XDMCP. Как это сделать, зависит от вашего диспетчера отображения. Некоторые менеджеры дисплеев вообще не поддерживают это, то есть тонкие. XDM, KDM, WDM, GDM поддерживают это.
Запустите X-сервер на своем ноутбуке, который запрашивает диспетчер отображения с вашего рабочего стола. Либо вложенный X: Xephyr :1 -query desktop
или Xephyr :1 -broadcast
Или, выключив X-сервер вашего ноутбука и войдите в системный терминалsudo Xorg :0 -broadcast
Диспетчер дисплея позаботится о том, чтобы учетные данные генерировались, обменивались и все. Поздравляем, теперь вы должны увидеть окно входа в систему, предоставляемое вашим настольным компьютером.
Вы можете использовать ssh X forwarding для достижения своей цели. Если вы находитесь в той же подсети, то она быстро завершается.
Установите ssh сервер и клиент на свой ноутбук и настольный ПК
Чтобы подключиться к настольному ПК, откройте терминал на ноутбуке и введите следующее
И вы можете запустить любое программное обеспечение с помощью терминала, например, запустив Firefox, просто набрав
firefox
в терминале.источник
x2x
пакет, вы можете использовать одну клавиатуру и мышь на другой машине. напр .:ssh -X user@host x2x -west -to :0
подготовка
(вы делаете это только один раз)
На вашем рабочем столе установите SSH сервер
С вашего ноутбука:
В терминале вы получаете все, что вы запускаете, будет на вашем рабочем столе, но отображается на вашем ноутбуке. Если вы хотите сделать то же самое, сидя на рабочем столе (и отправить окна на своем ноутбуке), то продолжайте.
На вашем терминале вы запускаете
Это покажет вам что-то вроде:
С вашего рабочего стола:
Откройте терминал и запустите
DISPLAY=:10.0 firefox
Это должно отправить
firefox
окно на вашем ноутбуке, но работает на вашем рабочем столе. Убедитесь, что число, которое вы указали (например10.0
), совпадает сecho
результатомисточник
Вы хотите использовать комбинацию SSH и экрана, чтобы получить нужную вам ситуацию.
На рабочем столе установите экран:
Оттуда запустите новый сеанс экрана:
и откройте в нем firefox:
Используйте Firefox все, что вы хотите на своем рабочем столе, а затем SSH на свой компьютер с вашего ноутбука:
Введите следующую команду, чтобы увидеть, какие сеансы экрана у вас запущены:
Войдите в свой сеанс экрана (1234 будет номером экрана, который дал вам -ls)
Затем вы можете использовать Firefox на своем ноутбуке и закрыть терминал на рабочем столе.
источник
ssh -X
рабочем столе, запустите экран в сеансе ssh, отсоедините его и оставьте сеанс запущенным. Затем снова присоедините экранный сеанс к компьютеру и запустите что-нибудь. Это похоже на мой ответ "SSH с изюминкой". Использование экрана делает его немного более удобным.Virtualgl создаст дополнительный (фоновый) рабочий стол (стиль TightVNC), к которому вы можете получить доступ через клиент Turbo VNC . Он будет функционировать как сделка типа удаленного рабочего стола -> Но он будет воспроизводить плавное видео по сети.
Если вы ищете способ снять нагрузку с ЦП для удаленного соединения, чтобы вы могли запускать приложения со своего компьютера на своем ноутбуке, то это было бы то, что я бы сделал.
http://www.virtualgl.org/
Вы также можете экспортировать среду рабочего стола через SSH как / dude выше.
источник
После еще нескольких копаний в интернете я наткнулся на DMX
С домашней страницы
источник
Да, это возможно. Я беру оба компьютера Linux с установленным xclock на локальном компьютере. Я пытаюсь запустить xclock локально и показать часы на удаленном компьютере с Linux.
источник