Відповіді:
Існує кілька способів:
VNC
Встановіть клієнт VNC на машину Linux. Якщо ви використовуєте Debian або Ubuntu, ви можете зробити це за допомогою наступної команди в терміналі:
$ sudo apt-get install xtightvncviewer
Підключіться до вікна Windows (припустимо, IP-адреса машини Windows є 192.168.1.10
):
$ xtightvncviewer 192.168.1.10
RDP
Стандартний протокол віддаленого робочого столу Windows. Зазвичай для нього не потрібна спеціальна конфігурація з боку Windows, крім встановлення Allow users to connect remotely to this computer
прапорця System Properties
та додавання користувача до Remote Desktop Users
групи.
З боку Linux ви повинні:
Встановіть rdesktop
клієнта. Для Ubuntu або Debian ви можете використовувати таку команду:
$ sudo apt-get install rdesktop
Підключіться до машини Windows (припустимо, її IP-адреса є 192.168.1.10
):
$ rdesktop 192.168.1.10
X11
Якщо ви запускаєте сервер X11 на машині Windows ( Cygwin/X
або, Xming
наприклад,), то зв'язок досить простий, оскільки система вікон X була розроблена таким, що має прозорість у мережі. Головне, до чого ми торкаємось, це додаток, яке можна виконувати та показувати на різних машинах. Ви запускаєте програму локально, але вказуєте DISPLAY, де відображається програма.
У вашому випадку у вікні Windows (скажімо 192.168.1.10
) запущено програму, а вікно Linux (скажіть 192.168.1.11
) відобразить програму. Насправді, Windows-машині не потрібно запускати X-сервер для запуску програми - він може просто відображати його на віддаленому скриньці Linux:
$ DISPLAY="192.168.1.11:0" xterm
Коли ви запускаєте команду на машині Windows, вона запускається xterm
локально, але відображає її на віддаленому сервері X, який працює на окремій машині. Під час запуску команди на машині Windows ви повинні побачити вікно терміналу, відкрите на машині Linux (віддалено).
Це DISPLAY
змінна середовище, яка містить адресу та номер поточного дисплея. Кожна програма X вивчає цю змінну, щоб знати, де вивести себе. Важливо зрозуміти, що xterm
(наприклад) не розрізняє, чи відображається він до локального X-сервера чи віддаленого X-сервера. Це мережа прозора . Наприклад, якщо бігти xterm
і просто сказати:
$ echo $DISPLAY
Він надрукує струм, DISPLAY
яким відображаються всі програми . Перезаписуючи цю змінну, ви повідомляєте програмі відображатись деінде. Я сподіваюся, що концепція зараз зрозуміла.
Зауважте, що, швидше за все, ваш Linux X Server відхиляє всі вхідні з'єднання з міркувань безпеки. Щоб дозволити з'єднання з вікна Windows, виконайте таку команду:
$ xhost +192.168.1.10
Насправді цей спосіб трохи небезпечний, тому що кожен, хто призначить цю IP-адресу для себе, може підключитися до X-сервера.
На щастя, існує чудовий і безпечний спосіб. Оскільки X-сервер просто прослуховує порт TCP - ми можемо переслати його на локальну машину через зашифрований канал, використовуючи ssh
який має цю дивовижну особливість. Вам знадобиться ssh демон, який працює на машині Windows. Ви можете використовувати openssh
з cygwin
- це легко, просто налаштувати cygwin
з вибором openssh
пакету , а потім відкрити термінал і запустити ssh-host-config
, але не забудьте встановити X11Forwarding yes
в sshd_config
.
Тепер, як це виглядає. У вікні Linux ви запускаєте:
$ ssh -X user@192.168.1.10 xterm
І після введення пароля ви повинні побачити xterm
вікно, яке виконується на машині Windows, але відображається на машині Linux. Після авторизації ssh
пов'язується з портом на машині Windows, де він прослуховує з'єднання та пересилає пакети по встановленому каналу до локального порту на машині Linux (зазвичай 6000 для відображення 0). Потім він біжить xterm
з установкою DISPLAY
для пов'язаного порту , що забезпечує xterm
для відображення себе на віддаленому сервері X по зашифрованому каналу. У цьому випадку вам не потрібно запускати, xhost
оскільки X-серверу не потрібно приймати жодних зовнішніх з'єднань.
Тепер, як запустити додаток у вікні Linux та відобразити його у вікні Windows:
На машині Windows вам знадобиться X-сервер ( Xming
наприклад) та SSH-клієнт ( PuTTY
наприклад). Спочатку переконайтеся, що Xming
працює (є значок лотка). Потім відкрийте PuTTY
, виберіть ssh
, заповнити login
та password
коробки, а також переконайтеся , що X11 Forwarding
в SSH
налаштуваннях перевіряються. Потім просто натисніть connect
і після цього він підключиться до вікна Linux з відкриттям вікна терміналу. Ви можете запустити xterm
там, і він відобразиться на локальному Xming
сервері (оскільки він пересилається PuTTY
віддаленій машині). Також подивіться цей посібник - є кілька скріншотів.
Windows не підтримує протокол X. Що я б хотів зробити, це шукати щось, що говорить про RDP Windows (протокол віддаленого робочого столу). Прикладом, не підтвердженим особисто, може бути rdesktop .