понедельник, 31 марта 2008 г.

KKBSwitch не отображает код языка

Исторически сложилось так, что для индикации текущей раскладки клавиатуры я пользуюсь пакетом kkbswitch. Этот пакет меня вполне устраивал до моего перехода на Kubuntu. Но вот на этой ОС у меня с ним возникла одна неприятная ситуация. Вместо отображения кода языка индикатор показывал цифры 1 и 2. После обновления до Kubuntu 7.10 цифра 1 сменилась на EN, что не могло не радовать, но вот вместо RU упорно отображалась двойка. Мириться с этим я не собирался :)

Можно было конечно последовать совету многоуважаемого Raa, согласиться с тем, что kkbswitch - глючный пакет (похоже, что он действительно глючный (по крайней мере его дебиановский вариант, поскольку, как я уже сказал, до перехода на Kubuntu у меня с этим пакетом проблем не возникало)), и отказаться от него полностью. Но гораздо интереснее было заставить его отображать код языка.
После весьма продолжительных и безрезультатных поисков описания подобной проблемы, а также после многократных попыток каким-то образом исправить конфиги, было решено пойти на крайние меры - сборку пакета из исходников. Решение оказалось удачным (в какой-то мере), поэтому именно его я и опишу.
Итак вначале избавимся от стандартного пакета:

$ sudo apt-get remove kkbswitch

Также я на всякий случай удалил конфиги:

$ rm -r ~/.kde/share/apps/kkbswitch ~/.kde/share/config/kkbswitchrc

Далее скачиваем и распаковываем исходники:

$ wget http://downloads.sourceforge.net/kkbswitch/kkbswitch-1.4.3.tar.gz
$ tar -xzf kkbswitch-1.4.3.tar.gz
$ cd kkbswitch-1.4.3

А вот тут мне пришлось установить дополнительно полторы сотни пакетов, чтобы сборка состоялась, так что знайте, что вас ожидает, если вы вдруг решитесь пойти моим путем (стоит ли этого простой индикатор раскладки? :) )

$ sudo apt-get install xorg-dev libqt3-headers libqt3-mt-dev kde-devel

После окончания установки всех нужных пакетов, можно собирать kkbswitch:

$ ./configure
$ make
$ sudo make install

Готово :). Можем найти KKBSwitch в меню KDE > Служебные, а можем запустить его прямо из консоли:

$ kkbswitch

И вот, при переключении раскладки на русскую, мы победоносно любуемся кодом RU :). Правда при переключении на английскую, вместо EN мы видим US :\. Ну что ж, не всё сразу :). Чтобы это поправить достаточно создать файл настроек. Но создавать мы его не будем, а скопируем готовый из нашего дистрибутива. Итак, находясь в папке kkbswitch-1.4.3, выполним

$ cp kkbswitch/group_names ~/.kde/share/apps/kkbswitch

Теперь перезапускаем kkbswitch и ... ничего не изменяется. А всё потому, что разработка данного пакета замерла три года назад, а KDE не стоит на месте. С тех пор изменились названия групп раскладок, и нам придется поправить файл group_names.
Итак в указанном файле заменяем "US/ASCII" на "U.S. English", а "Russian" - на "Russia"

$ sed -i 's/US\/ASCII/U\.S\.\ English/g' ~/.kde/share/apps/kkbswitch/group_names
$ sed -i 's/Russian/Russia/g' ~/.kde/share/apps/kkbswitch/group_names

Теперь перезапускаем kkbswitch и ... свершилось :). Теперь индикатор отображает коды EN и RU, чего я и хотел достичь.

пятница, 28 марта 2008 г.

Отправка e-mail писем с вложениями из консоли

Чтобы отослать электронное письмо из командной строки, можно воспользоваться утилитой mail. Также она может встречаться под названием mailx или Mail. Для отправки письма пишем следующую команду:

$ mail -s "Тема письма" pupkin@mail.ru
Привет!
Я пишу тебе из консоли!
Ctrl+D

Комбинация клавиш Ctrl+D (^D) с новой строки позволяет завершить ввод письма. После этого у меня появляется приглашение ввести получателя копии - просто жму "Enter", и письмо отправляется.

Если тело письма находится в файле, то можно просто воспользоваться перенаправлением входного потока:

