Журнал LinuxFormat - перейти на главную

LXF111:Ответы

Материал из Linuxformat
Перейти к: навигация, поиск

Содержание

Ответы

Есть вопрос по Open Source? Пишите нам по адресу: answers@linuxformat.ru!

1 Кино для Eee

В Я в восторге от моего Eee, и я с большим интересом читаю ваши учебники. Хотелось бы смотреть на Eee DVD-фильмы во время поездок. Можно, конечно, купить внешний DVD-привод, но тогда пропадет ультрапортативность, поэтому хотелось бы записывать фильмы на SD-карты. Обязательно ли использовать 4-гигабайтную карту для каждого фильма, или фильмы можно перекодировать, уменьшив размер? Пол Джеффрис [Paul Jeffries]

О Обычно это делается так: фильм с DVD копируется в видеофайл, который можно записать на SD и смотреть на Eee с помощью SMPlayer. Единственный минус – вы теряете DVD-удобства (субтитры, меню, дополнительные звуковые дорожки и пр.). Препарировать DVD можно и на самом Eee, подключив внешний DVD-привод, но перекодирование видео такого формата круто грузит процессор и память, и может занять очень много времени. Лучше выполнить эту работу на более мощном ПК или ноутбуке.

Есть много программ для преобразования DVD в видеофайл; одна из лучших – DVD Rip, и она почти наверняка найдется в репозиториях вашего дистрибутива. Программа обвешана массой параметров, но большинство из них можно оставить по умолчанию. Главное – выбрать формат и битрейт для будущего видеофайла. С форматом все ясно: берите Xvid, он дает высокое качество при малом размере файлов и низкой ресурсоемкости. Битрейт определяет размер файла и качество воспроизводимой картинки. Чем меньше битрейт, тем меньше размер файла и хуже качество. DVD Rip может предложить вам указать битрейт и сообщит размер получаемого файла, либо сам назначит битрейт, исходя из объема свободного пространства, которым вы располагаете.

