Передача файлов. Мессенджеры. Удалённый доступ.
Передача файлов
Ограничение на размер пересылаемого по почте файла раньше составляло 2 мегабайта (если не меньше). В последнее время лимит вырос (в среднем до десяти мегабайт), но всё равно, с помощью электронной почты большие файлы передавать неудобно. Всё-таки почта изначально рассчитана на передачу небольших текстовых файлов, поэтому при передаче не-текстовых данных (а таких очень много --- почти все форматы изображения и видео имеют нетекстовый вид) происходит их преобразование в текст в некоторой кодировке (uuencode, base64), что довольно значительно увеличивает размер передаваемого сообщения и значительно увеличивает время передачи.
Есть некоторые более удобные и эффективные решения задачи передачи большого количества данных по сети:
- Организация собственного файлового сервера. Ввиду сложности этот вариант подходит не всем, хотя вполне возможен в рамках локальной сети, где нету проблемы получения уникального IP-адреса.
- Использование сетевых сервисов хранения файлов. Сравнительно недавно появился, но уже хорошо зарекомендовал себя Народ.диск (narod.yandex.ru). Другие варианты: ifolder.ru, depositfiles.com, rapidshare.com. Последний лучше не использовать, если общение с сервисом будет происходить из-за NAT (у сервиса ограничение на одно соединение с одного IP-адреса). Все службы по обмену файлов предлагают ввести так называемую капчу (английское CAPTCHA, Completely Automated Public Turing test to tell Computers and Humans Apart). Капча --- это способ для таких сайтов отличить машину от человека. Предлагается ввести некий изображённый на картинке текст. Некоторые сервисы предлагают этот текст прослушать в аудио.
- Пиринговые сети. Распространение файлов в оных отличается от привычного ftp или http: централизованной передачи данных в общем случае не происходит, они берутся по кускам у всех машин, которые сообщили о том, что у них эти данные есть. Соответственно, чем больше машин в сети обладают нужными данными, тем быстрее будет происходить скачивание. Из основного принципа функционирования пиринговых сетей вытекает некоторое правило вежливости --- после скачивания данных какое-то время оставить включённым клиент для сети, чтобы эти данные могли скачивать другие клиенты.
Мгновенные сообщения
Раньше, когда компьютеры были большими, а интернет только начинал быть похожим на интернет, по сути, единственным способом общения через сеть была электронная почта. Она не требует постоянного соединения, использует мало трафика, и хорошо выполняет свои функции. Но скорость и стабильность соединений по всему миру с тех пор увеличилась, и появилась идея так называемого мгновенного (английское instant) обмена сообщениями.
В общих чертах принцип действия такого рода программ таков: каждый из собеседников подключается к некоторому серверу при помощи некоторой клиентской программы. При обмене сообщениями сервер стремится сразу же их доставить. Переписка (задержка в получении электронной почты --- минуты) превращается в диалог в режиме реального времени (при стабильном соединении задержка меньше секунды).
За достаточно короткое время в 1990-е возникло множество проприетарных протоколов такого рода (например, ICQ, MSN). Работают они все совершенно одинаково, и до определённого момента все существовавшие протоколы были проприетарными и требовали использования некоего проприетарного клиента от провайдера услуг.
Но ситуация изменилась с появлением протокола Jabber.
Jabber
Jabber (формально, протокол называется XMPP) изначально разрабатывался как полностью открытый протокол. То есть нету никакой корпорации или единоличного владельца, контролирующего все изменения и содержащего сервер, и все спецификации находятся в открытом доступе.
Достоинствами данного протокола можно считать:
- Распределенность, т. е. независимость от одного конкретного сервера
- Лёгкость организации собственного сервера (может быть очень удобно в пределах локальной сети)
- XMPP поддерживает шифрование (SSL и TLS)
- Лёгкость расширения
- Возможность использования одной учётной записи одновременно несколькими клиентами и выбора какому клиенту отправляются сообщения при помощи ресурсов и приоритетов
- Выбираемый пользователем текстовый идентификатор, по формату напоминающий почтовый адрес (а не число, как это принято в некоторых других протоколах)
Также некоторые сервисы (почтовый Gmail, блоговый LiveJournal) при регистрации автоматически создают учётную запись Jabber на своём сервере, связанную с соответствующей основной учётной записью. В случае gmail интеграция почты и Jabber довольно велика — так, на почту могут приходить сообщения о неотвеченных сообщениях в Jabber. Подобная интеграция есть и у LiveJournal.
Попробуем зарегистрировать новую учётную запись в Jabber-е и настроить клиент мгновенных сообщений Kopete.
Kopete поддерживает множество протоколов, поэтому при первом запуске нам потребуется выбрать нужный:
Выберем Jabber:
Дальше требуется ввести данные об учётной записи:
Поскольку у нас еще нет учётной записи, нам потребуется зарегистрировать новую:
Регистрация достаточно проста: нам потребуется выбрать сервер (в данном случае мы используем jabber.ru), имя пользователя и пароль. Отдельно нужно отметить шифрование:
Предупреждение о самоподписанном сертификате в данном случае можно игнорировать:
Регистрация новой учётной записи успешно завершена:
Настройка учётной записи на этом также заканчивается:
Внешний вид программы достаточно типичен для мессенджеров:
Чтобы начать общаться, требуется добавить учётную запись предполагаемого собеседника в список контактов:
Впрочем, для начала требуется подключиться к серверу:
Теперь нужно ввести логин нужного нам человека. В данном случае мы добавим в список контактов свою учётную запись:
Все, можно начинать общение:
При получении нового сообщение появляется всплывающее окно с информацией:
А так выглядит собственно диалог:
В Легком Линуксе есть аналогичная программа, она называется pidgin и устроена схожим образом. Запустим ее из меню xfce:
Он также поддерживает несколько протоколов:
Используем уже созданную нами ранее учётную запись Jabber:
Настройка учётной записи закончена, однако в нашем контакт-листе нет ни одного собеседника:
Поэтому добавим нового:
Если всё сделано верно, то контакт появится в списке собеседников:
Можно начинать общение:
Удалённое управление
SSH
Наиболее правильный способ удалённого управления ОС Linux (да и вообще любой Unix-образной системой) --- это получение терминального доступа к машине с помощью протокола ssh, о котором говорилось в соответствующих лекциях. Если кратко, клиент называетс ssh, сервер --- sshd. В ПСПО по умолчанию сервер sshd выключен.
Обратите внимание: на этой картинке через ssh был получен терминал, и в нём видно, что он на удалённой машине. К сожалению, неопытные пользователи это не всегда правильно понимают, из-за чего подобный способ управления вряд ли стоит использоваться поначалу (без соответствующей подготовки). Если вызывать клиент с ключем -Y, то появится возможность запускать графические приложения, например, можно запустить xterm:
Для ОС Windows существует ряд свободных SSH-клиентов, позволяющее подключаться по SSH к другим компьютерам, например, PuTTY.
Общий рабочий стол
Можно организовывать не только новые терминальные сессии, но и подключаться к имеющейся поверхности Х-сервера. Для этого на удалённой машине должен быть запущен соответствующий сервис. Из соображений разумности и безопасности использовать удалённые системы логично только по обоюдной договорённости пользователей этих компьютеров, поскольку у подключившегося есть возможность получить управление мышью и клавиатурой. Это используется для того, чтобы человек мог проделать некоторую работу, например, объясняя, что делать на рабочем столе. Одному пользователю нужно уметь давать доступ к рабочему столу, а другому --- умение пользоваться клиентом.
В среде KDE (стандартная для Линукс Мастер) такой доступ организуется программами krfb и krdc.
Настройки krfb выглядят так:
Можно выдать разовое приглашение человеку на управление рабочим столом:
В принципе, каждый раз, когда кто-то хочет подсоединиться, он Вам посылает уведомление, которое вы можете принять или не принять. Поэтому в данном случае мы разрешим соединение без приглашений:
Таким образом, мы настроили принимающую сторону, теперь можно попробовать подключиться к этому компьютеру. Делается это с помощью другой программы --- krdc:
Здесь от нас требуется всего лишь ввести адрес (или имя) компьютера, к которому мы хотим подключиться:
Дополнительно можно изменить настройки соединения --- это влияет на качество картинки:
При подключении на компьютере, с которым мы соединяемся, появится уведомление о входящем соединении:
Обратите внимание, что можно запретить удалённому пользователю управлять мышью и клавиатурой --- в таком случае он сможет только наблюдать за вашими действиями. После разрешения соединения появится уведомление об успешном подключении:
На компьютере, с которого выполнено подключение, оно выглядит так:
При желании можно также развернуть его в полный экран:
Организация доступа к рабочему столу отнюдь не ограничена двумя встроенными в KDE утилитами. Есть куда более мощные и универсальные vncserver и vncviewer. На одной запускается x11vnc, который будет передавать все данные с рабочего стола по сети, на другой --- vncviewer с адресом машины с запущенным x11vnc в качестве параметра. У сервера есть широковещательный режим, когда несколько человек могут подключиться к одному серверу и наблюдать происходящее. Различные интересные настройки описаны в документации. Чтобы разрешить наблюдение (но не управление) нескольким пользователям, сервер должен быть запущен с параметрами -shared -viewonly -forever.
Сведения о ресурсах
Продолжительность (ак. ч.) |
Подготовка (календ. ч.) |
Полный текст (раб. д.) |
Предварительные знания |
Level |
1 |
1 |
1 |
|
1 |