Linux графический интерфейс ssh

IgorKa — Информационный ресурс

Немного обо всем и все о немногом, или практический опыт системного администратора.

Январь 2010
Пн Вт Ср Чт Пт Сб Вс
« Дек Фев »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

Графика Linux через ssh

На последней лекции нам рассказывали о службе X Server, которая является основой графики в Linux. Лекцию по этой теме выложу позже, а пока хочу описать о там как удаленно запустить графическое приложение Linux через ssh. Зачем это может понадобится это уже другой вопрос 🙂 Итак, речь идет о двух компьютерах с Linux: удаленный (буду называть его debian) и свой локальный (назовем его ubuntu).

Сначала заходим по ssh на debian и открывает с правами администратора файл /etc/ssh/sshd_config. Ищем параметр X11Forwarding устанавливаем значение yes. Сохраняем файл и перезапускаем службу:

/etc/init.d/ssh restart

Отключаемся от удаленного компьютера и подключаемся еще раз только уже с ключом -X:

ssh -X user@debian

Теперь запускаем какое-либо графическое приложение установленное на удаленном компьютере debian, например браузер iceweasel:

если хотим получить доступ к командной строке.

Процесс iceweasel запуститься на удаленном компьютере, но изображение будет рисоваться на локальном экране компьютера ubuntu. Но об этом подробнее на лекции.

Можно также на локальном компьютере открыть файл /etc/ssh/ssh_config и в нем установить параметр X11Forwarding в yes. Тогда запуск графических приложений будет работать и без ключа -X.

Вот так вот. Оказывается все очень просто 🙂

Источник

Графический интерфейс через Putty

Пятница, 01 Май 2015 00:00

Удалённые подключения могут быть легко установлены через SSH (secure shell), можно авторизоваться, выполнять действия или посылать команды в другую систему через это соединение или командную строку. Однако невозможно запустить приложение с графическим интерфейсом для просмотра текущего содержимого удалённого узла, это является недостатком использования ssh в терминале.

Данный недостаток можно легко исправить использованием утилиты «putty». Примеры приложений с графическим интерфейсом: браузер, текстовые редакторы и т.д.

1 Введение

В этой статье рассмотрим установку и использование Putty в кластере Raspberry Pi, под управлением ОС Raspbian и MPICH2 (интерфейс передачи сообщений). Putty будет использоваться для просмотра текстовых файлов, с помощью приложения «leafpad» и браузеров типа «Netsurf» и «Dillo», которые предустановлены на любой версии ОС Raspbian. Также рассмотрим сохранение настроек, таким образом, чтобы в следующие разы просто загружать уже настроенные параметры.

2 Установка и запуск Putty

Putty устанавливается через терминал:

Затем проверим правильность установки, для этого существует 2 способа:

1. прописать команду в терминале:

2. или через меню программ в разделе «Other»:

Далее откроется меню настроек.

3 Настройка Putty

После запуска putty, сначала введём IP адрес узла, к которому хотим подключиться, адрес вводится в разделе «Host Name». Например подключимся к адресу «10.32.4.230».

После настройки IP адреса, потребуется включить X11, для запуска приложений с графическим интерфейсом с удалённого узла:

Прокрутим левую панель putty и выберем опцию SSH.

После этого выберем опцию «X11», представленную на левой панели.

Далее включим «Enable X11 forwarding» в правой части.

4 Подключение к удалённому узлу

После включения X11 forwarding, кликнем по кнопке open внизу окна putty. Откроется подключение с удалённым узлом 10.32.4.230 и терминал. Также можно выполнить команду «ls», для просмотра файлов на удалённом узле.

5 Открытие файлов HTML в браузере

Способ, которым можно открыть файлы HTML удалённо в raspberry pi зависит от используемого браузера. Рассмотрим браузеры Dillo и Netsurf для открытия существующего файла HTML, с названием «sum1.html».

5.1 Браузер Netsurf

Для открытия файла «sum1.html» введём в терминал следующее:

5.2 Браузер Dillo

