Как управлять Windows 10 через терминал Linux? [закрыто]

-2
15.08.2016, 18:09
2 ответа

Вы можете установить ssh-сервер в вашей системе windows и отправлять команды удаленно на него, по умолчанию вам будут доступны только оболочки cmd.exe и powershell.exe, но вы можете установить дополнительные оболочки.

Вы можете попробовать этот проект от Microsoft, чтобы заставить ssh-сервер работать в вашей системе Windows. Существует также коммерческое программное обеспечение для этого, если вы хотите получить официальную поддержку.

После установки и настройки вы сможете посылать удаленные команды командной строки на ваш компьютер Windows с любого компьютера с SSH-клиентом по вашему выбору.

Вам нужно будет правильно настроить NAT и Firewall, чтобы разрешить удаленное подключение, но это уже не относится к теме.

Как только эта настройка выполнена, вы можете использовать psexec из sysinternals с параметром "-i" для запуска графической программы на удаленном компьютере.

Psexec должен быть запущен на целевой машине, поскольку это инструмент для windows, но если ваша клиентская машина работает под управлением Windows, PSexec может быть достаточно для выполнения этой задачи.

2
28.01.2020, 05:16

Для взаимодействия с рабочим столом Windows вам необходимо:

1) Включить подключения к удаленному рабочему столу через панель управления в Windows
2) Установить клиент удаленного рабочего стола в Linux, например rdesktop
3) Подключитесь и аутентифицируйтесь с использованием домена и учетных данных в стиле Windows.

Тогда вы сможете управлять своим компьютером, как если бы он был локальным (хотя и с задержкой)

Если включен с другой стороны, вы просто хотите отправить определенные команды в Windows для изменения настроек, вам нужно будет найти их эквивалент в командной строке (т.е. как изменить экран по умолчанию через командную строку ...) И выполнить эту команду через соединение ssh.

Надеюсь, это поможет! Пожалуйста, не стесняйтесь при необходимости получить дополнительную информацию.
Чтобы удаленно открывать Firefox в Windows, вам потребуется оконная система, которая будет отображать графику за вас. Linux использует xwindows, которое является оконным приложением клиент-сервер, поэтому при подключении к Linux с помощью SSH, если у вас включена пересылка Xwindows, вы можете открыть графическое приложение на стороне сервера (обратите внимание, что графика отображается на стороне сервера), а затем увидеть это на стороне клиента. Это магия x-windows ... В windows нет аналогичной функциональности (насколько мне известно).
Итак, если вам нужно графическое приложение, такое как Firefox, для работы на стороне сервера вам необходимо подключиться к полноценной среде рабочего стола через RDP (подключение к удаленному рабочему столу). Существует x-клиент для Windows, называемый xming, но без реализации x-сервера.

Поскольку я считаю, что вопрос возникает из-за смешения различных протоколов удаленного подключения, я включу краткое описание того, что с ними делать, чтобы прояснить ситуацию.

1 - Системы Windows имеют встроенную поддержку RDP в качестве сервера и клиента, это протокол, который обеспечивает удаленный доступ к полноценной среде рабочего стола. Сервер должен быть включен, разрешив подключения к удаленному рабочему столу, клиент даже не нужно настраивать! Клиенты RDP также доступны в Linux (например, FreeRDP , rdesktop ).

2 - Большинство дистрибутивов Linux поставляются со встроенными серверами SSH и X11 . SSH можно объединить с X11, когда параметр -X используется вместе с X11, разрешающим пересылку, и SSH Daemon, разрешающим пересылку X11. При объединении пользователь имеет возможность открывать графическое приложение без необходимости передавать и получать полноценную среду рабочего стола. Таким образом, приложение работает немного быстрее. Обратите внимание, что в этом случае SSH предоставляет платформу (или нижележащий уровень), а X11 - это уровень приложения. Также обратите внимание, что графика визуализируется (создается) x-сервером, а затем просто отображается клиенту.
Установить SSH-сервер в Windows довольно просто. Но для установки сервера x-windows в Windows вам понадобится среда вроде cygwin (или MinGW, хотя я не уверен насчет MinGW), что немного усложняет задачу.Однако вы можете довольно легко установить X-ming, приложение для Windows X-client.