$ mail -s "Письмо из файла" pupkin@mail.ru < mail_body.txt

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

$ ls | mail -s "Вывод команды" pupkin@mail.ru

Кроме того, утилита позволяет не только читать письма, но и получать их, отвечать и делать прочие полезные манипуляции. Но вот чего она, похоже, не позволяет - так это добавить вложение к письму. Однако, это не беда. Есть немало способов отправить файл из консоли по электронной почте. Я рассмотрю три из них, которые не потребовали от меня разбираться в чем-то или что-то скачивать/устанавливать.

1. Если нужно отправить двоичный файл письмом, можно его просто закодировать с помощью uuencode. Команда будет выглядет следующим образом:

$ uuencode image.jpg image.jpg | mail -s "Метод 1" sombeody@somewhere.net

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

2. С помощью консольной утилиты mpack. Эта утилита пакует файл в сообщение и отсылает полученное сообщение туда, куда изволите.

$ mpack -s "Метод 2" image.jpg sombeody@somewhere.net

3. С помощью полноценного консольного почтового клиента mutt. Можно запустить его, сформировать письмо и отправить куда надо. А можно запустить mutt в режиме эмуляции диалога mailx (параметр -x), при этом передав через параметры все необходимое, чтобы не получать лишних вопросов от этой программы. Второй вариант выглядит так:

$ echo "Смотри вложение" | mutt -x -s "Метод 3" -a image.jpg sombeody@somewhere.net

Если какой-то из программ у вас не окажется (в чем я сильно сомневаюсь), ищите ее в репозиториях Debian.

Пишите - и да будете отвечены! :-)

понедельник, 24 марта 2008 г.

Ослиные бега. Настройка p2p клиента MLDonkey

Ни для кого наверное не секрет, что в Интернете можно найти огромное количество нужной информации (и еще больше ненужной :) ). А когда в твоем распоряжении находится безлимитный канал, пусть даже не очень скоростной, то хотя бы часть этой информации хочется перенести на свой компьютер. Особенно это касается всяких там фильмов, музыки, игр, ПО и других приятных и иногда даже полезных мелочей большого размера. Вот тут нам и приходят на помощь пиринговые сети (они же p2p сети).
По сути пиринговая сеть - это совокупность обычных компьютеров по всему миру, на которых установлено специальное ПО - клиент сети. Клиент позволяет участникам сети обмениваться друг с другом файлами и выполняет различные служебные действия. Разновидностей пиринговых сетей существует немало, но поскольку я пользуюсь только двумя из них, то речь дальше пойдет именно об этих двух сетях: eDonkey и BitTorrent.
Клиентов для этих двух сетей также существует великое множество, но уже из заголовка сообщения понятно, каким из них пользуюсь я. Итак почему именно MLDonkey? Можно было бы перечислить его многочисленные достоинства (которых действительно немало), но для этого есть специальные сайты :). Причина же моего выбора предельно проста - это первый p2p клиент, который у меня начал нормально работать на не-Windows платформе.
Итак начнем конечно с установки (данное описание приводится для Kubuntu 7.10, но вполне должно сгодиться и для других систем):

$ sudo apt-get install mldonkey-server

На этом установку можно считать закоченной. Стоит однако отметить, что MLDonkey - консольный клиент. То есть с одной стороны это может доставлять некоторые неудобства из-за отсутствия графического интерфейса, а с другой стороны дает некоторые преимущества (например удаленное управление). Скажу сразу, что существует несколько графических оболочек к MLDonkey, но ни одна из них у меня не прижилась по одной простой причине: все эти оболочки оказались либо менее функциональны, либо более запутаны, чем встроенный веб-интерфейс клиента. Именно им мы и будем пользоваться для настройки.
Но для начала нужно запустить сам клиент. Для этого набираем в консоли:

$ mlnet

