Викилоги

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

Из всех искусств для нас важнейшим является кино…

Из всех искусств для нас важнейшим является кино и цирк… ©

Несмотря на победное шествие планшетов, как «специализированных устройств для личного потребления контента», хороший ноутбук практически ни в чем не уступает планшету, более того, имеет немало преимуществ именно в «активном потреблении», где он однозначно выигрывает не только у планшетов, но и [Smart]TV. Эргономически компактный лептоп не менее удобен для чтения и просмотра видео, более того, все больше ноутбуков идет с тачскринами, превращаясь в планшет с удобной подставкой-клавиатурой. В результате, не нужена большая грудь большой удобный живот, чтобы смотреть видео лежа с лептопа, не нужны руки, чтобы смотреть или читать видео сидя, плюс есть удобство клавиатуры для «активности» — т.е. для комментирования и заметок, навигации по видео и переключений на другие приложения[1]. Планшет может выиграть разве что в грустной ситуации типа «стоя в шатающемся забитом вагоне метро», зато с большого домашнего ноутбука[2] можно устроить даже качественный семейный просмотр, даже без подключения к телевизорам-проекторам.

В общем, ноутбук вполне годная штука и для чтения, и для видео. Но для этого, конечно, на нем должна быть правильная, полноценная десктопная система, и мы внимательно следим, чтобы в нашей РОСЕ с этим все было идеально.

Оставив пока за бортом книги-тексты, поговорим именно о видео.

Казалось бы, ну «видео на компьютере», кого этим можно удивить с лохматых 90х, когда вместо дурацких DVD-дисков, видео стало расползаться удобными файлами на самонарезанных золотых CDромах, и постепенно набирающем силу интернете.

Росло разрешение, появлялись более эффективные кодеки упаковки, появлялись новые форматы — с множественными звуковыми, видео и субтитровыми дорожками, пользователи мучались, кололись, но продолжали перебирать разные плееры, скачивать под Win сомнительные «кодек-паки», постоянно ожидая, что что-то может внезапно не проиграться, или потребует установку специального плеера, который, в лучшем случае, будет выносить им мозг регулярными обновлениями.

Поток видео же нарастал, сериалы вышел из низкого жанра «мыльных опер» в настоящие драматические произведения, культурно эквивалентные великим романам доинтернетной эры, а ютубы и прочие vimeo из хранилищ «мелких прикольных видео» стали хранителями курсов лекций и развлекательных передач, обогнав по объему контента телеканалы.

Сейчас на дворе третье тысячелетие, и вроде как странно гордиться, что в нашем дистрибутиве есть наш вполне годный плеер ROMP:

  • всеядный по кодекам;
  • запоминающий для каждого видео текущее положение просмотра, чтобы можно было не гадать — смотрел или нет, и не искать, где зритель заснул;
  • автоматически подкачивающий субтитры из OpenSubtitles.org;
  • где для youtube есть поиск и непосредственное воспроизведение;
  • реализованы простые «видеомонтажные» потребности — вырезать звуковую дорожку и кусок видео, записать скринкаст и т.п.
  • а еще он работает и под WIN, что удобно, если хочется привыкнуть к единому интерфейсу медиаплеера.

Не удержусь, от того, чтобы не процитировать короткий[3] проморолик:


Но это не значит, что мы навязываем «свои велосипеды» — у нас также собирается десяток других медиаплееров. Например, очень популярен VLC[4]. Интерфейс у него не очень дружелюбен, но в нем есть нетривиальные фичи, которые нужны продвинутым пользователям — например, мне часто нужно воспроизведение матрешек с мультивидео потоками.

Он тоже качественно собирается у нас — т.е. с максимально возможными опциями поддержки[5], и с вдумчевым автоматическим и ручным тестированием. Собранную версию VLC мы тестируем на отсутствие багов воспроизведения, отслеживая статистику dropped frames[6], боремся с хитрыми проблемами, типа поддержки многослойных DVD-9, и т.п.