3 - Есть VNC . Протокол VNC входит в серверную и клиентскую редакции (многие из них) для Windows и Linux и может быть довольно легко установлен на обоих. О различиях между использованием SSH с пересылкой X11 через VNC см .:
Различия между VNC и ssh -X

4 - В linux есть несколько "гибридных" решений:
xrdp с использованием Xvnc или X11RDP. Эти решения обеспечивают полноценный рабочий стол x-windows через VNC или RDP. Эти решения можно использовать и в cygwin для компьютеров с Windows.
Некоторые дополнительные ПРИМЕЧАНИЯ
Согласно следующей схеме X-архитектуры, «часть просмотра приложения» X-сеанса - это клиент , а «часть запуска приложения» - это сервер .
См .:
https://upload.wikimedia.org/wikipedia/commons/thumb/0/03/X_client_server_example.svg/440px-X_client_server_example.svg.png

Согласно официальный сайт Xming инструмент описан как X-сервер , это меня немного сбивает с толку. В любом случае я использовал его только как клиент, хотя, возможно, его тоже можно использовать как сервер.
См .:
http://www.straightrunning.com/XmingNotes/

Наконец, инструкции по установке x-server поверх cygwin.
См. Эту страницу:
http://x.cygwin.com/

Попытайтесь понять все различные варианты и возможности и таким образом проясните, кто вы после...
А что вас беспокоит?
- Возможно, это безопасность?
- Это производительность?
- Это сложность установки?

Наконец, я бы хотел хотел бы отметить еще одну возможную интерпретацию вашего вопроса. Что вы можете иметь в виду под управлением окнами через linux, это может быть, скажем, запустить команду в linux, и эта команда приведет к открытию firefox в Windows.Это тоже возможно, но только при программировании. В таком случае вы можете написать простое приложение HTTP-сервера получения (например, с использованием Perl и фреймворка Mojolicious), которое будет открывать firefox при получении определенного HTTP-запроса на получение. Сначала вы должны установить Perl и Mojolicious в ваш компьютер Windows, а затем следуйте остальной части описания. Вы можете написать программу CGI, которая будет отвечать на: wget http: // ip_of_windows_machine: a_port / firefox { {1}} с появлением всплывающего окна Firefox на вашем компьютере с Windows и в среде или, что еще проще, просто откройте этот URL-адрес в браузере в Windows или Linux (или даже на мобильном устройстве Android), а затем приложение firefox появится в ваших окнах машина.

В качестве примера такого решения (хотя и не проверенного): вы можете создать сценарий perl с именем: expose_firefox.pl

#!/usr/bin/env perl   
use Mojolicious::Lite;
get '/firefox' => sub {
    my $c = shift;
    # may have to specific the full path to firefox.exe 
    # if it is not in the PATH variable
    system("firefox.exe");
    $c->render(text => 'Firefox poping up!');
};
app->start;

, затем запустить сервер на вашем компьютере с Windows с помощью:

morbo expose_firefox.pl daemon -l http://ip_of_windows_machine:a_port
Server available at http://ip_of_windows_machine:a_port   

и затем перейти к машине Linux, подключенной к той же локальной сети с этой машиной и имеющей возможность связываться с этой машиной (т.е. принадлежащей к той же подсети), и выполнить эту команду:

$ curl http://ip_of_windows_machine:a_port/firefox

ПРИМЕЧАНИЕ: Я знаю, что описание этого случая выходит далеко за рамки ограничения сеанса вопросов и ответов, что является основной целью этого сайта, но я хотел упомянуть об этом, потому что для некоторых людей было бы полезно знать все их варианты, чтобы иметь возможность принять решение и, возможно, перефразировать свой ответ к чему-то более конкретному.

2
28.01.2020, 05:16

Теги

Похожие вопросы