Я специально не запускаю клиент в фоновом режиме, а просто сворачиваю консоль. Так гораздо удобнее его потом закрыть - простым нажатием Ctrl+C. После запуска клиента, открываем свой любимый браузер и идем прямо на http://localhost:4080/
Если все было установлено правильно, то перед нами откроется веб-интерфейс в зеленовато-болотных тонах, и это значит, что мы готовы к настройке.
Жмем кнопку Options и не спешим впадать в панику от представшего нашему взору изобилия настроек. Большинство этих настроек менять не стоит. Я менял только следующие (после изменения каждой настройки нужно обязательно нажать Enter, чтобы изменения вступили в силу):
Вкладка Client:
  • max_hard_upload_rate, max_hard_download_rate - соответственно максимальные скорости отдачи и загрузки в килобайтах в секунду (значения по-умолчанию для моего канала великоваты :) )
  • max_hard_upload_rate2, max_hard_download_rate2 - второй набор максимальных скоростей отдачи и загрузки. Очень удобная функциональность. MLDonkey позволяет переключаться между этими двумя наборами простым нажатием кнопки в веб-интерфейсе. Я устанавливаю первый набор на действительно максимальные значения для моего канала, а второй - на четверть канала. Таким образом я могу не выключать MLDonkey даже когда работаю (а работаю я через Интернет), что имеет свои плюсы в сети eDonkey (позволяет оставаться в очереди на закачку).
  • max_opened_connections - максимальное число подключений я тоже слегка уменьшаю, как и
  • max_concurrent_downloads - максимальное число одновременных закачек.
Вкладка Ports:
Здесь я добавляю в параметр allowed_ips (разрешенные IP) после 127.0.0.1 через пробел адрес второго компьютера моей домашней сети, чтобы с него тоже можно было смотреть статистику и управлять закачками.
Вкладка Net:
Поскольку MLDonkey может одновременно быть клиентом в нескольких пиринговых сетях, на этой вкладке устанавливаем, какими именно сетями мы будем пользоваться. Я ставлю true для параметров enable_kademlia (участие в этой сети бывает полезно для пользователей eDonkey), enable_donkey (собственно eDonkey) и enable_bittorrent (это конечно BitTorrent). Для всех остальных сетей ставлю false.
Вкладка All:
Здесь можно найти все предыдущие параметры и еще несколько очень важных. А именно:
  • BT-client-port - порт клиента BitTorrent. Желательно не оставлять значение по умолчанию, так как некоторые трекеры не хотят работать со стандартными портами (да и некоторые провайдеры их блокируют).
  • BT-tracker-port - порт трекера BitTorrent.
  • ED2K-port - TCP порт клиента eDonkey. UDP порт в настройках нигде не указывается, что является одним из подводных камней MLDonkey, однако вычислить его очень просто: UDP-port = TCP-port + 4.
На этом настройки на странице Options закончились, но это еще не всё :). На данном этапе самое время проверить доступность указанных нами портов. Эти порты должны быть открыты на вход иначе в сети eDonkey нам будут присваивать Low ID и придется долго стоять в очередях, а в сеть BitTorrent нас просто не пустят :).
Перезапускаем клиент из консоли и возвращаемся в веб-интерфейс.
Жмем на кнопку Help+ и в появившемся ряду дополнительных кнопок жмем на Porttest. Жмем на появившуюся вкладку Start porttest и периодически нажимаем на Refresh results пока нашему взору не откроются результаты тестов. Если видим что-то вроде Port test failure или test failed, значит плохи наши дела. Скорее всего закрыты нужные порты и нам нужно проверить настройки файрвола. Как это делать - зависит от файрвола и ситуации (возможно порты блокируются провайдером и нужно искать другие пути). Этот вариант мы рассматривать не будем, потому что в нашем случае получаем Port test successful. Мы готовы приступить к закачке.
Начнем с сети eDonkey. Эта сеть строго говоря не является пиринговой в полном понимании этого слова, поскольку в ней присутствуют серверы. Для того, чтобы начать закачку, нужно иметь не только ed2k-ссылку на нужный файл, но еще и подключиться к серверу, который знает, где это добро качать. Обычно с каждым eDonkey клиентом поставляется список серверов, но MLDonkey является в этом плане исключением. Изначально список серверов в нем девственно чист. Список серверов можно найти в Интернете, но мы пойдем более легким путем.
Жмем на кнопку Servers и в появившемся ряду кнопок жмем на Import Server.met. В появившееся окно заносим адрес http://www.gruk.org/server.met и смело жмем ОК.
Теперь для начала закачки нам нужно только нажать DL в верхнем ряду кнопок и ввести ed2k ссылку в появившемся окошке (и после этого еще нажать Input в том же окошке).
С сетью BitTorrent всё гораздо проще, поскольку она в чистом виде пиринговая. Скачиваем torrent-файл на локальный компьютер, нажимаем DL и вводим полный локальный путь к torrent-файлу.
Итак настройка закончена (надеюсь, что кто-то разберется в этих инструкциях :) ). Чтобы понаблюдать за процессом закачки жмем кнопку Transfers. Дополнительные кнопки этой страницы предоставляют следующую информацию:
  • Downloads - активные закачки
  • Downloaders - люди, у которых мы качаем
  • Uploads - активные отдачи
  • Uploaders - люди, которые у нас качают
  • Bandwidth stats - симпатичные графики, которые наглядно иллюстрируют изменение скорости закачки/отдачи за время текущего сеанса работы
  • Bandwidth toggle - переключение на другой предел скорости (если мы его настроили)