Впрочем, тут наверное многие рассмеются, на тему «поддержки DVD», говоря, что CD-DVD мертвы, BlueRay «не нужен», и 99% всех пользователей смотрит видео из сети, локально-квартирной, из домашней сети провайдера, или из глобального интернета — из бесплатных ютубов или платных нетфликсов. Это тоже совершенно разумно, ибо «контент жиреет», а лептопы «тощают», и в них нет места под оптические накопители, а пока недешевые гигабайты SSD жалко тратить на многосезонные сериалы или многогиговые BDB-рипы — контент должен:

  • хранится на домашних, внутрисетевых или глобальных интернет-сервисах
  • и по мановению ока, как только захочется что-то посмотреть — без предварительных лаого скачивания, немедленно проигрываться в выбранном плеере, ведь cтандартной WiFi g-скорости в 54Mbit вполне достаточно для realtime стриминга даже HD-фильмов.

Казалось бы, очевидные мысли, и все должно работать во всех Linux-дистрибутивах из коробки, ведь в отличие от разных других систем[7] файловые менеджеры Dolphin и Nautilus поддерживают прозрачную навигацию по FTP-хранилищам, и могут вызвать на проигрывание нормальный плеер, например, VLC, который поддерживает FTP-стриминг, с навигацией и все такое. FTP-хранилище сделать проще простого и для дома — простой NAS или современный роутер с поддержкой USB-винчестера[8], такие часто есть в хороших локальных сетях, предоставляющих пользователям больше[9], чем просто канал в глобальный инет, такой очень просто и удобно завести в компании, для хранения обучающих курсов или записей семинаров и совещаний.

Dolphin и FTP-медиатека 01.png

Однако и тут не все просто. Например, это не работает в Убунте[10]! Дело в том, что в KDE-based дистрибутивах, Dolphin напрямую передает MRL-адрес видео в правильный плеер (например, для определенности будем считать VLC), а в GNOME, все это, как обычно, навороченно и вроде как по-уму, но не работает. Там используется GVFS-проксирование, что, в общем, круто и правильно, только для FTP оно не работает чуть более, чем полностью — куча багов, которые не правятся годами. В результате, получается «собака на сене» — хотя какой-нибудь VLC может воспроизводить FTP-адреса, а Nautilus прекрасно броузит FTP-хранилища, так, чтобы FTP-стриминг заработал — не выходит[11].

Поэтому мы провели доработку самого Nautilus-а, и у нас, он передает FTP-урлы напрямую в VLC!

Xkcd-supported-features.png

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

Увы, во всех GNOME-derived[12] дистрибутивах[13], есть неприятный баг с воспроизведением флеш-видео на полном экране. Выглядит это так, что при открытии флеш-видео в полноэкранном режиме, видео иногда зависает. На самом деле, это баг Mutter-а, стандартного оконного менеджера GNOME, который для полноэкранного воспроизведения открывал отдельное невидимое[14] окно, но где-то внизу остальных окон.

Мы бились и с этим багом, и, победили и его[15]!


Ну и наконец, возможно у некоторых читателей сложилось впечатление, что «все эти ваши линуксы — для халявщиков, скачивающих видео», а честному человеку, оплатившему абонемент в какой-нибудь сетевой кинотеатр — Netflix, Hulu, или наш ivi.ru, линукс противопоказан.

DRM-unsupported-for-linux.png

В этом, увы, есть некоторая правда. Дело в том, что DRM-технология воспроизведения «закрытого контента» действительно не поддерживается в большинстве Linux-дистрибутивов. Вернее так — единственная подсистема-сервис, необходимая для DRM в Linux, это HAL, Hardware Abstraction Layer, который параллельно занимался много чем, но делал это не очень, в результате чего практически во всех дистрибутивах он уже как пару лет был заменен на udev, и linux-пользователи стоят перед выбором — либо без HAL, но и без DRM-видео, либо поддержка DRM через HAL, но тогда жуткие конфликты HAL с udev, в борьбе за устройства — могут отваливаться даже USBшные мыши, в логах тонны жалоб, в общем — не жизнь. Все это даже несколько напоминает ситуацию с взбесившимся HAL-ом в «Космической одиссее-2001», если кто помнит эту нестареющую классику.

Но мы идем на все, чтобы помочь нашему пользователю — бригада наших системщиков-нейрохирургов провели лоботомию для HAL, в результате чего у нас он забыл про все оборудование, и занимается исключительно поддержкой DRM-видео. В таком безопасно-кастрированном видео он входит в наши KDE и GNOME дистрибутивы[16], так что DRM-видео будет работать из коробки.