Для открытия файла с использованием Dillo введём следующую команду в терминал putty:

Вообще, браузер Netsurf предпочтительней, но в случаях низкой пропускной способности сети лучше использовать Dillo, так как он имеет меньшую нагрузку.

6 Открытие текстовых файлов в редакторах с графическим интерфейсом

Raspbian содержит хороший текстовый редактор с графическим интерфейсом, под названием «leafpad». Для открытия текстового файла, с названием «indsum1.txt» введём следующее:

7 Сохранение настроек

Если существует необходимость запускать приложения с графическим интерфейсом каждый раз при использовании Putty, следует сохранить настройки. Для этого в меню настроек выбираем вкладку «sessions» на левой панели окна putty. Внизу можно увидеть текстовое окно, с названиями «load, save or delete sessions». Напечатаем имя сессии в этом текстовом окне, например, «GUI_login» и нажмём «save»в правой панели. Затем имя сессии должно появиться в окне снизу, теперь каждый раз для запуска необходимо дважды кликнуть по сохранённому имени сессии.

Использование «putty» является самым простым способом удалённого запуска приложений с графическим интерфейсом, при этом значительно используя пропускную способность сети.

Таким образом, можно запускать различные приложения, предустановленные в Raspbian OS. Этот метод также работает в Ubuntu и Debian.

Источник

Подключение к графической подсистеме Linux Ubuntu по локальной сети.

Для удаленного подключения к графической подсистеме Linux из Windows используются два основных способа:

— перенаправление графического ввода-вывода из среды Linux на графический сервер , работающий на стороне Windows ( X11 Forwarding )

— подключение с использованием X Display Manager Control Protocol (XDMCP) — протокола, обеспечивающего удаленное подключение графических терминалов (X-терминалов) к графическому серверу (X-серверу).

Первый способ проще реализуется и позволяет получить приемлемое быстродействие графических приложений на системах с малой производительностью. Менеджер дисплея и TCP-соединения X-сервера на стороне Linux в данном случае не используются. Второй – позволяет получить полноценное удаленное рабочее место пользователя, функционально ничем не отличающееся от обычного, локального. При реализации данного вида удаленного подключения используются дополнительные настройки конфигурации для X-сервера и менеджера дисплея.

Подключение из Windows к графической подсистеме Linux на примере Ubuntu Desktop .

Способы и средства удаленного подключения к графической подсистеме Linux из Windows уже рассматривались подробно в статье Подключение из Windows к графической подсистеме Mandriva Linux. В данной же статье рассматриваются вопросы, связанные с особенностями настройки X-сервера Ubuntu и менеджера дисплея LightDM. На стороне Windows используется бесплатный пакет Xming, последнюю версию которого, а также дополнительные пакеты с поддержкой различных шрифтов, и локализованную версию мастера Xlaunch найдете здесь:

Удаленная работа с графическими приложениями при использовании X11 Forwarding.

Перенаправление графического вывода удаленной подсистемы ( X11 Forwarding ) позволяет работать напрямую с графическими приложениями среды Linux на компьютере с графическим сервером Xming на стороне Windows. Данный режим реализуется с помощью SSH-подключения, в котором ssh-сервер sshd на стороне Linux перехватывает графический ввод-вывод и перенаправляет его ssh-клиенту ( PuTTY ) на стороне Windows, который в свою очередь , перенаправляет его графическому серверу Xming , развернутому в среде Windows. Таким образом, для реализации данного режима не требуется настройка X-сервера и менеджера дисплея для работы по сети, но требуется установка и настройка демона ssh на стороне Linux. В большинстве дистрибутивов Linux для рабочих станций (например, Ubuntu Desktop), сервер SSH по умолчанию, не устанавливается, поэтому его нужно установить командой :

sudo apt-get install ssh

В процессе выполнения команды будет выдано сообщение об устанавливаемых пакетах и объеме занимаемого ими пространства на жестком диске:

… ncurses-term openssh-server python-requests python-urllib3 ssh-import-id, rssh molly-guard monkeysphere openssh-blacklist openssh-blacklist-extra ) НОВЫЕ пакеты, которые будут установлены: ncurses-term openssh-server python-requests python-urllib3 ssh ssh-import-id обновлено 0, установлено 6 новых пакетов, для удаления отмечено 0 пакетов, и 273 пакетов не обновлено. Необходимо скачать 848 kБ архивов. После данной операции, объём занятого дискового пространства возрастёт на 3 480 kB. Хотите продолжить [Д/н]? После ответа Д будет установлен и запущен сервер SSH

Для проверки работоспособности ssh-сервера можно воспользоваться командой:

netstat -na | more

Строка Означает, что сервер ожидает входящие соединения ( “слушает”, LISTEN ) стандартный порт 22 на всех сетевых интерфейсах (0 0.0.0.0:22 )

Для режима перенаправления графического вывода X11 forwarding в настройках демона sshd необходимо включить ( проверить ) некоторые параметры. Все действия требуют права root.

Переходим в каталог /etc/ssh и открываем конфигурационный файл демона SSH sshd_config . Для работы через X11 Forwarding в нем должна присутствовать незакомментированная строка

X11Forwarding yes

Естественно, в данном режиме, работа с удаленной графической подсистемой Linux, выполняется напрямую с графическими приложениями, без использования рабочего стола Ubuntu. Если количество нужных для работы приложений невелико, то такой способ предпочтительнее, поскольку позволяет снизить степень использования ресурсов удаленной системы и позволяет получить более высокое быстродействие, по сравнению с технологией, основанной на использовании XDMCP. Таким образом, при перенаправлении графического вывода, ( X11 forwarding )программа Xming, используется в качестве X-сервера, работающего поверх вашего рабочего стола Windows, с запускаемыми на удаленной системе с ОС Linux графическими приложениями. При этом, графический сервер на удаленном Linux не используется и может быть даже не установлен.

Кроме Xming, в данной технологии используются клиент и сервер SSH. Клиентская часть — на компьютере с ОС Windows, сервер — на компьютере с Linux. Разработчики Xming с некоторых пор, включили клиентское программное обеспечение для реализации режима X11 Forwarding в состав инсталляционных пакетов (Standart PuTTY и Portable PuTTY).

При установке пакета Xming имеется возможность выбрать устанавливаемые версии PuTTY.

Однако, лучшим выбором будет скачать актуальную версию бесплатного SSH — клиента для Windows на странице загрузки PuTTY, где размещены ссылки для скачивания файлов утилиты putty.exe и дополнительных программных модулей, которые могут использоваться для работы с ней (копирование файлов, генерация ключей, телнет-клиент и т.п.). Имеется также ссылка для скачивания архива, включающего putty.exe и дополнительных программ для 32-х и 64-х разрядных ОС. Инсталляция не требуется. Просто скопируйте исполняемый файл putty.exe в каталог с установленным Xming, или любой другой, по вашему выбору.

Настройка Putty.
Для работы с Xming в режиме перенаправления графического вывода достаточно подправить секцию SSH:

Данные настройки означают, что разрешено X11 Forwarding и для него будет использоваться графический дисплей (X-дисплей) с номером 0 . Использовать 0-й номер дисплея не обязательно, но важно, чтобы этот номер совпадал с номером дисплея, указанном при запуске Xming ( поле Display number ):

При запуске Xming , с помощью мастера Xlaunch , задается номер дисплея (при необходимости) и выбирается многооконный режим Multiple windows , остальные параметры можно оставить по умолчанию. Фактически, номер дисплея определяет номер порта графического сервера на стороне Windows

– 0 соответствует порту 6000/TCP

Как уже рассматривалось выше, настройки X11 Forwarding в секции SSH/X11 PuTTY, также определяют X-сервер, на который будет перенаправляться графический ввод-вывод:

localhost:0 — X-сервер, слушающий порт 6000/TCP

localhost:1 — X-сервер, слушающий порт 6001/TCP