Вот собственно и все, что я хотел рассказать о настройке MLDonkey.

четверг, 20 марта 2008 г.

Удаленное подключение к рабочему столу Linux из Windows с помощью Xming и SSH

Иногда приходится пользоваться тем, что дали. Мой компьютер, на котором стоит Debian Linux, был занят моей женой (не учите своих жен пользоваться линуксом). Зато был свободен компьютер сестры с установленным на нем Windows. И вот появилось желание подключиться к своему компьютеры с рабочей станции под управлением враждебной OS. Первым, что пришло в голову - это удаленный рабочий стол. Однако, нашлось более элегантное решение. И, несмотря на заголовок статьи, речь пойдет о немного другой технологии. Взгляните на этот снимок:



Вы видите приложения Linux прямо на рабочем столе Windows! Как же они туда попали?

Немного о теории. В отличие от Windows, в Linux графическая оболочка не является частью ядра системы. Стандартная оконная система для Linux - это X Window System, или, попросту говоря, иксы. Она берет на себя отрисовку графических элементов и взаимодействие с устройствами ввода-вывода. А самое вкусное заключается в том, что эта система имеет прозрачную клиент-серверную архитектуру. Оконная система выполняет роль сервера, а графические приложения - роль клиентов. Как и положено клиентам, они подключаются к серверу и взаимодействуют с ним для отрисовки и для получения событий мыши и клавиатуры.

Но это еще не все! Дело в том, что оконная система может находиться на другом компьютере, а графическое приложение связываться с ней через сеть. Так вы можете запустить приложение на удаленном компьютере, заставив его рисоваться на том компьютере, за которым сейчас работаете. Или наоборот. Или запустить программу на одном удаленном компьютере с отрисовкой интерфейса на другом удаленном компьютере. Заманчивая возможность, неправда ли? :-)

Думаю, достаточно теории, давайте приступим к практике.

Для начала подготовим удаленный компьютер Debian Linux. Все, что нам здесь нужно - это SSH-сервер. Через него мы будем подключаться удаленно и запускать нужные нам программы. Выполняем всего одну команду в консоли:

$ sudo apt-get install openssh-server

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

1. SSH-клиент. Я установил PuTTY.
2. X Server для Windows. Я выбрал Xming.

Обе программы можно загрузить с сайта SourceForge (пакеты Xming и Xming-portable-PuTTY). Также по желанию можно загрузить стандартный набор шрифтов (пакет Xming-fonts). Все, что загрузили - устанавливаем (с полной установкой всех компонент Xming), и переходим к настройке. Теперь главное не запутаться, что к чему будем подключать :-)

Для начала установим соединение по SSH с удаленным компьютером. Для этого запускаем PuTTY. Вводим IP-адрес компьютера Linux.


Теперь переходим в раздел Connection / SSH / X11 и включаем перенаправление графического интерфейса. В качестве расположения X-сервера водим IP-адрес компьютера Windows, за которым сейчас сидим.


Кроме того, чтобы вместо русских букв не всплыли крокозябли, желательно в разделе Window / Translation установит правильную кодировку (у меня - UTF8 - стандартная кодировка на Debian и Ubuntu). Возвращаемся в раздел Session, сохраняем настройки и подключаемся к компьютеру Linux. В случае успешного подключения мы вводим логин и пароль и видим текстовую консоль. С ее помощью мы можем удаленно запустить консольные программы, но графические программы не могут рисоваться в консоли. Поэтому оставим на время наше подключение по SSH.

