Документ взят из кэша поисковой машины. Адрес оригинального документа : http://uneex.mithril.cs.msu.su/PspoClasses/080813/03FileTransferImVnc
Дата изменения: Unknown
Дата индексирования: Sun Apr 10 06:21:52 2016
Кодировка: UTF-8
PspoClasses/080813/03FileTransferImVnc - UNИX

Передача файлов. Мессенджеры. Удаленный доступ.

Передача файлов

Ограничение на размер пересылаемого по почте файла раньше составляло 2 мегабайта (если не меньше). В последнее время лимит вырос (в среднем до десяти мегабайт), но все равно, с помощью электронной почты большие файлы передавать неудобно. Все-таки почта изначально рассчитана на передачу небольших текстовых файлов, поэтому при передаче не-текстовых данных (а таких очень много --- почти все форматы изображения и видео имеют нетекстовый вид) происходит их преобразование в текст в некоторой кодировке (uuencode, base64), что довольно значительно увеличивает размер передаваемого сообщения и значительно увеличивает время передачи.

Есть некоторые более удобные и эффективные решения задачи передачи большого количества данных по сети:

Мгновенные сообщения

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

В общих чертах принцип действия такого рода программ таков: каждый из собеседников подключается к некоторому серверу при помощи некоторой клиентской программы. При обмене сообщениями сервер стремится сразу же их доставить. Переписка (задержка в получении электронной почты --- минуты) превращается в диалог в режиме реального времени (при стабильном соединении задержка меньше секунды).

За достаточно короткое время в 1990-е возникло множество проприетарных протоколов такого рода (например, ICQ, MSN). Работают они все совершенно одинаково, и до определенного момента все существовавшие протоколы были проприетарными и требовали использования некоего проприетарного клиента от провайдера услуг.

Но ситуация изменилась с появлением протокола Jabber.

Jabber

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

Достоинствами данного протокола можно считать:

Также некоторые сервисы (почтовый Gmail, блоговый LiveJournal) при регистрации автоматически создают учетную запись Jabber на своем сервере, связанную с соответствующей основной учетной записью. В случае gmail интеграция почты и Jabber довольно велика ? так, на почту могут приходить сообщения о неотвеченных сообщениях в Jabber. Подобная интеграция есть и у LiveJournal.

Попробуем зарегистрировать новую учетную запись в Jabber-е и настроить клиент мгновенных сообщений Kopete.

../kopete_kde_menu.png

Kopete поддерживает множество протоколов, поэтому при первом запуске нам потребуется выбрать нужный:

../kopete_wizard_1.png

Выберем Jabber:

../kopete_wizard_1_jabber_selected.png

Дальше требуется ввести данные об учетной записи:

../kopete_account_configuration.png

Поскольку у нас еще нет учетной записи, нам потребуется зарегистрировать новую:

../kopete_new_account_dialog.png

Регистрация достаточно проста: нам потребуется выбрать сервер (в данном случае мы используем jabber.ru), имя пользователя и пароль. Отдельно нужно отметить шифрование:

../kopete_new_account_dialog_ssl.png

Предупреждение о самоподписанном сертификате в данном случае можно игнорировать:

../kopete_new_account_unknown_ssl_cert_dialog.png

Регистрация новой учетной записи успешно завершена:

../kopete_new_account_dialog_successful.png

Настройка учетной записи на этом также заканчивается:

../kopete_wizard_2_complete.png

Внешний вид программы достаточно типичен для мессенджеров:

../kopete_conversation_jabber_ru.png

Чтобы начать общаться, требуется добавить учетную запись предполагаемого собеседника в список контактов:

../kopete_add_account_button_tip.png

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

../kopete_add_account_to_roster.png

Теперь нужно ввести логин нужного нам человека. В данном случае мы добавим в список контактов свою учетную запись:

../kopete_add_account_to_roster2.png

Все, можно начинать общение:

../kopete_conversation_window.png

При получении нового сообщение появляется всплывающее окно с информацией:

../kopete_new_message_notifier2.png

А так выглядит собственно диалог:

../kopete_conversation_window_typing.png

В Легком Линуксе есть аналогичная программа, она называется pidgin и устроена схожим образом. Запустим ее из меню xfce:

../pidgin_xfce_menu.png

Он также поддерживает несколько протоколов:

../pidgin_account_setup_select_protocol.png