Хотя графический интерфейс DVD Rip весьма удобен, при обработке нескольких DVD суетиться с мышью уже не столь приятно. На помощь придет командная строка. Mencoder, входящий в комплект MPlayer, кодирует все, что MPlayer способен воспроизводить, включая DVD. Параметров у Mencoder так много, что его man-страница едва ли не рекордсмен по длине. Для установки параметров проще будет воспользоваться графическим интерфейсом AcidRip (http://untrepid.com/acidrip) и вызывать Mencoder автоматически. Закончив настройку, нажмите кнопку Export в панели Queue [Очередь], и начнется генерация скрипта acidrip.sh для вызова Mencoder с готовыми параметрами. Этот сценарий можно использовать повторно для каждого нового DVD, меняя только номер дорожки и имя выходного файла. Номер дорожки дается после dvd:// при каждом вызове Mencoder. А можно отредактировать скрипт, чтобы номер дорожки и имя выходного файла указывались в качестве аргументов. Замените каждое вхождение номера дорожки (одно на проход, кстати, Mencoder работает лучше с двумя проходами) на $1, а имя выходного файла – на $2. Теперь скрипт можно запускать командой

sh acidrip.sh 1 mydvd.avi

$1 заменится на первый аргумент после имени скрипта, а $2 – на второй, и первая дорожка mydvd.avi будет скопирована в текущий каталог. Теперь можно копировать видео на SD-карту и смотреть где угодно. МС

2 Пересылка почты

В Статья Энди Ченнела в августовском номере (LXF108) порадовала меня: часто приходится работать с почтой в отъезде. У меня есть смартфон с Windows Mobile, на который я получаю почту. Работает хорошо, но маленький экран и убогая клавиатура меня уже достали. Я заказал Eee PC 901 с Linux и надеюсь, что вскоре работа с мобильной связью станет для меня более комфортной.

Но как настроить мобильную почту на моем будущем Eee? У меня есть общеизвестный почтовый адрес bob@bob.net, но я не хочу перетаскивать все контакты на какой-нибудь bob3876@googlemail, я хочу сохранить свой bob.net. С какой стати мне его забросить и пользоваться стандартным Gmail/Yahoo/AOL-ящиком? Сейчас мой смартфон оставляет копии сообщений на сервере, и я могу снова прочесть их, вернувшись домой. Мне надо сохранить эту возможность, но еще лучше было бы иметь две синхронизированных копии почты: на Eee и на домашнем ПК. Очень бы не хотелось, чтобы одна часть сообщений оказалась только на настольном компьютере, а другая – только на Eee. Можно ли добиться этого с помощью IMAP? Еще хотелось бы, когда Eee нет с собой, получать доступ к своей почте с другого компьютера через web-почтовик. Возможна ли синхронизация всех почтовых клиентов – домашнего, мобильного и web? И нельзя ли сделать так, чтобы мои письма, откуда бы они ни были отправлены, приходили к адресатам от bob@bob.net? Или я слишком много хочу? Питер Брогден [Peter Brogden]

О Конечно же, IMAP все это умеет. В отличие от POP, задуманного просто для перекидывания сообщений с почтового ящика провайдера на ваш компьютер, IMAP – протокол непосредственной работы с удаленным почтовым сервером (хотя он может и сохранять локальные копии на случай, если вы окажетесь вне сети). С IMAP вопроса о сохранении сообщений на сервере просто нет: они именно там и находятся, и доступны для чтения откуда угодно. Единственный способ удаления сообщений – команда с клиентского компьютера. Вопрос о синхронизации тоже отпадает: все компьютеры «держат» IMAP-сервер за общее хранилище данных и обращаются с ним одинаково.

Как упоминал Энди в своей статье, единственный недостаток IMAP в сочетании с ящиком провайдера – ограничение объема хранилища, плюс морока со сменой электронных адресов при переходе к другому провайдеру.

Последней неприятности можно избежать, обзаведясь собственным доменным именем (сейчас это не так уж дорого). Один из способов снятия ограничений объема – настройка собственного IMAP-сервера, при наличии постоянного подключения к Интернету и круглосуточно работающего компьютера. Все это мы подробно объясняли в LXF99, но – вкратце: вам нужно установить Fetchmail и Procmail, чтобы получать почту от провайдера через POP, и настроить их созданием файла .fetchmailrc

set daemon 300
poll mail.myisp.com with proto POP3
user ‘myispuser’ there with password ‘mypass’ is ‘myuser’ here options keep mda ‘/usr/bin/procmail -d %T’

Настройте Procmail на доставку почты, поместив в ~/.procmailrc вот это:

MAILDIR=/var/spool/mail
DEFAULT=$MAILDIR/$LOGNAME/

и поставьте файл в автозагрузку с помощью ~/.kde/Autostart, менеджера сеансов Gnome или того, что предусмотрено у вас – почта будет загружаться с ящика провайдера и храниться локально (за это отвечает параметр keep). Теперь нужен IMAP-сервер вроде Dovecot. Установите его и отредактируйте /etc/dovecot.conf заменой строк

#listen= [::]
#mail_location =

на

listen = *
mail_location = /var/spool/mail/%u

С помощью менеджера служб установите запуск Dovecot при загрузке и проверьте работу, настроив почтовый клиент на подключение к localhost. Когда все заработает, у вас может возникнуть необходимость удаленного подключения к своей машине. Чтобы обойти динамическое распределение адресов провайдером, зарегистрируйте доменное имя на http://dyndns.org. Осталось настроить маршрутизатор на работу с портами 143 и 993 (143 – стандартный IMAP, 993 – безопасный IMAP). НБ

3 Начнем с начала

В Я сам собрал компьютер и установил Ubuntu. Но что бы я ни делал, войти в систему не могу. Не могли бы вы подсказать мне, как отформатировать винчестер Maxtor SATA? Я хотел бы начать с нуля и организовать два раздела – один под Vista, другой под Linux. Пробовал изучать команды командной строки, да они какие-то непонятные. Я хочу полностью отформатировать диск и установить обе системы заново. Пробовал команды оболочки, но безуспешно. Гленн Стеррит [Glenn Sterritt]

О И Vista, и Ubuntu обладают средствами для полного форматирования жесткого диска перед установкой. Vista или другую Windows следует устанавливать первой, так как Ubuntu опознает Windows-систему и включает ее в меню загрузки. Vista же бесцеремонно перезапишет любую «соседку». Можно установить Windows и отдать ей весь диск. Затем, запустив установщик Ubuntu, предоставить ему урезать владения Windows и выделить место под Ubuntu. Но вмешательства в файловую систему Windows можно избежать. Лучше загрузиться с установочного диска Ubuntu и выбрать вариант Try Ubuntu Without Making Any Change To Your Computer [Попробовать Ubuntu без внесения изменений в компьютер]. Затем запустите System > Administration > Partition Editor [Система > Администрирование > Редактор разделов] и удалите все разделы, затем создайте один раздел в начале диска, под Windows. Установите для него любой размер, а остаток диска оставьте пустым. Не пытайтесь создать Linux-раздел. Нажмите кнопку Apply [Применить], и пусть этим занимается редактор разделов.

Теперь перезагрузитесь, замените диски и установите Windows в только что размеченный раздел (Windows видит его как C:). Как только Windows установится и заработает, перезагрузитесь с диска Ubuntu и снова выберите вариант работы без изменений для компьютера, но на этот раз запустите установку, щелкнув значок Install [Установить] на рабочем столе. Пускай установка продолжается в свободный раздел, который вы создали прежде (это стандартное поведение инсталлятора), только прикажите создать отдельный /home. По окончании работы установщика перезагрузитесь, и вы увидите меню загрузки с выбором между Windows и Linux.

Все это можно сделать из командной строки, причем гораздо быстрее. Но все графические инструменты на установочном диске есть, и вам незачем изучать всякие «непонятные» команды. Не так уж они и непонятны, просто нужно к ним попривыкнуть. А графические инструменты именно для того и придумали, чтобы нам с вами было удобнее… ГМ

4 Почтовые агенты

В Я сейчас разбираюсь с устройством почтового сервера Linux. Я знаю, что агент передачи почты (mail transfer agent, MTA) – это программа вроде Sendmail или Postfix, которая реально осуществляет отправку, получение и т.п. Знаю, как работают обычные почтовые клиенты типа Evolution. Но я хочу уяснить, как именно работает агент доставки, например, Procmail. Обязательно ли устанавливать его на моей машине? Jellyman_4eva, из форумов

О Когда кто-нибудь отправляет письмо на ваш адрес, MTA дает разрешение на подключение удаленному серверу и получает сообщение. Аналогично работает обратная операция: когда вы отправляете через него почту, агент находит первый сервер в цепочке и передает ему сообщение. Получив письмо, MTA, как правило, доставляет его в ваш почтовый ящик. Многие агенты делают это самостоятельно, особенно в простом случае добавления почты в почтовый ящик локального пользователя. Но чаще этим занимаются отдельные агенты доставки (delivery agent, MDA). Как видите, без MDA можно обойтись, но лучше этого не делать, по нескольким причинам. MDA типа Procmail может быть очень полезен – ведь он умеет обрабатывать сообщения, прежде чем предъявлять их вам: например, отбрасывать громоздкие приписки сообщений списков рассылки или раскладывать письма по отдельным почтовым ящикам. Procmail способен также управиться с сообщениями об отсутствии (делайте это после фильтрования списков рассылки, иначе, вернувшись из отпуска, обнаружите себя выкинутым из какой-нибудь рассылки за нарушение регламента). И все это делается еще до доставки почты пользователю.

Еще одна причина, по которой стоит обратить внимание на программы вроде Procmail – наряду с глобальными правилами в /etc/procmailrc, каждый пользователь может установить собственные правила в .procmailrc своего домашнего каталога. На многопользовательской системе это дает каждому пользователю больше свободы. Если вы захотите перенаправлять сообщения на адрес Gmail ва время отсутствия, для этого достаточно составить несложное правило.

Возможен и такой вариант, когда MTA передает почту другим программам, не MDA (например, антивирусу или спам-фильтру), и только потом в игру вступает MDA. В таком случае сообщение поступает от MTA на фильтр спама, на антивирусную проверку, к MDA, и только потом попадает в почтовый ящик пользователя. Для сбора и чтения сообщений через POP3 или IMAP нужна еще одна программа, которая извлекает письма из почтового ящика, доставленные туда MDA. НБ

5 В поисках сканера

В Я установил Ubuntu 8.04 на Dell Vostro 1500. Если подключаю свой старый сканер Snapscan E50, XSane видит его, но выдает такое сообщение:

Error: “Failed to open device ‘snapscan
 libusb:003:006’: Invalid argument.”

Однако, если я подключаю сканер к ПК с Windows, а затем возвращаю обратно в Dell, XSane включается и работает безупречно. Стоит выключить питание сканера – проблема возникает опять. Вот мне и приходится всякий раз переставлять USB-кабель из настольного компьютера в ноутбук, чтобы сканер заработал. Чего не хватает моей Ubuntu-машине? Петер Калебка [Peter Kalebka]

О Если устройство работает только после подключения к Windows, можно быть уверенным: для него необходима подгрузка прошивки [firmware]. Во многие устройства, особенно коммуникационные, прошит не весь необходимый программный код. Некоторая – возможно, большая – часть кода содержится в firmware-файле, который подгружается драйвером при первом включении устройства, прошивка же содержит лишь то, что необходимо для получения и использования подгруженного кода, который остается в устройстве до тех пор, пока не будет выключено питание. Поэтому, когда вы переносите сканер от компьютера к ноутбуку, не выключая питание, он продолжает работать. Зачем изготовители делают это? А так для них дешевле и удобнее. Можно иметь несколько вариантов прошивки для соблюдения законов и правил разных стран (вместо разработки специальных модификаций оборудования). Особенно широко это применяется на устройствах для беспроводных сетей, ведь в каждой стране свои ограничения по мощности, частотным диапазонам и пр. Обновление тоже упрощается, ведь достаточно заменить только драйвер. Для пользователей Windows проблем нет: все контролируется драйвером, при обновлении драйвера автоматически устанавливается и новое firmware.

Почти так же дело обстоит и на Linux – главное, знать про необходимость firmware-файла. Подробно об этом можно прочесть на http://snapscan.sourceforge.net, но если коротко, то вам нужен файл snape50.bin, установленный в Windows-разделе. Скопируйте его куда-нибудь в Linux-систему (/lib/firmware – по умолчанию) и отредактируйте /etc/sane.d/snapscan.conf, добавив строчку

firmware /lib/firmware/snape50.bin

Для этого понадобится отдать команду sudo, а путь в snapscan.conf должен соответствовать реальному местоположению файла. Теперь драйвер Sane будет знать о файле firmware и подгружать его, устранив еще одну зависимость от Windows. Если вы установите и обновите драйвер на Windows, можно скопировать новый firmware-файл. Но если старый нормально работает, можно и не копировать... НБ

6 Беспроводной ребус

В Как заставить мой маршрутизатор D-Link (DSL-2640B) и адаптер D-Link (DWL-111) работать под Linux (OpenSUSE 10.3)? Cомневаюсь, что сопроводительная документация к Windows может помочь. Дело в том, что, если я изменю настройки, все это больше не будет работать на Windows. А еще: что должно быть совместимо с Linux – маршрутизатор или адаптер? Йоханнес Ланг [Johannes Lang]

О Маршрутизатор подключается к Интернету, поэтому его настройки трогать нельзя, на любой операционной системе или компьютере. А вот адаптер соединяет компьютер с маршрутизатором, и поэтому должен иметь подходящий драйвер для работы с Linux. К сожалению, номера модели недостаточно, чтобы порекомендовать подходящий драйвер для вашей карты: изготовители имеют привычку менять установленные внутри чипсеты, оставляя прежнюю нумерацию. Я сам поймался однажды, купив USB-адаптер D-Link вроде вашего: они поддерживались драйвером Linux prism, а оказалось, что недавно произошел переход на новый, неподдерживаемый чипсет.

На случай, если для вашего чипсета не найдется Linux-драйвера, есть обходной путь, но сначала попробуйте найти родное решение. Весьма вероятно, что в вашей карте стоит чипсет Ralink RT73. OpenSUSE 10.3 включает драйвер для таких чипсетов, но не устанавливает его по умолчанию. Перейдите в раздел Управление ПО [Software Management] Yast и установите rt2x00-kmp-default. Теперь включите сетевой адаптер и перейдите в раздел Информация об устройствах [Hardware Information] Yast, там же. Если ваше устройство появилось в разделе Сетевые карты [Network Card], переходите в раздел сетевых карт и приступайте к настройке. Если устройства нет, отключите его от компьютера, откройте терминал и наберите:

 su
tail -f /var/log/messages

Подключите адаптер и понаблюдайте за выводом, проносящимся на терминале (Ctrl+C остановит вывод). Запустите

 modprobe rt73usb

и если не получите ответа – значит, установлен «правильный» драйвер. Переходите в раздел сетевых карт Yast и настраивайте подключение. Возможно, понадобится указать модуль драйвера (rt73usb).

Если все оказалось напрасно, есть возможность использования Windows-драйверов, с помощью пакета под названием NdisWrapper. Это эмуляция интерфейса сетевых драйверов Windows. Установите пакет с помощью Yast. Поройтесь в CD из комплекта адаптера и найдите там файл с расширением .inf, затем в терминале (он ведь еще открыт) наберите

 ndiswrapper -i /путь/к/driver.inf
 modprobe ndiswrapper

Первая команда установит драйвер туда, где он обнаруживается NdisWrapper; вторая загрузит модуль NdisWrapper и, если все прошло гладко, обойдется без сообщений. Теперь создавайте интерфейс в Yast с помощью кнопки Добавить [Add], устанавливайте Тип устройства [Device Type] на Беспроводное [Wireless], в качестве Имя модуля [Module Name] укажите NdisWrapper, оставив все остальное без изменений, и продолжайте обычный процесс настройки. НБ

Персональные инструменты
купить
подписаться
Яндекс.Метрика