Соответственно, если на одном и том же компьютере запускается несколько X-серверов Xming, то номера графических дисплеев для них должны быть разными и соответствовать номерам, задаваемым в настройках клиента SSH. Для проверки подключенных графических подсистем можно воспользоваться командой отправки сообщения графическому дисплею

xmessage $DISPLAY — отобразить значение переменной DISPLAY

В результате выполнения команды получим:

Данное сообщение отображается на том графическом дисплее, которому соответствует перенаправление графического вывода SSH-клиента, в окне которого выполнялась команда xmessage

После того, как Xming стартовал, с помощью ssh-клиента PuTTY подключаемся к ssh-серверу Linux Ubuntu, и в командной строке запускаем нужное графическое приложение, Например, если запустить графический терминал xterm , то на компьютере с Windows появляется окно графического терминала Linux.

При запуске из сессии SSH-клиента PuTTY, или из окна уже запущенного терминала xterm , какого-либо графического приложения, например, обозревателя firefox на рабочем столе Windows отобразится его окно, в котором можно работать точно так же, как и на локальном компьютере с Linux Ubuntu.

Удаленное подключение к графической подсистеме из Linux .

Настройки демона sshd для удаленного доступа к графической подсистеме Linux выполняются точно так же, как и в случае перенаправления для X-сервера на стороне Windows. Графический вывод удаленной системы, в данной конфигурации, будет перенаправляться демоном sshd и разворачиваться графическим сервером на стороне подключившегося клиента.

Для удаленного подключения к графической подсистеме с использованием перенаправления X11 Forwarding клиентов Linux-систем, можно воспользоваться стандартным SSH-клиентом:

ssh -X -l user 192.168.0.1

-X — использовать перенаправление графического вывода X11Forwarding.

-l user — имя пользователя для подключения к удаленному компьютеру.

192.168.0.1 — адрес удаленного компьютера

После регистрации в удаленной системе, пользователь user имеет возможность работать с графическими приложениями на удаленном компьютере 192.168.0.1

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

ssh -X -l user 192.168.0.1 ‘xterm’

После авторизации, на локальном дисплее отобразится окно терминала xterm удаленного компьютера под управлением Linux.

По соображениям безопасности, вместо параметра ssh -X желательно использовать параметр -Y , предотвращающий возможность взаимодействия удаленного клиента с локальным графическим дисплеем системы, к которой выполняется подключение.

Подключение к рабочему столу Linux Ubuntu с использованием XDMCP.

Менеджер дисплея ( Display Manager или DM ) — это специальная системная служба обеспечивающая запуск графического сервера, вывод на графический дисплей приглашения на вход в систему, регистрацию пользователей, запуск оконных менеджеров, монтирование необходимых устройств, ведение баз данных входов и выходов пользователей в системе utmp и wtmp и т.п.

А если упрощенно — то менеджер дисплея — это программа, с которой начинается сеанс работы пользователя в графическом окружением Linux. Визуально, менеджер дисплея представляет собой окно регистрации пользователя при входе в систему. Обычно под этим подразумевается форма для ввода логина и пароля, меню для выбора графической среды, и дополнительные элементы управления питанием (для выключения компьютера, перезагрузки, перевода в спящий режим), выбора языка ввода, и т.п.

В настоящий момент в графической подсистеме Linux (обозначаемой как X Window System или как X11 ) наиболее распространенными менеджерами дисплеев являются X Display Manager (xdm) , Gnome Display Manager (gdm) и KDE Display Manager (kdm) и с 2012 года — Light Display Manager ( LghtDM ) . Разработка последнего начата в 2010 г. сотрудником компании Canonical Робертом Энцеллом (Robert Ancell) и в настоящее время LiightDM является вполне достойной альтернативой менеджерам дисплея предыдущего поколения. Главными его особенностями являются небольшой размер, высокое быстродействие, возможность работы с любой графической оболочкой и расширение функциональных возможностей с помощью плагинов. В перспективе, проект LightDM задается довольно амбициозной, но все же, реальной целью — стать стандартом для Х-сервера Linux X.org — сервера X Window System с открытым исходным кодом. С 2012 года, LightDM стал использоваться в качестве менеджера дисплеев по умолчанию во всех дистрибутивах Linux Ubuntu.