Используем уже созданную нами ранее учетную запись Jabber:

../pidgin_account_setup.png

Настройка учетной записи закончена, однако в нашем контакт-листе нет ни одного собеседника:

../pidgin2.png

Поэтому добавим нового:

../pidgin_add_contact_menu.png

../pidgin_add_account_to_roster.png

Если все сделано верно, то контакт появится в списке собеседников:

../pidgin_with_accounts_dialog.png

../pidgin.png

Можно начинать общение:

../pidgin_conversation.png

Удаленное управление

SSH

Наиболее правильный способ удаленного управления ОС Linux (да и вообще любой Unix-образной системой) --- это получение терминального доступа к машине с помощью протокола ssh, о котором говорилось в соответствующих лекциях. Если кратко, клиент называетс ssh, сервер --- sshd. В ПСПО по умолчанию сервер sshd выключен.

../remote_access_ssh.png

Обратите внимание: на этой картинке через ssh был получен терминал, и в нем видно, что он на удаленной машине. К сожалению, неопытные пользователи это не всегда правильно понимают, из-за чего подобный способ управления вряд ли стоит использоваться поначалу (без соответствующей подготовки). Если вызывать клиент с ключем -Y, то появится возможность запускать графические приложения, например, можно запустить xterm:

../remote_access_xterm_via_ssh.png

Для ОС Windows существует ряд свободных SSH-клиентов, позволяющее подключаться по SSH к другим компьютерам, например, PuTTY.

Общий рабочий стол

Можно организовывать не только новые терминальные сессии, но и подключаться к имеющейся поверхности Х-сервера. Для этого на удаленной машине должен быть запущен соответствующий сервис. Из соображений разумности и безопасности использовать удаленные системы логично только по обоюдной договоренности пользователей этих компьютеров, поскольку у подключившегося есть возможность получить управление мышью и клавиатурой. Это используется для того, чтобы человек мог проделать некоторую работу, например, объясняя, что делать на рабочем столе. Одному пользователю нужно уметь давать доступ к рабочему столу, а другому --- умение пользоваться клиентом.

В среде KDE (стандартная для Линукс Мастер) такой доступ организуется программами krfb и krdc.

../krfb_kde_menu.png

Настройки krfb выглядят так:

../krfb_settings.png

Можно выдать разовое приглашение человеку на управление рабочим столом:

../krfb_wizard_1.png

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

../krfb_settings_configured.png

Таким образом, мы настроили принимающую сторону, теперь можно попробовать подключиться к этому компьютеру. Делается это с помощью другой программы --- krdc:

../krdc_kde_menu.png

Здесь от нас требуется всего лишь ввести адрес (или имя) компьютера, к которому мы хотим подключиться:

../krdc.png

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

../krdc_settings.png

При подключении на компьютере, с которым мы соединяемся, появится уведомление о входящем соединении:

../krfb_incoming_connection_dialog.png

Обратите внимание, что можно запретить удаленному пользователю управлять мышью и клавиатурой --- в таком случае он сможет только наблюдать за вашими действиями. После разрешения соединения появится уведомление об успешном подключении:

../krfb_incomming_connection_popup.png

На компьютере, с которого выполнено подключение, оно выглядит так:

../krdc_connected.png

При желании можно также развернуть его в полный экран:

../krdc_fullscreen.png

Организация доступа к рабочему столу отнюдь не ограничена двумя встроенными в KDE утилитами. Есть куда более мощные и универсальные vncserver и vncviewer. На одной запускается x11vnc, который будет передавать все данные с рабочего стола по сети, на другой --- vncviewer с адресом машины с запущенным x11vnc в качестве параметра. У сервера есть широковещательный режим, когда несколько человек могут подключиться к одному серверу и наблюдать происходящее. Различные интересные настройки описаны в документации. Чтобы разрешить наблюдение (но не управление) нескольким пользователям, сервер должен быть запущен с параметрами -shared -viewonly -forever.


Сведения о ресурсах

Готовность (%)

Продолжительность (ак. ч.)

Подготовка (календ. ч.)

Полный текст (раб. д.)

Предварительные знания

Level

Maintainer

Start date

End date

90

1

1

1

1

ПетрНикольский, ОльгаТочилкина, MaximByshevskiKonopko


PspoClasses/080813/03FileTransferImVnc (последним исправлял пользователь eSyr 2009-03-22 17:51:32)