Отдельная проблема, это что механизм DRM удален из браузера Chrome (а именно из Flash старше 11.4). Кто тут виноват — Adobe или Google — неизвестно. Но первые похоже решили что Linux не про них, вторые же так и сделали нормальный DRM механизм на основе HTML5 (точнее он есть для Android, там то фильмы проигрываются безо всякого flash, но вот «запилить» его для Linux Google явно не судьба). Но в Fresh, со стандартным Firefox или установленным из наших репозиториев Chromium — все работает, и мы тестировали наши дистрибутивы и на ivi.ru, на play.google.com, и на HuLu[17]. Единственное, не удалось попробовать Netflix — стандартные методы обмана не сработали, а пробрасывать VPN + заводить виртуальные американские банковские карты было влом не было времени. Так что если вдруг, кто-то из читателей и пользователей нашего Fresh, является Netflix-юзером — скажите, все ли там работает? Нам очень интересно.

Смотрим DRM-защищенное видео в Youtube
Смотрим DRM-защищенное видео в Google Play
DRM-видео с ivi.ru на ROSA Fresh GNOME.png

Ох, поздравляем, что вы осилили многобукв этого краткого[18] обзора видеопроблем и решений, и это убедит вас, что если вы, или ваши родные или знакомые любите смотреть видео с вашего десктопа или лептопа — наш дистрибутив отлично для этого подходит, ибо мы внимательно следим за этой темой, ибо мы сами постоянно смотр тестируем видео- мульт- и анимесериалы, и при обнаружении малейших проблем — чиним.

Надеюсь, эта новость вас…

