Linux запуск удаленного приложения

Термины

Служба Удаленных Рабочих Столов (Remote Desktop Service, RDS). Ранее называлась Terminal Services (Terminal Services RemoteAPP). Компонент Microsoft Windows Server, позволяющий пользователю управлять удаленным компьютером или виртуальной машиной по сетевому соединению.

Remote Desktop

Удаленный рабочий стол (Remote Desktop) — режим управления, когда один компьютер получает права администратора по отношению к другому, удаленному. Связь между компьютерами происходит в реальном времени посредством Интернет или локальной сети. Уровень доступа в режиме удаленного администрирования определяется конкретными задачами и может быть изменен по необходимости. Например:

  • подключение к рабочей сессии для полного контроля и взаимодействия с удаленным компьютером, при котором допускается запуск на нем приложений и манипуляции с файлами;
  • подключение к рабочей сессии, позволяющее лишь вести наблюдения за процессами, без вмешательства в работу его системы.

RDP

RDP (Remote Desktop Protocol) — протокол, позволяющий удаленно работать с сервером.

Описание стенда

  • Клиентская часть:
    • Astra Linux Common Edition 2.12 с установленным ПО xfreerdp;
    • Сервер MS Windows 2016. Предполагается, что:
      • Сервер настроен как контроллер домена;
      • На сервере включена и настроена служба RDS.

      Настройка Astra Linux

      Для использования служб MS Windows Remote Desktop и RDS следует установить программу-клиента RDP. В составе Astra Linux представлены клиенты RDP:

      • пакет freerdp2-x11 (клиентская программа xfreerdp).
        • В Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7) доступен в базовом репозитории (см. Репозитории Astra Linux Special Edition x.7: структура, особенности подключения и использования);
        • В Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) отсутствует и может быть установлен из репозитория Astra Linux Common Edition (см. Подключение репозиториев с пакетами в ОС Astra Linux и установка пакетов);
        • В Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7) доступен в расширенном репозитории(см. Репозитории Astra Linux Special Edition x.7: структура, особенности подключения и использования);

        Эти пакеты могут быть установлены совместно.

        Клиент xfreerdp

        Установить пакет freerdp2-x11, предоставляющий программу-клиента xfreerdp можно командой:

        sudo apt install freerdp2-x11

        Клиент remmina

        Установить пакет remmina, предоставляющий программу-клиента remmina можно командой:

        После установки клиент доступен для запуска из командной строки, команда remmina или из графического меню («Пуск» — «Сеть» — «Remmina») . Описание параметров запуска из командной строки доступно в справочной системе man:

        Настройка Windows

        Включение удаленного подключения Remote Desktop на Windows

        Через Свойства системы –> вкладка Удаленный доступ разрешить удаленные подключения к компьютеру и выбрать параметры подключения (разрешить подключения с любых компьютеров):

        Разрешение удаленного запуска приложений

        По умолчанию удаленный запуск приложений в MS Windows запрещен. Чтобы разрешить его необходимо:

        После включения службы RDS для запуска удаленного приложения (кроме устанавливаемых по умолчанию приложений калькулятор и Paint) необходимо выполнить следующие действия:

        • Перейти в меню «Службы удаленных рабочих столов.» — «QuickSessionColleciton»;
        • В пункте «Удаленные приложения «Remoteapp» нажать кнопку «Задачи» , после — «Опубликовать удаленное приложение RemoteApp»;
        • Выбрать нужное приложение и нажать «Опубликовать».

        Подключение к Remote Desktop из Astra Linux

        Клиент xfreerdp

        Для запуска клиента xfreerdp:

        1. Открыть терминал командной строки с помощью горячей клавиши Alt+T;
        2. Запустить клиента из командной строки, указав параметры подключения к серверу:

        Клиент remmina

        Клиент remmina предоставляет графическую оболочку для ввода параметров подключения, в том числе — графический редактор параметров подключения (в стартовом окне remmina — желтая кнопка с символом «+»):

        Обязательным параметром подключения является параметр «Сервер» (IP-адрес или имя сервера, к которому должно выполняться подключение), остальные параметры могут быть запрошены при подключении. По умолчанию подключение выполняется к удаленному рабочему столу (Remote Desktop).

        Запуск удаленного приложения (RDS) из Astra Linux

        Запуск удаленного приложения осуществляется с помощью той же программы xfreerdp, что и подключение к Remote Desktop. Команда отличается указанием запускаемого приложения (опция /app):

        В качестве значения параметра /app м ожет указываться псевдоним приложения или имя исполняемого файла (/app:»win32calc»). Первый вариант применим при работе со службой RDS, второй вариант — при работе без службы RDS. Дополнительная необязательная опция /cert-ignore позволяет избежать запроса подтверждения при запуске удаленного приложения с недоменной машины (когда отсутствует возможность автоматической проверки сертификата сервера приложений).

        Создание ярлыка на рабочем столе для запуска удаленного приложения

        Для создания ярлыка на рабочем столе Astra Linux, следует щелкнуть правой кнопкой мыши → Создать → Ярлык.

        Ввести имя ярлыка, выбрать иконку ярлыка и запускаемую команду. Например:

        Запуск отдельного приложения с помощью клиента remmina

        Клиент remmina предоставляет возможность осуществить ограниченное подключение к удаленной машине с запуском единственного приложения.

        Для настройки запуска отдельного приложения

        1. Запустить remmina;
        2. Перейти в графический редактор подключений remmina;
        3. Перейти во вкладку «Дополнительные»;
        4. В пункте «Запуск программы» указать псевдоним приложения или имя файла запускаемой программы. Дополнительно может потребоваться указать путь к исполняемому файлу (пункт «Путь запуска»).

        Источник

        Linux запуск удаленного приложения

        Guido любит Линукс не только из-за того, что ему интересно разбираться в том, как работают операционные системы, но так же из-за людей, которые участвуют в его создании

        Перевод на Русский:
        Вася Леушин

        Запуск удаленных приложений в Х11

        Многие пользователи при знакомстве с Линуксом думают, что его графический рабочий стол это просто еще одна » Windows» в которой можно запускать приложения в отдельных окнах. Некоторые, конечно, замечают, что можно иметь несколько рабочих столов, но все равно им кажется, что это Windows. X Window System (X11) это что-то гораздо большее! Это сетевая оконная система. Мы увидим, какие новые возможности она нам предлагает.

        Общее понятие дисплея

        Каждое графическое приложение X Window при запуске считывает переменную окружения DISPLAY, что бы выяснить на какой компьютерный экран посылать графические данные. Это, вместе с сетевыми возможностями системы X Window делает возможным удаленный запуск графических приложений. То есть вы используете ресурсы процессора одной машины при работе с приложением на другой. Весь GUI (графический интерфейс пользователя) появляется на той машине, с которой вы им управляете. Вы даже не замечаете, что используете два компьютера. Конечно, определенную роль здесь играет скорость передачи данных, но нормальной 10-мегабитной локальной сети вполне достаточно.

        Для чего это вам?
        Существует множество сетевых графических приложений. Компании используют их для управления оборудованием находящимся может быть за тысячи километров, и вы можете использовать такие же приложения так, как если бы они были на вашем компьютере.
        Допустим, у вас есть два компьютера: одна быстрая гигагерцевая машина и еще старенький Pentium-133 — вы вполне сможете оценить скорость вашей новой машины, даже не садясь за нее. Возможно, ваша сестра заняла быстрый компьютер — но вы все равно пользуете его.
        Как это работает?
        Все приложения X Window (такие как например Gimp, Xterm, Konquerer, Netscape и т. д.) в действительности являются сетевыми клиентами, которые присоединяются к X-серверу. В задачу X-сервера входят: взаимодействие с графическим аппаратным обеспечением, рисование картинок на вашем экране, считывание данных с мышки и клавиатуры. Программы-клиенты (gimp, netscape) посылают серверу указания о том, как рисовать рамки и кнопки. Взамен они принимают от сервера команды с мышки и клавиатуры. Само собой разумеется, что потребуется аутентификация, иначе кто угодно может испортить чей-нибудь экран. Существуют две программы для управления доступом:
        — xhost: используя эту программу, вы можете допустить любого пользователя с определенной машины передавать графику на ваш дисплей. Например: Вы работаете на машине с именем philosophus. Что бы дать доступ на ваш дисплей любой программе с хоста movietux вам нужно набрать команду:

        xhost +movietux
        Это должно быть набрано в оболочке philosophus’а

        — xauth: Это более сложная программа, основанная на cookie. С ее помощью вы можете предоставлять доступ определенным пользователям, тем самым эта программа обладает более высоким уровнем безопасности, чем xhost. Аутентификация использует cookie из файла .Xauthority в домашней директории пользователя. Доступ дается только если удаленная машина содержит нужный cookie в этом файле. Что бы скопировать этот cookie с вашей машины (philosophus) на хост с которого вы хотите запускать программу (movietux), вы можете использовать один из следующих методов:

        xauth extract — philosophus:0.0 | ssh movietux /usr/X11R6/bin/xauth merge
        или
        scp ~/.Xauthority movietux:

        1. Клиент проверяет переменную DISPLAY для поиска сервера или пытается подключиться к серверу на локальном хосте.
        2. Сервер проверяет, имеет ли клиент допуск к передаче «картинок» к нему. Если имеет — тогда сервер рисует графику.

        bash:export DISPLAY=hostname:displaynumber.screennumber
        tcsh:setenv DISPLAY hostname:displaynumber.screennumber

        Я не буду говорить о displaynumber и screennumber, обычно это 0.0. Вот пример для bash:

        Запуск удаленного приложения

        1. Сообщите вашему X-серверу, что клиенты с movietux имеют допуск к рисованию картинок на вашем экране:
          xhost +movietux
        2. Заходите на удаленный хост movietux:
          slogin -l username movietux
        3. Теперь вы вошли на movietux, и все ваши команды исполняются на нем
        4. export DISPLAY=philosophus:0.0
        5. Запускайте программу напр.
          netscape &

        Перенос дисплея на удаленный хост

        • Если вы используете ssh для входа на удаленный хост, тогда переменная DISPLAY устанавливается автоматически. Существуют так же и другие программы поддерживающие DISPLAY, но ssh наиболее распространенная.
        • Если же вы используете slogin или другие команды, тогда на удаленный хост вы можете установить следующие скрипты:
          Для tcsh: # перенос дисплея на удаленный логин:
          # поместить его в свой файл ~/.login
          set whoami=`who -ml`
          set remhost=`expr «$whoami» : ‘.*(\(.*\))’`
          if ( «$remhost» != «» ) then
          setenv DISPLAY «$remhost»:0.0
          endif этот скрипт получает имя удаленного хоста из команды «who -ml». Команда возвращает что-то вроде >who -ml
          movietux!guido pts/3 Oct 26 21:55 (philosophus.tux.org) если вы используете bash вам нужен такой скрипт: # перенос дисплея на удаленный логин:
          # поместить его в свой файл ~/.bash_profile
          whoami=`who -ml`
          remhost=`expr «$whoami» : ‘.*(\(.*\))’`
          if [ -n «$remhost» ]; then
          DISPLAY=»$remhost»:0.0
          export DISPLAY
          fi

        OpenGL

        В то время как сетевые возможности X Window System очень хороши, графика работает несколько медленнее из-за того, что вы пересылаете данные через сетевой протокол. Обычно вы не замечаете разницы, но существуют приложения, такие как быстрые игры с насыщенной графикой, для которых скорость очень важна. Эти игры обычно основаны на библиотеках типа OpenGL. Эти библиотеки предоставляют непосредственный доступ к графическому аппаратному обеспечению. Никаких сетей. Это быстрые программы, но вы не сможете запускать их удаленно.

        Заключение

        С X11 использовать мощность вашей сети очень легко. Вы можете работать с удаленными приложениями так же как с локальными. Единственная разница в том, что вы видите те файлы и домашнюю директорию, которые находятся на удаленном хосте. Однако с установленными NFS и NIS вы сможете скрыть и это небольшое отличие. Вы сможете использовать всю мощность процессора самых быстрых машин в ваших сети, и ни о чем не беспокоиться.

        Источник

        Читайте также:  Linux add domain user
Оцените статью
Adblock
detector