Теперь настроим Xming. Для этого запускаем программу XLaunch - это мастер настроек. На первом шаге указываем способ интеграции в графическое окружение Windows. Мне более всего по душе первый, когда каждое приложение Linux находится в своем окне.


На втором шаге нам предлагается автоматически запускать какое-нибудь приложение вместе с иксами. Я предпочел сделать это позже по мере необходимости посредством уже запущенного нами PuTTY.


На третьем шаге указываем параметры запуска Xming. Опция Clipboard позволяет интегрировать буфер обмена. Также для полноценной работы я ввел следующие параметры:
"-dpi 96" - чтобы поправить размер шрифтов. Значение можно подбирать по вкусу.
"-xkblayout us,ru" - для работы с двумя раскладками клавиатуры.
"-xkbvariant basic,winkeys" - уточнение раскладок.
"-xkboptions grp:caps_toggle" - переключение раскладки клавишей CAPS LOCK.


И, наконец, на следующем шаге сохраняем настройки кнопкой "Save configuration" и запускаем X-сервер кнопкой "Готово".


В системном лотке появится иконка Xming


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


Итак, X-сервер запущен. Возвращаемся в нашу консоль, предоставленную соединением SSH. Здесь мы можем удаленно запустить консольное приложение, и в этой же консоли увидим вывод этого приложения. А что теперь будет, если мы попытаемся запустить в этой консоли графическое приложение? Обычно, если вы подключились по SSH и пытаетесь запустить оконное приложение, вы получите ошибку, потому что вы подключились к удаленному компьютеру в консольном режиме, и рисовать окна просто нечем. Однако, в этот раз мы включили перенаправление графики на наш компьютер Windows, на котором уже запущен свой X-сервер. Поэтому, если вы попытаетесь запустить оконное приложение в удаленном консольном терминале, его окно нарисуется на компьютере Windows. Попробуйте, например, набрать следующую команду:

$ kwrite &
или
$ gedit &

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

Ну, надеюсь, у вас все получилось, и на вашем рабочем столе Windows красуются оконные приложения Linux.

Кстати говоря, благодаря этой клиент-серверной архитектуре злоумышленник может отправить на ваш экран окно с просьбой ввести ваш пароль или еще с какой-нибудь гадостью. Чтобы такого не происходило, не подключайтесь к общественным сетям без фаирвола. И помните: большие возможности - это большая ответственность.

четверг, 13 марта 2008 г.

Настройка PPTP VPN в Linux

Для начала разберемся с тем, какой такой павлин-мавлин перед нами.

VPN переводится с английского как виртуальная частная сеть (virtual private network). По сути это прямое соединение между некоторым количеством компьютеров, которого на самом деле физически просто нет. При помощи VPN можно объединить компьютеры, находящиеся в различных уголках планеты, подобно тому, как соединяются компьютеры в пределах офиса, школы, игрового клуба и т.д. И хотя сеть эта - виртуальная, для ее построения все же необходимо физическое соединение между компьютерами. Обычно в роли несущего соединения выступает Интернет или другая локальная сеть, а связь между всеми компьютерами виртуальной сети осуществляется через один общедоступный компьютер: VPN-сервер. Таким образом, отдыхая на канарах, можно подключиться к локальной сети офиса и представить, что вы снова на своей любимой работе. А можно создать сеть между друзьями и залазить к ним в компьютеры как к себе домой. Если вы - параноик, то можно даже создать зашифрованную частную сеть внутри зашифрованной частной сети внутри вашей домашней сети, чтобы никто не подслушал, о чем вы переписываетесь с сестрой, сидящей в соседней комнате. Но я бы не советовал прибегать к таким крайним мерам просто исходя из соображений здравого смысла.

В последнее время эта технология используется не только для создания виртуальных сетей, но и для предоставления доступа к Интернет через локальную сеть. Мой друг, к примеру, подключен к городской сети. Через эту же городскую сеть он имеет возможность выхода в интернет. Но, чтобы осуществить эту возможность, ему необходимо настроить подключение к VPN серверу. Лично у меня не все так плохо, и я могу пользоваться интернетом без лишних извращений. Но я купил у своего провайдера внешний IP-адрес, и чтобы им воспользоваться, он меня тоже заставляет настроить VPN. Ну, что ж, будем настраивать.