Ввела в экстаз ^_^76
57%
Порадовала :)47
35%
Оставила равнодушным -_-5
4%
Огорчила :(5
4%
  1. В режиме обучения например, удобно смотреть блоками, повторять, гуглить непонятное, и переключаясь в текстовый процессор/майндмаппер — конспектировать.
  2. Например, у меня в семье три штуки 19" HP dv8t, разбросанных по разным комнатам — видео-игро-развлекательные терминалы
  3. Он короткий, но так много сил было затрачено, чтобы его снять… так что посмотрите обязательно!
  4. Даже за пределами Linux-мира, в Windows-мире, и даже я видел гламурных девушек с Mac-ами, смотрящих видео в VLC
  5. --enable-dv и т.п., например, ибо я встречал известные линукс-дистрибутивы, где например, VLC был собран без поддержки DV- и MTS- видео, что грустно тем, кто например, занимается домашним видеомонтажом
  6. CTRL-J, вкладка «Statistics»
  7. Это очень непросто сделать в Win, требуется дополнительно платный Webdrive, и все равно «будет глючить и тормозить©».
  8. Часто еще со встроенной торрентокачалкой с вебинтерфейсом, так что если нужно что-то редкое → можно быстро найти в удобном каталоге, оставить выкачиваться, и дальше — все снова под рукой.
  9. В большинстве внутридомовых сетей есть общедоступные медиаресурсы — файловые сервера с наиболее популярными сериалами, фильмами (включая HD/BDrip), образовательными медиа, мультфильмами. По крайней мере, я наблюдал это в нескольких московских и казанских сетях. Локальным провайдерам держать такой медиакеш, несмотря на все затраты — выгодно. Ибо иначе пользователи будут доставать все тоже самое торрентами, что увеличивает траффик (для провайдеров он таки платный), и нагрузку на железки (число соединений).
  10. Не говоря уже о ВСЕХ других GNOME-derived дистрибутивах
  11. Когда я пользовался Ubuntu, то впиливал хак с пользовательским дополнительным меню. Впрочем, этот сценарий еще более-менее поддерживает Totem — официальный плеер для GNOME, но поддерживал он с помощью грязного хака — внутри, он переделывал присланные локальные gvfs-урлы, восстанавливая из них оригинальные FTP-урлы — впиливать такой хак во ВСЕ возможные пользовательские плееры, было бы совершенно неправильно.
  12. Например [1], но даже и в Ubuntu → [2].
  13. Наблюдается даже в родной для GNOME Fedora
  14. С точки зрения переключения по Alt-Tab
  15. Если это не так — жалуйтесь нам в Bugzilla и форуме, но мы тестировали на всех видеосервисах, которые смогли вспомнить, вроде все было ОК
  16. В LXDE, где максимальный фокус на минимализме и облегченности он не включен, но можно, при необходимости поставить
    • Устанавливаем hal из репозитория contrib (далее все команды от root):
    urpmi hal
    • Убеждаемся что демон запущен через /etc/init.d/haldaemon status. Если демон не запущен, то делаем это командой
    /etc/init.d/haldaemon start
  17. Требуются некоторые приседания, чтобы обмануть сервис, и он думал, что вы не из России
  18. На самом деле, я очень пытался быть кратким, но видимо, опять не удалось

«Не заставляйте меня помнить!» — Свобода пользовательским паролям

В воображаемом мире нефункциональных требований «безопасность» всегда ведет смертельный бой с «юзабилити», или говоря простыми словами — попытки сделать удобно создают уязвимости, а перестраховка от возможных дыр может сделать продукт совершенно негодным.

Иногда возможны компромиcсы, но в случае конфликтов, мы всегда на стороне наших пользователей. Fresh — дистрибутив для домашних пользователей, и он не должен изображать из себя SELinux[1].

Реальные риски, от которых защищаются домашние пользователи:

  • другой член семьи не посмотрит историю в броузере,
  • если аккаунт детский, то возможно там установлен родительский надзор (SkyDNS и т.п.).

Реальная атака, если sshd не установлен (по умолчанию — нет) — ручной перебор, от чего эффективно защитит и пароль из пары-тройки символов[2]. Защита рутового аккаунта — только от «дурака» или потенциальных троянов.

В Fresh GNOME, и во всех других дистрибутивах, выросших из Mandriva, была проблема, архитектурно связанная в использованием библиотеки pam_tcb.so и жестких проверок cracklib, а выглядело это так, что у пользователя

  • требовалась адова секьюрность пароля (длина, наличие цифр и букв и т.п.)
  • при смене обычным пользователем своего пароля, требовалось вводить дополнительно root-овый пароль — что либо выглядело издевательством[3], либо профанацией[4] безопасности.
Xkcd password strength.png



Good news, everyone!

Мы сменили pam_tcb на на pam_unix, что дало возможность и

  • Улучшить удобство — теперь можно делать пользователям любые пароли, система только будет оценивать его относительную сложность, и рекомендовать усиление. Но если рисков реально нет — нетбук для ребенка, с играми — то можно обойтись и без пароля, и поставить даже пустой пароль.
  • Усилить безопасность — теперь в pam используется sha512, до этого там был вовсе bluefish.

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

Кстати, может активно приучать «обычных пользователей» к сетевой безопасности, и добавить букмарклет «SuperGenPass» в Firefox по умолчанию?

Идея добавлять букмарклет «SuperGenPass» в Firefox по умолчанию?

Отличная7
47%
Хорошая5
33%
Плохая (поясню почему)3
20%
Xkcd password reuse.png


Надеюсь, эта новость вас…

Ввела в экстаз ^_^3
21%
Порадовала :)6
43%
Оставила равнодушным -_-1
7%
Огорчила :(4
29%
  1. Хотя это сравнение несколько некорректно, мы на самом деле даже размышляем, не собирать ли Fresh с поддержкой (по-умолчанию отключенного) SELinux, что бы тем, кому нужна именно безопасность, могли ее быстро включить.
  2. Да и при sshd и автоматических переборах штрафные таймауты защитят даже при «пинкодовом» пароле
  3. Немедленно вспоминается классика:
    • «Sorry, your password has been in use for 30 days and has expired — you must register a new one.»
      • roses
    • «Sorry, too few characters.»
      • pretty roses
    • «Sorry, you must use at least one numerical character.»
      • 1 pretty rose
    • «Sorry, you cannot use blank spaces.»
      • 1prettyrose
    • «Sorry, you must use at least 10 different characters.»
      • 1fuckingprettyrose
    • «Sorry, you must use at least one upper case character.»
      • 1FUCKINGprettyrose
    • «Sorry, you cannot use more than one upper case character consecutively.»
      • 1FuckingPrettyRose
    • «Sorry, you must use no fewer than 20 total characters.»
      • 1FuckingPrettyRoseShovedUpYourAssIfYouDon’tGiveMeAccessRightFuckingNow!
    • «Sorry, you cannot use punctuation.»
      • 1FuckingPrettyRoseShovedUpYourAssIfYouDontGiveMeAccessRightFuckingNow
    • «Sorry, that password is already in use.»
  4. Если каждый чих требует рутового пароля — значит этот пароль будет известен всем.

Mib-report - еще одна утилита в помощь мэйнтейнерам


Вот уже несколько месяцев мы используем Updates Builder для автоматического обновления пакетов в наших репозиториях. Инструмент неплохо справляется со своей задачей и количество обновленных с помощью него пакетов исчисляется сотнями. Однако практика показала, что одно из узких мест автоматического обновления — это не сам инструментарий, а передаваемая ему на вход информация. Дело в том, что Updates Builder собирает новые версии пакетов на основе данных, получаемых от Upstream Tracker'а. Тот, в свою очередь, проводит мониторинг апстрим-проектов на основе ссылок на исходный код, содержащихся в spec-файлах пакетов RPM. Но эти ссылки часто отсутствуют, а если они и есть, то не всегда актуальны — ведь обычным пользователям такая информация не нужна, при сборке пакетов на ABF она тоже не используется, и поэтому мэйнтейнеры не уделяют ей большого внимания. Как следствие, пробелов в колонке «Available in Upstream» на страничке ROSA Updates Tracker хватает.

Но помимо мониторинга апстрима, можно подглядывать и на репозитории других дистрибутивов. И здесь на помощь приходит утилита mib-report, изначально созданная нашими друзьями из группы Mandriva International Backports. Эта утилита сравнивает версии пакетов в разрабатываемых репозиториях 11 дистрибутивов:

  • Rosa Desktop Fresh
  • OpenMandriva Cooker
  • Mageia Cauldron
  • Fedora Rawhide (с учетом RpmFusion)
  • PCLinuxOS
  • Alt Linux Sisyphus
  • OpenSUSE Factory
  • PLD
  • Gentoo
  • Debian
  • Ubuntu

При этом mib-report не просто сравнивает версии пакетов, но для RPM-based дистрибутивов выдает ссылки на Source RPM пакет:

$ mib-report --search firefox
Searching for package firefox…
Rosa: 25.0
http://abf-downloads.rosalinux.ru/rosa2012.1/repository/SRPMS/main/updates/firefox-25.0-1.src.rpm
Cooker: 25.0.1
http://abf-downloads.rosalinux.ru/cooker/repository/SRPMS/main/release/firefox-25.0.1-1.src.rpm
Mageia: 24.1.0
http://distrib-coffee.ipsl.jussieu.fr/pub/linux/Mageia/distrib/cauldron/SRPMS/core/release/firefox-24.1.0-1.mga4.src.rpm
Fedora: 25.0
http://mirror.yandex.ru/fedora/linux/development/rawhide/source/SRPMS/f/firefox-25.0-3.fc21.src.rpm
PCLinuxOS: 25.0
http://distrib-coffee.ipsl.jussieu.fr/pub/linux/pclinuxos/pclinuxos/srpms/SRPMS.pclos/firefox-25.0-1pclos2013.src.rpm
Sisyphus: 25.0
http://mirror.yandex.ru/altlinux/Sisyphus/files/SRPMS/firefox-25.0-alt1.src.rpm
Gentoo: 25.0
http://packages.gentoo.org/package/firefox
Ubuntu: 25.0
http://packages.ubuntu.com/firefox
Homepage URL:
http://www.mozilla.com/firefox/

А внутри SRPM-пакетов можно найти и архив с исходным кодом! Так что даже если мы не можем автоматически найти самую свежую версию программы в апстриме, мы можем «подсмотреть», что имеется в других дистрибутивах. И если у них есть версия новее — то можно взять SRPM-пакет и вытащить из него тарболлы с новым исходным кодом. Заодно обновить URL в нашем пакете, чтобы в следующий раз уже не лазить к соседу.

Именно такую возможность мы и внедряем сейчас в наш инструментарий автоматического обновления пакетов — теперь он будет учитывать не только информацию от Upstream Tracker, но и данные от mib-report. Хотелось бы подчеркнуть, что из SRPM-пакетов других дистрибутивов мы извлекаем только архивы с исходным кодом, а ни в коем случае не патчи (поскольку без вмешательства человека сложно понять, актуален ли патч для нас или нет) и не spec-файлы (поскольку у нас есть все основания считать, что наши spec-файлы — одни из самых простых и понятных, и нет нужды загромождать их монструозными конструкциями, используемыми во многих других дистрибутивах).

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


Надеюсь, эта новость вас…

Ввела в экстаз ^_^10
91%
Порадовала :)1
9%
Оставила равнодушным -_-0
0%
Огорчила :(0
0%

Управление e-mail подписками на блоги и комментарии