Особенности настроек безопасности в Linux Ubuntu Desktop последних версий не предусматривают возможности удаленного подключения к графической среде по локальной сети – сервер X11 не слушает порт 6000/TCP и менеджер LightDM не слушает порт 177/UDP. Поэтому, в первую очередь нужно выполнить соответствующие настройки, обеспечивающие возможность сетевого подключения по протоколу XDMCP.

Все файлы конфигурации менеджера дисплея LightDM размещаются в системном каталоге /etc/lightdm . Основные настройки — это lightdm.conf, который после инсталляции имеет следующее содержание:

Для разрешения TCP-подключений к графическому серверу X11 , нужно в файл конфигурации lightdm.conf добавить строку :

Для разрешения удаленных подключений к менеджеру дисплея нужно добавить секцию

Внесенные изменения вступят в силу только после перезапуска менеджера дисплея или перезагрузки системы. Для перезапуска LightDM можно воспользоваться командой:

service lightdm restart

Естественно, перезапуск менеджера дисплея приведет к закрытию всех сессий пользователей, вошедших в систему через него.

После перезапуска графической подсистемы или перезагрузки Ubuntu, можно проверить, слушаются ли порты 6000/TCP и 177/UDP:

netstat –na | more

В результате, видим, что менеджер дисплея ( LightDM ) настроен на использование протокола XDMCP и принимает входящие подключения на UDP порт 177 (по умолчанию) , а графический сервер (сервер X11 ) – принимает входящие подключения на порт 6000/TCP. Вообще-то, сетевой доступ к графическому серверу на стороне Linux для случая с применением Xming на стороне Windows не потребуется, и настройка для порта 6000/TCP приведена лишь в качестве примера.

Для удаленного подключения к рабочему столу Linux по протоколу XDMCP используется порт 177/UDP, который должен слушаться на стороне Linux и не должен быть закрыть брандмауэром. Кроме того, на компьютерах с несколькими сетевыми интерфейсами возможны проблемы с удаленным подключением, вызванные нестыковкой IP-адресов и имен узлов. Поэтому, в файлах /etc/hosts ( Ubuntu ) и \windows\system32\drivers\etc\hosts ( Windows ) нужно прописать соответствие имен и IP-адресов компьютеров для того сетевого интерфейса, через который будет выполняться подключение ( например, только для подсети 192.168.0.0/24). Очень часто в среде Linux, после установки системы, например на компьютер с именем Ubuntu13, в файле /etc/hosts присутствуют записи :

Как видно, имени Ubuntu13 сопоставлен адрес петлевого интерфейса, и следовательно, реальный обмен данными по протоколу IP с использованием имени узла, невозможен. Чтобы устранить данную проблему, нужно в последней строке заменить 127.0.0.1 на IP-адрес компьютера в локальной сети например:

Аналогично, в системе с Windows, в файле hosts нужно оставить ( добавить) только те записи, которые задают однозначное соответствие имен и IP-адресов в одной и той же подсети.

Для подключения к удаленному Linux Ubuntu, можно воспользоваться ярлыком Xlaunch . При подключении с использованием XDMCP необходимо выбрать режим работы в одном окне ( One Window ):

Выбираем сессию с использованием XDMCP:

Указываем IP-адрес или имя компьютера с ОС Linux, к которому необходимо подключиться:

Следующий экран служит для определения дополнительных параметров сессии и его пока можно оставить без изменений. Жмем кнопку «Далее» и, если все сделано правильно — перед нами приглашение менеджера дисплея Linux.

Статьи по теме удаленного рабочего стола Linux и Windows:

Если вы желаете помочь развитию проекта, можете воспользоваться кнопкой «Поделиться» для своей социальной сети

Источник

Читайте также:  Windows write back caching
Оцените статью