Вот тут хотелось бы внести еще одну ясность: VPN бывают разные. И чтобы подключиться к виртуальной сети, нужно, чтобы у вас было установлено программное обеспечение, позволяющее работать именно по протоколу, используемому в вашем типе VPN. На сегодня, как это не печально, подавляющее число пользователей ПК имеют ОС Windows. Эта операционка по умолчанию поддерживает VPN-подключения по протоколу PPTP, разрабатываемому, естественно, компанией Microsoft и дружественными ей. Поэтому провайдеры заставляют подключаться к интернету именно по протоколу PPTP. Им так проще. И всем так проще. Кроме нас с вами :) Но, это тоже не беда. Добрые люди создали открытые (и бесплатные!) программы для подключения к PPTP-серверу из под Linux.

На сегодня способов подключиться к серверу PPTP существует по крайней мере несколько. В Gnome есть плагин pptp для network manager (network-manager-pptp). В KDE имеется замечательная программка Kvpnc, позволяющая создавать подключения к различным VPN-серверам. Есть также программа pptpconfig, предоставляющая богатый возможностями графический интерфейс для настройки pptp-подключения. Однако, все эти графические оболочки создавали для меня дополнительные трудности и в лучшем случае работали, но не так, как надо. Поэтому я решил пойти на крайние меры и настроить все вручную. Оказалось, это намного проще, быстрее и надежнее. Основным руководством к действиям послужила вот эта инструкция.

Итак, займемся делом! Поскольку все будем настраивать вручную, все действия выполняем в консоли.

1. Устанавливаем клиентскую программу.

Для этого выполняем всего одну команду.

$ sudo apt-get install pptp-linux

2. Создаем общий файл настроек.

В этом файле буду располагаться настройки для всех pptp подключений. Это на тот случай, если вы подключитесь к еще одному провайдеру ;-)

$ sudo sh -c 'echo "lock noauth nobsdcomp nodeflate" > /etc/ppp/options.pptp'

3. Записваем имя пользователя и пароль в отдельный файл.

$ sudo sh -c 'echo "$DOMAIN\\$USERNAME PPTP $PASSWORD *" >> /etc/ppp/chap-secrets'

Здесь $DOMAIN - название домена, в котором расположен ваш аккаунт. $USERNAME - логин, $PASSWORD - пароль соответственно.
Если вы ничего не знаете о домене, просто пропустите его вместе с двумя обратными косыми.

Чтобы всякие злобные вредители не прочитали ваши секреты, убедитесь, что
файл паролей не общедоступен.

$ sudo chmod o-rw /etc/ppp/chap-secrets

4. Создаем файл настроек подключения

$ sudoedit /etc/ppp/peers/$TUNNEL

$TUNNEL - название подключения. Придумайте его сами. Вместо vim можно написать название любого любимого вами текстового редактора.

В файл пишем следующие строки:

pty "pptp $SERVER --nolaunchpppd"
name $DOMAIN\\$USERNAME
remotename PPTP
require-mppe-128
file /etc/ppp/options.pptp
ipparam $TUNNEL

Где $SERVER - это адрес VPN-сервера. Сохраняем файл и приступаем к тестированию.

5. Пробуем!

$ sudo pon $TUNNEL debug dump logfd 2 nodetach

Эта команда запустит подключение в отладочном режиме. nodetach означает, что вся отладочная информация будет выводиться прямо в консоль. Если в конце вы увидите следующие строки

Script /etc/ppp/ip-up started (pid 9658)
Script /etc/ppp/ip-up finished (pid 9658), status = 0x0

это означает, что подключение успешно выполнено. В противном случае попробуйте еще пару раз. Возможно просто произошел какой-то сбой при подключении.

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

$ sudo pon $TUNNEL

Чтобы отключиться:

$ sudo poff $TUNNEL

6. Последние штрихи

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

persist
holdoff 10
maxfail 0

И чтобы соединение запускалось автоматически при загрузке операционной системы, добавим его в файл сетевых интерфейсов /etc/network/interfaces

auto ppp0
iface ppp0 inet ppp
provider $TUNNEL

В идеале все должно сразу же заработать. Однако, жизнь - не такая простая штука, как нам того хотелось бы. Лично у меня возникли проблемы с моим персональным фаирволом, и мне пришлось еще немного попотеть, прежде чем все получилось. А у вас заработало?