Блог:Точка Росы — различия между версиями

Материал из Rosalab Wiki
Перейти к: навигация, поиск
м
м
Строка 1: Строка 1:
 +
[[File:rosa-point-logo.png|256px|right]]
 +
 
Блог с постами технической направленности, чтобы погордиться сделанной работой, и поделиться результатами исследований, сделанными в текущей рутине.
 
Блог с постами технической направленности, чтобы погордиться сделанной работой, и поделиться результатами исследований, сделанными в текущей рутине.
  

Версия 16:56, 10 апреля 2015

Rosa-point-logo.png

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

Если вы умеете пользоваться RSS/Atom агрегаторами — подписывайтесь!. По любым возникающим вопросам можно писать сюда.

Весь контент данного блога распространяется на условиях Creative Commons Attribution-ShareAlike 3.0 License (CC-BY-SA)

База данных поддерживаемого оборудования

Idea.png
Примечание
С сентября 2016 года стала доступна обновленная версия базы оборудования.

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

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

Для упрощения процесса взаимодействия с пользователями мы разработали инструмент hw-probe. Инструмент предназначен для сбора на компьютере пользователя всей необходимой информации для анализа и отладки его проблемы. При этом от пользователя требуется выполнить всего лишь одну команду:

   hw-probe -all -upload

Создать пробу можно как на установленной системе, так и из Live-режима. Перед вызовом команды желательно подключить максимальное количество периферийных устройств, чтобы они также были проанализированы, и обновить соответствующий пакет:

   sudo urpmi.update -a
   sudo urpmi hw-probe
Idea.png
Примечание
Теперь пробу оборудования компьютера можно сделать еще проще, кликнув на иконку "Проба оборудования" в стартовом меню SimpleWelcome.

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

Пакет hw-probe является базовым для дистрибутива РОСА Desktop Fresh R4 (и всех будущих версий). Обязательно обновите этот пакет перед использованием, чтобы загрузить в базу наиболее полные результаты тестов. Пользователям других версий ОС РОСА или других дистрибутивов необходимо следовать этим инструкциям.

На основе всех собранных проб оборудования пользователей, а также статического анализа драйверов ядра автоматически создается база данных поддерживаемого оборудования. Ознакомиться с базой данных можно на сайте hw.rosalinux.ru/. В ней можно, например, посмотреть список всех протестированных видеокарт или список всех WiFi-карт, поддержка которых заявлена ядром. Также можно посмотреть список и классификацию всех протестированных моделей компьютеров. Для классификации устройств мы используем ядерную классификацию соответствующих драйверов. Для PCI и USB устойств дополнительно используется более тонкая классификация по идентификатору класса устройства.

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

Как вам наши темы для GNOME? Видеоопрос

Question-button.png

Новый[1] жанр — микровидеообзор (пара минут) с опросом.

А именно, мы хотели бы оценить нравится ли вам наша гномовская тема, вернее темы (тема shell, тема gtk+, тема оформления окон) — если вдруг вопросы непонятны — посмотрите ролик.

Дело в том, что и у нас внутри нет единого мнения, и нужно обоснование — поддерживать ли нашу собственную тему для GNOME. Мир GNOME SHELL непрост, с каждой новой версией куча всего отваливается и требует допиливания[2]


Какая SHELL-тема для GNOME SHELL лучше?

  •  Adwaita
  •  Rosa-elementary
  •  Другая (ну напишите в комменты…)

Какая GTK+-тема для GNOME лучше?

  •  Adwaita
  •  Rosa-elementary
  •  Другая (ну напишите в комменты…)

Какая тема оформления окон в GNOME лучше?

  •  Adwaita
  •  Rosa-elementary
  •  Другая (ну напишите в комменты…)


Заранее спасибо!

А для тех, кто не устал голосовать — последний аккорд:

Такой формат видео обзоров/анонсов от сотрудников…

  •  Супер!
  •  ОК, буду смотреть
  •  Ну, может посмотрю
  •  «Нинужно…»
  1. На самом деле мы уже опробовали на нашем VK, но в других соцсетях нормальных опросов вообще не сделать, и не все пользуюся соцсетями, и вовсе несколько опросов в одном месте — удобней
  2. Если взять свежий GNOME, то на него не натягиваются 99% тем с gnome-look.org, отлаживают там только стандартную Adwaita.

ROSA Fresh Desktop R4

Представляем вам ROSA Desktop Fresh KDE R4 — дистрибутив семейства ROSA Desktop Fresh с рабочим столом KDE.

.png

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

В репозиториях пользователей ждет большая коллекция игр и эмуляторов, можно установить Steam, и привычный софт для текстовой и видеокоммуникации, включая Skype. Работает просмотр видео всех видов и форматов. В дистрибутив входит свежий LibreOffice 4.3.1, но в репозиториях есть полный TeX-стек и все известные open-source программы для документирования, верстки и полиграфии.

Разработчиков ждут полноценные LAMP/C++/… окружения для разработки.

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

Дистрибутив основан на новой платформе rosa2014.1 со сроком поддержки 2 года. На базе этой платформы будет выпущено несколько релизов дистрибутива, аналогично платформе rosa2012.1.

Скачать

→ продолжить чтение…

Screenpen — магия пера или эффективная свобода преподавания со стилусом

Лекции и семинары, конференции и бизнес-тренинги — называться это может по-разному, но суть в любом случае одна: автор-лектор-тренер, пытается передать аудитории смысл голосом, жестами и, самом важное, что-то показывая — формулы ли это на доске, ватман с картинками в руках, или стеклянные колбы с живыми опытами.

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

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

Мастер-класс на ProductCamp-2012.jpg

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

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

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

Так что же делать? Тут на помощь приходят стилусные ноутбуки, т.е. лептопы, в которых можно рисовать пером напрямую по экрану. Сейчас мощный тренд тотальной сенсоризации дисплеев, но даже если ваш ноутбук не такой, то можно специально для выступлений купить простой pentablet с ebay — например, б.у. HP 2730p, которые когда-то стоили $4000, сейчас можно найти на ebay за $50 и дешевле (подробней см. в разделе #Эффективный ebay-инг). Это позволительно даже небогатому преподавателю. Ну, а если бюджет позволяет, можно поставить в класс тачскрин-моноблок типа HP TouchSmart 610, на который и удобно смотреть преподавателю, не отворачиваясь от аудитории к большому экрану, и рисовать пояснение даже пальцем, поверх слайдов с формулами и прочим.

TouchSmart 610 on ISPRAS.jpg

Итак, поговорим, о том какой же open-source софт позволит достичь синергии между заготовленными материалами и импровизацией на месте, позволит вам, если и не превратится в звезду TED, то по крайней мере, эффективно объяснять то, что вы знаете.

Во-первых, есть отдельный класс программ-журналов, заменяющих флипчарты — journal, jarnal, xournal и др. У них есть свои плюсы и минусы, местами даже уникальные возможности. В любом случае, освоив хотя бы одну из них, вы уже не будете нуждаться в досках и флипчартах.

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

Кстати, спрошу, надо ли писать обзор докладов с конференции OSEDUCONF-2014? А то видео было нами опубликовано оперативно, за неделю, но без обзорного доклада похоже мало кто смотрел записи с этой конференции.

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

В мире Windows давно была маленькая суперпрограмма ZoomIt, написанная гениальным Марком Руссиновичем[1], с минималистичным оптимизированным интерфейсом. С ней можно было просто и удобно в любой момент рисовать поверх всего на экране разными цветами и увеличивать любой его фрагмент.

Но ZoomIT, хоть и бесплатен, но закрыт и работает только для Windows, а в мире open source и Linux с этим было сложно. Аналогичные программы вроде бы были, но сожалению, совершенно unusable.

  • Ardesia — перегруженная и глючная;
  • GromIT — неудобный, глючный, и заброшенный в 2004;
  • GromIT-MPX — неудачная попытка его реанимировать;

… ну ничего хоть близко лежащего с ZoomIt.



Good news, everyone!

Наша команда реализовала[2] ScreenPen — аналог ZoomIT, и сейчас мы опишем его возможности.


Электронный карандаш-маркер для рисования «поверх экрана» в Linux.

ScreenPen-Launch.png

При разработке ориентировались на популярную Windows-утилиту ZoomIt.

  • Реализует ее функциональность (+много еще)
  • Наследует ее клавиатурный интерфейс — Windows-пользователям не придеться переучиваться.

В ROSA GNOME идет из коробки, надо лишь включить («Параметры → Дополнительные параметры → Расширения SHELL») расширение «ScreenPen Launch»

И тогда у вас появляется иконка с лупой[3].

В KDE, LXDE или других средах надо самостоятельно настроить хоткей для вызова «screenpen».

Для KDE это можно сделать в Настройках рабочего стола (Комбинации клавиш и росчерки -> Специальные действия -> Изменить -> Новый -> Глобальная комбинация клавиш -> Команда или адрес).

Screenpen-gnome.png

И тогда, по хоткею «CTRL-1» вы активируете ScreenPen, и далее можете:

  • Увеличивать рабочий стол, хоть до одного пикселя, с помощью колесика мыши или скроллинга тачпада, и перемещаться с этой лупой по рабочему столу.
  • Начать рисовать (при этом положение активной фиксируется, хотя по прежнему, ее можно зумить). Просто рисуйте стилусом, пальцем по понимающему тачскрину, или, на худой конец, зажав левую клавишу мыши.
    • Менять толщину карандаша-фломастера клавишами 1,2,…9
    • Переключать разные цвета, мы выбрали самые простые и надежные:

R G B C M Y W

C этими цветами можно рисовать и по белому, и по черному экрану, и даже подобрать что-то контрастное поверх странного интерфейса, картинки или видео. И в любом случае, отобразить палитру ваших эмоций, разделив что-то хорошее от плохого, а опасное от ценного («красный-голубой)».

Есть также отдельно режимы, также включаемые одной клавишей

A
По умолчанию — режим обычного, свободного рисования.
Z
Включает режим рисования линий (например нужны стрелки, или просто ровные линии).
X
Режим рисования прямоугольников.

Как обычно, самое главное для пользователя — как выход. Выход по клавишам «ESC» и «TAB». С одной стороны «ESC» — привычней, но ошибочное нажатие на эту клавишу выбразывает из режима презентации во всех программах (Impress, Evince, Okular…) поэтому рекомендуем приучиться использовать только «TAB».


Исходный код
https://abf.io/uxteam/ScreenPen

→ продолжить чтение…

WBEM — открываем возможности локализации

Wbem-l10n.png

Многим известно, а остальные догадываются, что браузеры умеют передавать веб-серверу список предпочитаемых пользователем языков. Реализуется это с помощью специального http-заголовка Accept-Language. Например, его значением может быть:

ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3

Получив эту строку, веб-сервер понимает, что пользователь хочет получить информацию прежде всего на русском языке, причем на его разновидности, принятой в России. Если это невозможно — просто на русском, в крайнем случае на английском (американском), и на худой конец — любом английском.

В случае наличия подходящего контента веб-сервер сможет удовлетворить пользователя, условно говоря, на 100%, 80%, 50% и 30% соответственно.

Но этот механизм работает не только в вебе для обычных смертных. В стандартизированном наборе технологий для управления предприятием через веб, WBEM (Web-based Enterprise Management), предусмотрена подобная возможность получать с управляемых устройств информацию на языке, предпочитаемом администратором.

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

В Linux есть несколько (как всегда) вариантов внедрения WBEM. Один из них — использовать

  • на стороне управляемого компьютера проверенный временем CIM-сервер Pegasus, разработанный командой The Open Group;
  • а на стороне управляющего — молодую, но многообещающую библиотеку для Python'а lmiwbem, разработанную в Red Hat.

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

Наше решение — добавить в объект WBEMConnection соответствующее свойство requestAcceptLanguages.

Предложение было принято разработчиками, и в версии lmiwbem, следующей за версией 0.3.1, становится возможным следующее [1]:

import lmiwbem
conn = lmiwbem.WBEMConnection()
# Get Accept languages
 
print conn.request_accept_languages
# Set Accept languages
 
conn.request_accept_languages = [("ru", 1.0), ("en", 0.5)]
 

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

ROSA не обидится на ваши измены — запоминаем выбор последней загруженной системы


Времена Единственной Операционной Системы давно миновали, и сейчас вполне нормально не бессмысленно ждать Единственную и Идеальную[1], а завести себе их несколько — насколько позволяют время и силы. Для работы одну, для развлечений — другую, для высоких исследований — третью…

Как ты мог мне изменить с ней.png

И ROSA не обидится на ваше непостоянство, наоборот, будет мирно сожительствовать, и поддерживать ваш выбор.

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

Это удобно, гуманно и т.п., ибо пользователем ожидается, что после перезагрузки (операции странной, вынужденной, ненужной пользователю), он окажется там, где был, а не в какой-то другой непонятной системе — многие домашние пользователи вовсе боятся загрузочного выбора, ожидая появления «настоящей системы». И даже опытному пользователю неприятно ждать при перезагрузке, чтобы выбрать то, что нужно, а нужно, с большой степенью вероятности, именно то, что было до этого. Впрочем, опытный пользователь, если и недоволен, уберет эту эвристику за пару секунд. Ведь речь идет всего-лишь о добавлении пары строчек в /etc/default/grub

GRUB_SAVEDEFAULT=true
GRUB_DEFAULT="saved"

Так что если у вас даже не РОСА, а что-то другое, загружаемое GRUB2-ом, то вы можете настроить все это вручную. Не забудьте кстати вызвать sudo update-grub2, после правки /etc/default/grub.

А в новой ROSA Fresh R4, которая вот-вот выйдет, все это будет по умолчанию.

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

Ввела в экстаз ^_^12
17%
Порадовала :)53
76%
Оставила равнодушным -_-5
7%
Огорчила :(0
0%
Так что не бойтесь поставить Росу в дополнении к вашим системам — места много не займет, не будет мешать вам ходить к вашим старым подругам… вы даже можете ее не любить — она все равно будет ждать и надежно работать для вас.
  1. Операционную систему, конечно же

«НТЦ ИТ РОСА» на «Инфобереге 2014» — итоги участия

Руководство «НТЦ ИТ РОСА» посетило Алушту в рамках участия в XIII всероссийской конференции «Информационная безопасность. Региональные аспекты. ИнфоБЕРЕГ-2014».

Наибольший интерес участников конференции вызвала тема импортозамещения, а одним из самых популярных стал доклад президента и генерального конструктора «НТЦ ИТ РОСА» Владимира Рубанова «От открытого кода — к отечественным сертифицированным системам».

Заменить импортное ПО на написанное «с нуля» российскими программистами во всех сегментах — утопия. Однако есть возможность быстрого рывка к технологической независимости за счет использования открытых свободных технологий, на развитие которых у нас есть все технические возможности и юридические права даже при угрозе самых жестких санкций. Однако само по себе открытое ПО бесполезно без создания локальной инфраструктуры его разработки и наращивания локальной компетенции специалистов. Компания «РОСА» занимается задачей построения такой независимой инфраструктуры и экспертизы с момента основания. Результаты вылились в линейку российских операционных систем, которые могут поддерживаться и развиваться даже в условиях международной изоляции. В докладе мы поделились этим опытом и предложили коллегам масштабировать данную модель для обеспечения технологической независимости в других сегментах — рассказывает Владимир Рубанов, президент и генеральный конструктор «НТЦ ИТ РОСА».

→ продолжить чтение…

PDF-браузинг у нас в GNOME ОК

Вебтехнологии захватывают все, даже продукты превращаются в сервисы, а программы в странички в веб-браузере, что же говорить про обычное чтение — в эти же страницы упали газеты/журналы/книги, и если раньше чтение ассоциировалось с настольной лампой и теплым клетчатым пледом, неторопливым шелестом бумаги с последовательным чтением увесистого томика под беззвучное шевеление губами, то сейчас — с зомбированным взглядом в светящийся жидкокристаллический экран с шевелением уже не губами, а пальцами. Чтобы прыгать этим самым веб-браузером по ссылкам, и возвращаться обратно, позволяя пытливому разуму обходить бесконечное Дерево Знаний, то забуриваясь в глубину, то ускоряясь вниз, то выныривая вверх. Впрочем, граммарнаци отпинали бы сейчас меня не только за двойной призыв «веб-браузера» в предложении, но и за само слово, — ведь это же тавтология, это на гнилом западе webbrowser, а у нас просто «браузер», другого нет, и не будет…

На самом деле есть — есть еще и PDF-браузер. PDF до сих пор еще остается непревзойденным форматом, когда нужен читать хорошо сверстанный текст с изображениями, где формулы не выпрыгивают из строчек, изображения мягко обтекаются колонками текста с грамотно расставлеными переносами. Да, обычный худлит все равно в чем читать, но вот хорошо сверстанные учебники, с формулами и иллюстрациями, гиперссылками на определения и теоремы… — для этого нужен настоящий PDF-браузер — не просто читалка с прокруткой, и навигацией по страницам, но именно настоящий гипертекстовый подход — «перейти по ссылке, вернуться обратно», и чувствуя себя Тезеем с страховочной нитью, можно смело погружаться в лабиринты ссылок в гипертекстовых книгах.

В качестве примера подобной электронной книги, с формулами и гипертекстом, я, чисто для иллюстрации, нескромно порекомендую свой учебник.

И с этим в Linux-мире вроде все отлично — под KDE живет Okular, под GNOME — Evince, знакомый обычным пользователям скромно по должности «Просмотрщик документов» и с этим все хорошо.

А, на самом деле нет. В GNOME нехорошо.

Evince with broken navigation.png

В Evince задумана функциональность «Back», есть кнопка для этого на аскетическом интерфейсе, есть стандартный хоткей «ALT+←», но… оно не работает, тупо бросая на предыдущую страницу. Ужас, кошмар, нить Тезея порвалась, Ариадна его не дождется… придется ставить Okular.


Good news, everyone!

Мы починили это! Ну, на самом деле, даже не пришлось писать патч, мы нашли малоизвестный патч в соответствующем баге, и у нас в GNOME теперь все хорошо! Через пару-тройку лет, с вероятностью 50%, возможно этот патч попадет во все дистрибутивы…, так что если кто читает это и строит какой-нибудь GNOME-дистрибутив — рекомендуем сделать это прямо сейчас, это один из таких мерзких кирпичиков, из-за которых многие считают, что на «планете GNOME» жизнь невозможна.


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

Ввела в экстаз ^_^4
25%
Порадовала :)9
56%
Оставила равнодушным -_-2
13%
Огорчила :(1
6%

Наши инструменты в дистрибутиве Debian


В компании «НТЦ ИТ РОСА» разрабатывается множество инструментов для автоматизации тестирования различных компонентов ОС. Большинство из них мы делаем достаточно универсальными и публикуем их под свободной лицензией GPL для того, чтобы поделиться наработками с Linux-сообществом. Согласно отзывам, за время нашего существования эти инструменты нашли свое место среди повседневных средств разработки у нескольких сотен разработчиков системных библиотек по всему миру, а также у мейнтейнеров десятков дистрибутивов Linux.

На этот раз наши инструменты пришли и в Debian-сообщество. На конференции DebConf14 был доклад (см. видео доклада ACC for abi breaks), посвященный опыту использования наших инструментов для разработки дистрибутива Debian. В докладе были освещены такие инструменты, как ABICC, Upstream Tracker, ABI Dumper, API Sanity Checker и др. На основе инструмента ABICC разработчиками Debian был создан адаптированный к Deb-пакетам инструмент dh-acc.

Это уже не первый раз когда наши наработки упоминают на конференциях. Например, в 2013 году ведущий разработчик Qt Thiago Macieira рассказал на конференции LinuxCon о поддержке бинарной совместимости библиотек со ссылкой на инструмент ABICC в качестве основного средства тестирования (см. видео доклада Binary compatibility for library developers).

Автоматическое обновление метаданных в urpmi


Мэйнтейнеры, имеющие дело с разработческими версиями Росы, часто сталкиваются с ситуацией, когда urpmi не может обновить тот или иной пакет по той причине, что в репозиториях уже собрана более новая версия пакета, а той, что указана в метаданных, имеющихся у urpmi, уже не существует. В таких ситуациях приходится сначала запускать urpmi.update и снова пробовать установить нужный пакет. Конечно, можно просто всегда запускать urpmi --auto-update, но работа этой команды может затянуться, а обновить конкретный пакет, как водится, нужно срочно.

Хорошая новость — теперь (в ветке rosa2014.1, которая превратится в ROSA Desktop Fresh R4) urpmi сам в состоянии обновить метаданные и перезапуститься в случае, если что-то пошло не так с закачкой файлов и есть подозрение, что обновление метаданных поможет решить эту проблему. Такое поведение является теперь поведением по умолчанию; отключить его можно с помощью опции «--no-restart». Кроме того, можно заставить urpmi обновлять метаданные не сразу при обнаружении проблемы, а после некоторого таймаута — соответствующее время ожидания можно задать с помощью опции «--download-timeout». Последняя особенно актуальна для ABF, где сборки пакетов иногда завершаются неудачно из-за того, что старая версия какого-то пакета из репозиториев уже удалилась, а метаданные для новой еще не сгенерировались. Когда ABF переедет на новый urpmi, таких проблем должно стать меньше.

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

Откапываем забытый Tray — панель уведомлений снова видна в режиме обзора

Slowpoke News.png

Итак, сегодня у нас новый жанр — Slowpoke news! Расскажем о доработке, которую сделали еще в прошлом году, но никак не доходили руки ее описать, обосновав, почему это правильно.

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

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

Но. Для всех остальных 99.99…99% пользователей это слишком. Стало понятно, что надо дать возможность быстро переключатся между самыми активными приложениями — для этих приложений были рождены концепции панелей, или как в GNOME SHELL, переключения по миниатюрам окон в режиме обзора, плюс последовательное переключение по Alt-Tab. А кучу фоновых процессов-приложений надо куда-то деть, чтобы они могли не сильно отсвечивая, показывать свой статус, и пытаться привлечь внимание, если стало совсем невтерпежь. Это и разные мессенджеры, чатилки, почтооповещалки, звонилки-говорилки, музыкальные плееры, обновлялки софта, мониторинги питания и здоровья оборудования, и т.п. Для них потребовалось уметь представить себя компактной инфографической иконкой, отражающей состояние и необходимость реакции, и для них появился отдельный концепт — «tray», системный трей, он же «область уведомлений», он же «область статусов», … как только его не называли, иногда даже груба калькируя с английского, как «лоток» и «поддон».

Icons in Windows tray.png

И в этом «поддоне» продолжалась борьба приложений за внимание пользователя и жизненное пространство — продвинутый пользователь в Windows, где огромное количество фоновых приложений с tray-интерфейсом[1] забивали его подзавязку, и приходилось разруливать, кто допущен в видимую область всегда, кому разрешается помахать флажком уведомлений при необходимости, а кого надо вообще спрятать от греха подальше. Ну и добраться до конкретного трей-приложения, когда их несколько десятков, все они нарисованы микроиконками 16×16, и надо либо тупо смотреть на этот пазл, напоминающий старые пиксельные головоломки, либо подводить к каждому курсор, надеясь, что всплывающая подсказка поможет вспомнить, «кто все эти люди?».

В сети можно найти много совсем страшных картинок, но для примера я приложил tray со своего Windows-десктопа — видно, что совсем, совсем непросто рыться в этой куче.


При проектировании интерфейса GNOME SHELL, был сделан очередной подход решить эту проблему. Там введено, условно говоря, два трея — верхний и нижний.

Верхний
растет с правого верхнего угла в верхней, классической GNOME-панели, там основные иконки статуса оборудования — зарядка-звук-клавиатурная раскладка и туда пускают некоторые другие приложения по специальному списку избранных. Можно редактировать этот список, можно ставить специальные расширения, чтобы пустить еще кого-то, например, мы по умолчанию в нашем GNOME устанавливаем Skype Integration, и при запущенном скайпе там всегда будет видно, есть ли там что читать, или нет. Собственно, для нелинукс-пользователей все это похоже на MacOS с menulet-ами, и да, Apple тоже бореться с их засильем, запрещая все лишнее, а народ пишет дополнения («Menu Extra Enabler», и т.п.), чтобы туда что-то засунуть.
Нижний
Он же «message bar», но наверно привычней для русского уха называть его «нижним треем». Там сидят все фоновые приложения. Им дали большие иконки 48×48[2], в них легко попасть и мышью, и пальцем на тачскрине. Единственное ограничение — их не видно, нижний трей скрыт от глаз пользователя.
Gnome-trays.png

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

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

Благородная цель, неплохая идея, дело за малым — чтобы можно было легко и интуитивно в этот поддон заглянуть.

И вот тут, не слава богу.

В нижний трей можно заглянуть:

  • «По-смартфонному» — оттянув пальцами по экрану нижний край вверх. Да, понятно тач-пользователям, но увы, большинство даже лептопов без тачскрина, и даже если он есть, а работа идет по десктопному, с клавиатурой-тачпадом-мышью, перенос пальцев на экран — тяжелейшая операция, т.е. для десктопа это не вариант.
  • «Пробить мышью дно» — надо доехать курсором до дна нижнего края экрана, и <начать рыть, продолжить ломится дальше — т.е. продолжить гладить тачпад, либо скоблить мышью по столу — просто доехать до конца и подождать — обычно не срабатывает. Возможно тут еще и глюки механизма, но даже, если бы он работал идеально — это не ОК, ибо догадаться о том, что с некоторой задержкой нижний край как-то реагирует — это дико нетривиально для обычного пользователя. Конечно, если пользователь уже столкнулся с Windows 8 он в цирке не смеется он уже привык исследовать края экрана, но все-таки это не гуд. Особенно не гуд этот метод, для продвинутых пользователей, активных операторов, печатающих и не желающих, чтобы мышь и фокус внимания и ввода куда-то переключался.
  • Для таких пользователей, нужен хоткей, позволяющий на секунду заглянуть в поддон, не сбивая положение курсора, и рук на клавиатуре. И да, такой хоткей есть. «WIN-M». Неизвестный (для продвинутого Windows-пользователя это минимизация окна), неочевидный («Win-M?, Mmmm? WAT?»), и неудобный (одной рукой вслепую не нажать).

При том, что есть такая кнопка, которая известна всем пользователям, без которой в GNOME Shell вообще ничего не сделать, про которую твердят обучающие ролики при установке системы… Это WIN! Кнопка «WIN», про которую мы уже писали в Blog:Точка Росы/Хоткеи для Windows-свитчеров. Смело переходите на GNOME!, и Blog:Точка Росы/Кнопка WIN ваш лучший друг! Учим горячие клавиши в GNOME.

Именно она создана для того, чтобы вырвать пользователя из фокуса на текущем приложении и перевести в режим «Обзора», обзора всего, и именно в этом режиме изначально показывался нижний трей, он же message bar, что было совершенно логично. Но в районе 3.4 гнома они это выпилили (больше минимализма для бога минимализма!), и залили «подвал бетоном» — нижним треем стало абсолютно неудобно пользоваться.


Good news, everyone!

Мы починили это и вернули нижний трей в режим обзора.

Gnome-tray-in-view-mode.png


И теперь, постфактум, спросим — а не зря ли?

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

Ввела в экстаз ^_^29
45%
Порадовала :)26
40%
Оставила равнодушным -_-8
12%
Огорчила :(2
3%



Update
Похоже, все-таки это мы сделали зря — хотя голосование в среднем одобрительное, мы получали негативные отзывы об этой доработке (см. например [1]), а так как отключаемой (через расширения) эту функциональность реализовать нам пока не удалось, мы решили начиная с GNOME 3.12 отключить эту доработку. К тому же неутомимые гномеры вовсе решили в свежих версиях гнома отказаться от нижнего трея.
  1. Одни только кучи независимых обновлялок для разных приложений чего-то только стоят, или какие-нибудь твикеры-улучшатели десктопного поведения, драйвера устройств ввода и графических карт… чего там только нет, весь сонм виндовс-утилит, драйверов и прочих софтин лез в tray…
  2. Разумеется, если их и там будут сотни, они начнут скейлится и сжиматься, но изначально им выдан здоровый кусок нижнего края экрана целиком, плюс под Linux не нужны автообновлялки к каждому приложению, в общем, хороший шанс уложится без утрамбовки.
  3. Официальная новость по итогам IT Campus 2014

    Подведены итоги масштабного мероприятия для ИТ-специалистов, прошедшего 25-27 июля 2014 года в Калужской области.

    ITCampus – это новое мероприятие для «айтишников» разной специализации: разработчиков программного обеспечения, web-разработчиков, системных администраторов, «гуру» информационной безопасности и даже digital-маркетологов. Целью был сбор представителей ИТ-отрасли, объединенных девизом: «Информационные технологии должны быть доступны всем».

    В 2014 году IT Campus посетили более 1500 участников из десятков городов России и некоторых стран СНГ и Балтии, в их числе — и представители компании «РОСА». Основное внимание организаторы уделили конференционному блоку, который проводился в три параллельных потока на протяжении двух дней. Спикеры сделали более 40 докладов, провели несколько мастер-классов и панельных дискуссий. В числе вызвавших наибольший интерес аудитории выступлений можно отметить: «Взломать за 60 секунд» Андрея Масаловича из компании «Инфорус», «Жизнь после Сноудена» Виталия Федорова из «Лаборатории Касперского», «Что такое PostgreSQL?» Олега Бартунова (ведущий разработчик PostgreSQL), «IT-стартапы в сфере B2B» Рустема Хайретдинова (акционер InfoWatch и владелец Appercut), доклад Cтаса Фомина («РОСА») и множество других выступлений.

    Директор по технологиям компании «РОСА» Стас Фомин выступил ведущим секции по Open Source (свободному ПО, СПО), где в интерактивном взаимодействии с участниками были развенчаны мифы, связанные с этой моделью, обсуждены тренды в мире СПО. Стас рассказал о проблемах, с которыми часто сталкиваются производители продуктов на основе открытого кода и системные администраторы таких систем, а также уделил внимание проблемам безопасности СПО и особенностям для коммерческих проектов.

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

    По завершении докладов и мастер-классов «жители» IT Campus могли принять участие в развлекательной программе, включающей спортивные соревнования, катание на сигвеях и квадроциклах, профессиональные конкурсы CTF и турнир по Quake 3. Кроме того, можно было посетить ярмарку ИТ-вакансий, концертную программу, посмотреть на гигантский костер и праздничный салют.

    IT Campus прошел в живописном месте на берегу Оки. Проживание участников было организовано в палаточном городке. При этом гостями была отмечена хорошо подготовленная инфраструктура: наличие парковки для автотранспорта, санитарных зон, душевых, электричества и Интернета. Помощь в работе лагеря оказывали охрана, медики, представители УВД и МЧС, а также волонтеры.

    Партнерами IT Campus 2014 стали «Лаборатория Касперского», Microsoft, EMC, HP, Veeam, Acronis, Develonica, Luxoft, "РОСА" и другие. Помощь в организации конференционного блока оказала «Академия Информационных Систем».

    Фотоотчет IT Campus доступен по ссылкам: День первый; День второй.

    Впечатления Стаса Фомина об участии в мероприятии Вы также могли прочитать в «Точке РОСЫ»

    Закладки в Nautilus — теперь их делать удобней

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

    Да, ранее пользователи были обязаны знать что-то о структурах файловой системы — DOS/Windows пользователи учились различать буквы системных и подключаемых дисков (эти магические «A:»-«C:»-«D:»…), Linux/Mac пользователи учили правоверному подходу с единым корнем «/», а продвинутые юзабилисты[1] утвержали, что концепция файла с полным путем, странными ограничениями на названия файлов («8+3», «ascii») переусложнена и совершенно избыточна для нормального пользователя.

    И кстати, при реализации современных контентных вебсистем (вики-сайты, гуглдоксы и т.п.), как правило рассчитанных на самых простых пользователей, изначально пытались избавится от иерархической модели, через плоские структуры

    • «имя файла-документа=название документа»,
    • дополнительная неиерархическая классификация через «теги/метки/категории».

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

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

    Все это отражает короткий файловый анекдот-однострочник: /home/stas/Хрень по работе/Гемор/Тупые клиенты/Неплательщики/о--евшие/Уважаемый Сергей Анатольевич.odt

    Да, остается только проблема, когда «наведение порядка и структурирование файловой помойки» вступает в конфликт с «чтобы было под рукой в двух кликах», что обычно приводит к россыпи файлов на рабочем столе или домашней директории.

    Эту и другие проблемы, решает такая очевидная интерфейсная метафора, как закладки, которую поддерживают все продвинутые файловые менеджеры. Все, обычному пользователю становится совершенно пофиг на то, какими слешами разделаются пути в файловых системах, единый ли у файловой системы корень, или надо париться про названия дисков, в Windows-е, Mac-е, KDE или GNOME — он всегда знает, что есть закладки на домашнюю папку, на самые простые личные категории («Загрузки», «Изображения», «Музыка»…) там все разложено, так как надо, а к наиболее часто используемым в данный момент папкам — будь то развлекательное видео на FTP-хранилище, или та самая «Хрень по работе» у него сделаны закладки, и эти папки доступны по одному клику в левой панели файлового навигатора.

    Добавление закладки в Nautilus по умолчанию.png

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

    Но. В GNOME SHELL, а точнее в Nautilus это не так.

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

    Мучительно долго, и совершенно неочевидно, практически спрятано от обычного пользователя, ожидающего, что все разумно возможное с видимым в интерфейсе объектом можно сделать по контекстному меню.


    Good news, everyone!

    Теперь, а точнее уже несколько месяцев как, в нашем GNOME, можно добавить закладки по контекстному меню. Именно закладки, можно выделить несколько папок и добавить их в закладки за раз.

    Добавление закладок в Nautilus по контекстному меню.png

    Также, через контекстное меню, можно и удалить папки из закладок, если они уже там.

    На самом деле, там у нас хитро, есть защита от случайного действия («выделил 100500 папок и случайно загнал из в закладки» — одновременно добавляются не больше 8), но для обычных действий с разумным числом объектов (правило «5±2»), все просто замечательно!


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

    Ввела в экстаз ^_^11
    33%
    Порадовала :)11
    33%
    Оставила равнодушным -_-9
    27%
    Огорчила :(2
    6%
    1. См. например, работы Джефа Раскина.

    ITCampus-2014

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

    IT-пикники — явно перспективный конференционный тренд, «Educaiment=Education+Entertainment», едешь на отдых с семьей (опционально) и друзьями, оформляешь как командировку на конференцию (да, там ставили штампы на командировочные удостоверения) и сам выбираешь баланс между докладами/тренингами и конкурсами мокрых футболок.

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

    It-campus-fired-car.jpg

    К сожалению, именно по пожарной части случился факап — не повезло одному «глазастому мерседесу» — внезапно загорелся, скорее всего, от травы (катализатор или выхлопная труба…), и несмотря на то, что пожарная машина была в сотне метров, пока доехали, пока размотали рукова, пока выяснили, что нет воды… Увы. Хорошо хоть без взрывов и жертв. Зато это прекрасно объясняет, зачем организаторы жестко загоняли почти все машины на специально выделенное для парковки место.

    Была и куча развлечений — каталово на сегвеях и квадрациклах, игровой шатер с настольными и компьютерными играми, XBoxы, теннисный стол и аэрохоккей, концерты групп разной степени бодрости и известности, дискотеки, бесплатные энергетические напитки с сомнительными ингридиентами, хоровод вокруг костра и мощный салют — в общем, даже если вдруг доклады утомили, вполне можно было развлечься или развлечь семью. Для атмосферы посмотрите фотографии+[1]+[2] или одноминутный видеоролик.


    Я же, Стас Фомин, поехал порассказывать-поговорить про Open Source примерно со следующей программой:

    • «Open source для тех, кто в танке». Вводим словарик, изгоняем ментальные вирусы (FOSS ≠ FreeSoft ≠ OSS, открытость ≠ бесплатность, OpenSource ≠ OpenCore, и т.п.).
    • «Тренды в мире OSS». Ушла ли романтика? Коммунизм, капитализм или just for lulz? Идейные партизаны или наемники корпораций? Каннибализм — ест ли open source-рынок нишевых проектов и едят ли его стартапы-сервисы-freeapps из storов? Дикий мир OSS и островки цивилизации. Статистика, цифры, графики.
    • «Проблемы производителей OS» — в чем PROFIT? Как монетизироваться? Продаем людей, машинное время или воздух? Оптимальные процессы — «Собор или базар»? Есть ли смысл?
    • «Проблемы разработчиков OSS» — дедовщина в сообществах, синдромы NIH, «сад расходящихся тропок форков», архитектура OSS — эволюция или инженерия? В чем фан, в чем профит, есть ли смысл.
    • «Потребители OS» — Кто все эти люди? В чем PROFIT? Как мерятся длиной Total Cost Ownership? OSS и качество — «Красавица или чудовище»? OSS и безопасность — «Недремлющие тысячи глаз или у семи нянек дитя без глазу»? OSS для коммерческих проектов? Снимает ли OSS софтозависимость, или тут просто «тоньше игла и дешевле первые дозы»? OSS для сисадминов…
    • «OSS для юриста-любителя» — зоопарк OSS-лицензий, легальный статус в РФ, что выбрать для своего OSS, как не подхватить вирус от чужого OSS.

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

    И стартовав в 10 утра, был уверен, что моему выступлению в 17 ничего не угрожает (если бы в дороге сломалась машина, был запасной план — бросить и поехать на такси). Поехал по заранее распечатанным картам проложенного яндексом маршрута. Да, проспал самое утро, Москва-пробки-ад и все такое, но все было ОК, пока в середине пути я не решил, что ехать по распечаткам как-то олдскульно и не труѣ, и не решил позвать гугл-навигатор[1]. Который, найдя единственную деревню Воронино в Калужской области погнал меня туда, а я выключился и доверился компьютерному разуму. Километров через 150 я забеспокоился — ибо яндекс-путь должен был быть 200 км, а я уже проехал почти 300 и конца этому было не видно… Я даже названивал организаторам с просьбой проверить, точно ли нет других «д.Воронино» в Калужской области, и меня заверили, что она единственная и туда они приехали именно гугл-навигатору. Большой карты у меня не было… проблем хватало и так — сдох прикуриватель, и жизнь в смартфоне я поддерживал, разряжая взятую с собой кучу ноутбуков… В результате, я обнаружил себя за полтора часа до начала выступления в деревне Воронино, которая находилась от правильной деревни в паре часов езды. Дальше я сделал умное — вспомнил, где на трассе был нормальный 3G, доехал туда, поставил Яндекс.Навигатор и погнал изо всех сил — у меня старая короткая Нива, уверяю, что это было экстремально. Телефон разряжался и перегружался, показывая мне, что я либо успею в упор, либо опоздаю на полчаса[2] Я менял «заряжающие ноутбуки» и гнал, слепо доверяя яндексу. Яндекс тоже дал прикурить — в конце пути он навел меня на изрытую грунтовую дорогу (все опрошенные в лагере, наткнувшись на нее, свернули обратно, я гнал по ней, не снижая скорости) — в результате отвалилось несколько хомутов, движок сосал пыль вне фильтра, и вроде теперь куда-то уходит охлаждающая жидкость… Гнал, потом бежал от парковки, забыв выключить фары (да, разрядил аккумулятор).

    Но успел, в упор. И несмотря на вечер, фигово видный в прозрачном шатре проектор, три с лишним часа мы с народом поговорили. Хотя я считал, что вроде все темы вроде как достойны Капитана, все-таки выяснилось, что для многих почти все было в новинку… Были и нетрезвые критично настроенные участники, и мне пришлось отвечать не только за «опенсорс», но и за госорганы и прочую политику… в общем, было весело, wish you were here[3].

    Если кто ждал каких-нибудь слайдов, не ждите — многочасовой разговор по многокилобайтному майндмапу все равно не передается. Так что могу предложить только некий impression, а так как в соцсетях читают только написанное на картинках, оно будет таким:

    ITCampus-2014-stas-fomin-oss-keywords.png

    На самом деле, не все удалось обсудить — там у меня была большая тема с юридическими тонкостями зоопарка open source-лицензий, но уже смеркалось, и народ хотел ужинать и смотреть на горящий мерс… Так что про эти темы, может быть, еще как-нибудь поговорим на другом мероприятии.

    В любом случае, я свой долг выполнил, тут вроде хвалили.

    Далее у меня был нетворкинг с приютившей меня дружной командой сисадминов, от которых реально узнал много нового и получил неожиданный опыт (век живи, век учись!).

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

    В обычной жизни мне так хочется всех их удавлить… но когда выступает красивая девушка[4], моей решимости на это не хватило, только мягко указал на неэтичность и неэкологичность всего этого.


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

    • Для нормального доклада с визуальной частью надо решить проблему с засветкой в прозрачных шатрах: черные или зеркальные навесы над экранами и т.п., либо от проекторов перейти к плазмам, либо вообще без проекторов.
    • Микрофоны-динамики-усилители были, но нужны микрофоны с прищепками или гарнитурой — руки докладчикам часто нужны.
    • Я пообщался с основной ЦА — матерыми региональными сисадминами,
      • от вендоров они бы хотели не маркетинговых обзоров, а реальных мастер-классов, в духе «конкретно решаем такую-то проблему, по шагам».
      • они готовы смотреть такие доклады в записи (вдруг придется разрываться между треками?) — и как раз такие мастерклассы можно записать и смонтировать дешево — скринкаст+звук с микрофона.
      • а еще они просили у вендоров больше конкретной халявы — не тупой сувенирки, а реальных лицензий на продукты на год и т.п.
    • Многие участники слета вполне опытны и могут неплохо рассказать редкую тему — тут надо было на сделать секцию open space, где заявить, а потом рассказать свою тему мог бы любой участник. Это было бы реальное вовлечение.
    • Интересно, как бы такой educaiment можно было бы провести зимой… В свое время мы провели такой слет-конференцию-разв…отдых в зимнем Египте (цены были копеечные). Может как-нибудь повторить?

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



    Но не мой доклад заслужил призы от организаторов. А наш доблестный админ, Сергей Соколов, который получил приз зрительских симпатий на конкурсе мокрых футболок. Да, это звучит немного странно «—Это же был конкурс для детей?! —Да, и Гомер их всех сделал»©, но факт.

    Сергей Соколов выигрывал приз зрительских симпаний на конкурсе мокрых маек.jpg


    Завидую. Вот это, видимо, и есть настоящий опенсорс, который всегда нужен людям.
    1. Телефон я недавно сменил, со очень старого б/у на просто старый б/у, Galaxy S2, если что, и Яндекс.Навигатор еще не поставил
    2. Что напомнило мне «Обе эти кривые - полета и лунной поверхности - почти сходились. Пересекаются ли они? Нет. Но его дуга была почти касательной. Не известно, проскользнет он над самой поверхностью Луны или врежется в нее. Траектометр работал с точностью до семи-восьми километров, и Пиркс не мог знать, проходит ли кривая в трех километрах над скалами или под ними.»©
    3. А ведь мы всех туда приглашали
    4. Наверно, это был хитрый план организаторов — разбавить мужское общество сисадминов женским общество SMMщиков…

    По ту сторону пресс-релиза: поддержка ИБП Powercom в ОС «РОСА»


    UPS Sample Photo from Wikipedia.jpg

    Недавно на сайте компании была опубликована новость про поддержку источников бесперебойного питания POWERCOM в ROSA Fresh и ROSA X1. В связи с подобными ситуациями я почти постоянно встречаю такое мнение на различных ИТ-ресурсах, мол, что тут сложного — взять да собрать тот же NUT (или какой-то другой пакет в зависимости от ситуации)? Но не всё так просто, как кажется со стороны. На примере добавления поддержки ИБП конкретного вендора расскажу, что на самом деле кроется за сухими строками официального пресс-релиза.

    Собственно, помимо сборки nut (который был у нас изрядно устаревшим на тот момент), была проведена работа по приведению спеков и конфигурационных файлов nut в порядок согласно реалиям и политикам дистрибутива. К таким вещам можно отнести новые unit-файлы для systemd, зачистку самого spec-файла от всевозможных рудиментов и хаков, доработку и написание post и preinstall скриптов и т.п.

    Как я уже упоминал, недостаточно просто собрать пакет. Одно из требований заказчика — работа ИБП без проведения каких-либо сложных манипуляций. Связано с тем, что в ОС «РОСА» будут работать вчерашние пользователи Windows, которые, к вящему неудовольствию некоторых особо продвинутых товарищей, не умеют работать с консольными приложениями, а словосочетание «эмулятор терминала» их повергает в священный трепет. К тому же работать программа должна на самых разных конфигурациях оборудования. Посему любимый номер посетителей линукс-форумов «сделаем за пять минут на скриптах» тут не пройдёт. Для решения проблемы в офис были доставлены ИБП POWERCOM и написано много новых правил udev, позволяющих запускать нужные модули и приложения, требуемые для корректной работы ИБП, сразу после втыкания кабеля USB в разъём. Для начала неплохо, но этого мало.

    В процессе тестирования от будущих эксплуатантов была получена жалоба на то, что несмотря на заметное упрощение работы, всё равно много действий приходится выполнять вручную. И как вы уже догадались, пользователям приходится залезать в консоль ради дополнительных действий. В процессе обсуждения данной проблемы было предложено измененить конфигурацию по умолчанию, чтобы иметь возможность подключить к компьютеру подавляющее большинство ИБП, включая оборудование POWERCOM, не выполняя ровным счётом никаких действий. Что и было сделано. Ни дать-ни взять — Plug’n'Play, каким видит его Microsoft :) Для мониторинга показаний оборудования было собрано на выбор несколько приложений, имеющих графический интерфейс, из которых больше всего понравился KNutClient для среды KDE. Впоследствии у этого приложения исправили несколько небольших ошибок и переделали локализацию, бывшую на тот момент в крайне плачевном состоянии.

    На этом этапе история не закончилась. Через некоторое время от тестеров POWERCOM пришла ещё одна жалоба, что ИБП нельзя настроить по своему вкусу. Например, использовать не прошитые в ПЗУ оборудования настройки уровня разряда батарей, а задать свои. И да, пользователям для перенастройки оборудования всё ещё требуется доступ к консоли. Так что для настройки параметров ИБП необходимо было иметь программу с графическим интерфейсом, дабы пользователь не сломал чего в процессе редактирования. В очередной раз были внесены изменения в основной конфигурационный файл, позволяющие переназначать настройки, зашитые в ПЗУ ИБП. Для минимизации действий, производимых с использованием консоли, была найдена программа knutsetting. Впрочем, поначалу толку от неё не было. Knutsetting находилась в абсолютно неработоспособном состоянии, вываливала совершенно невразумительные ошибки в процессе использования и создавала проблемы самим пользователям. Начиная от нерабочей аутентификации приложения в среде KDE, заканчивая порчей конфигурационных файлов. Причём порча файлов всплыла совершенно случайно в процессе обработки совершенно другой жалобы и возникала только в определённой конфигурации демона nut. Как бы то ни было, причины ошибок были найдены и устранены, добавлена отсутствующая русская локализация, и только после этого программа была добавлена в репозиторий.

    Итог всей проведённой работы: система получила штатное средство управления и настройки источников бесперебойного питания, доступное не только ИТ-специалистам, но и обычным пользователям.

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

    Ввела в экстаз ^_^48
    25%
    Порадовала :)127
    66%
    Оставила равнодушным -_-13
    7%
    Огорчила :(5
    3%

    Курсы "РОСЫ" - на сайте PC Magazine RE

    Online Learning Banner.png

    Опубликована trial-версия курсов Сертифицированного администратора ОС РОСА «КОБАЛЬТ»

    На сайте популярного журнала PC Magazine/RE опубликованы несколько ознакомительных уроков и базовый тест, помогающий получить представление о платном курсе «Сертифицированный администратор ОС РОСА «КОБАЛЬТ».

    Сдав контрольный тест курса, вы можете принять участие в розыгрыше USB-флэш, 32 Гбайт, USB 3.0 (2 шт. в течение каждого месяца). Успешная сдача подтверждается также сертификатом (в электронном виде, PDF).

    Содержание курса:

    … Подробнее, см на странице курса.

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

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

    Spec-gen - генерируем spec-файлы для программ на GNU Autotools и CMake

    Code-generation-banner.jpg

    В РОСЕ, как и во многих других дистрибутивах, много внимания уделяется автоматизации различных задач и снижению «входного порога» для потенциальных мэйнтейнеров. Одним из первых вопросов, который встает перед человеком, желающим собрать некоторое приложение в репозитории РОСЫ — это как подготовить spec-файл для сборки RPM-пакета. Во многих случаях это можно сделать автоматически (по крайней мере, в первом приближении) — например, автоматические генераторы spec-файлов доступны для модулей Python, Perl, Ruby и так далее.

    Однако модули — модулями, а многие приложения в Linux по-прежнему разрабатываются на компилируемых языках типа C/C++ и собираются с помощью GNU Autotools, CMake и аналогичных инструментов. До сих пор для таких приложений мы ограничивались шаблонами spec-файлов и политиками сборки. Для опытного мэйнтейнера этого достаточно, но у новичков нередко возникают трудности именно с первым шагом, так что мы решили еще больше упростить процесс и подготовили утилиту spec-gen, генерирующую заготовку spec-файла на основе анализа архива с исходным кодом.

    Использовать утилиту очень просто — достаточно установить в РОСЕ пакет spec-gen и запустить команду spec-gen.py, передав ей в качестве аргумента имя архива с исходным кодом:

    $ spec-gen.py my_tarball-1.0.tar.gz
    

    С помощью опций -g, -s, -l и -u вы можете указать группу, короткое описание, лицензию и URL создаваемого пакета. Можно эти опции и не задавать, а заполнить соответсвующие поля в сгенерированном spec-файле. Имя и версию пакета утилита пытается угадать по имени архива, исходя из предположения, что большинство архивов называются «<имя_программы>-<версия>». Утилита подерживает все распространенные форматы архивов; впрочем, если вам попался неподдерживаемый архив — напишите нам, мы добавим код для его обработки.

    В процессе работы утилита первым делом просмотрит содержимое архива на предмет наличия там файлов configure.in, configure.ac, CMakeLists.txt, *.cmake и setup.py. Если обнаружится последний, то spec-gen, не мудрствуя лукаво, запустит python setup.py bdist_rpm5 и выдаст вам spec-файл, сгенерированный этой командой. В случае же наличия файлов CMake или GNU Autotools, spec-gen произведет их анализ и попробует определить, какие пакеты необходимо установить для сборки приложения — иными словами, попробует сформировать перечень сборочных хависимостей (BuildRequires) для нового пакета.

    Запускать spec-gen.py рекомендуется в той системе, под которую вы хотите создать пакет, поскольку информацию о доступных пакетах, предоставляющих ту или иную зависимость, утилита берет из репозиториев системы с помощью urpmq.

    На выходе получится заготовка spec-файла с заполненным заголовком, перечнем BuildRequires, секциями %prep, %build и %install. Перечень файлов в секции %files необходимо будет доработать самостоятельно, равно как и произвести разбиение на подпакеты при необходимости. Безусловно, стопроцентной точности сгенерированного списка BuildRequires гарантировать нельзя — могут проявиться и неявные зависимости, не указанные в скриптах сборки, либо spec-gen может сделать неправильный выбор среди имеющихся альтернатив. Тем не менее, в большинстве случаев утилита отрабатывает корректно и создает spec-файл, с помощью которого уже можно начинать собирать пакет, и с немалой вероятностью вам останется только посмотреть на список файлов, созданных в ходе сборки пакета, и подправить секцию %files.

    Возможно, в будущем мы продвинемся еще дальше, и сразу будем запускать сборку пакета с помощью полученного spec-файла, автоматически определять перечень файлов пакета и так далее. Простора для творчества здесь хватает. А пока что — устанавливайте, пробуйте и вносите свои идеи, предложения, а главное — патчи. Исходный код утилиты доступен здесь — https://abf.io/soft/spec-gen-dev.

    В заключение отметим, что основа для утилиты spec-gen была разработана студентом НИУ ВШЭ Андреем Соловьевым в рамках производственной практики в РОСЕ.

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

    Ввела в экстаз ^_^40
    75%
    Порадовала :)7
    13%
    Оставила равнодушным -_-2
    4%
    Огорчила :(4
    8%

    Компания "РОСА" участвует в слете ИТ-специалистов IT CAMPUS


    25-27 июля 2014 года ИТ-специалисты страны соберутся на самом масштабном профессиональном мероприятии лета для полного погружения в информационные технологии и отдыха в кругу единомышленников

    В мероприятии нового формата — IT CAMPUS — примут участие ИТ-профессионалы различной специализации: разработчики ПО, специалисты в сфере веб- и мобильных технологий, ИТ-инженеры, системные администраторы, руководители ИТ-подразделений, сотрудники технической поддержки и другие специалисты ИТ-отрасли.

    На мероприятии с докладом выступит президент и генеральный конструктор компании "РОСА" Владимир Рубанов. Тема выступления — "От "дикого" СПО - до сертифицированных систем промышленного качества". "Феномен свободного программного обеспечения (СПО) известен давно. Начинался он как инициатива энтузиастов, однако за последнее десятилетие произошел кардинальный скачок в использовании СПО-решений в реальном бизнесе. Большая часть Интернет, включая такие известные сервисы как Google, Facebook и Twitter, работают на СПО; дошло и до того, что крупнейшие фондовые биржи и банки доверяют огромные деньги Linux-серверам. Однако многие по-прежнему считают, что СПО — это продукт творчества "свободных художников", на который нельзя полагаться. Истина же где-то рядом, и одно СПО другому СПО, действительно, рознь. В докладе обсудим, как можно совмещать свободное творчество и бизнес, открытость и надежность, а также — как во всем этом процессе правильно поучаствовать", — рассказывает Владимир Рубанов.

    IT CAMPUS проводится на природе (центр отдыха и туризма «Высокие берега», Калужская область) и включает как насыщенный конференционный блок, который пройдет в три параллельных потока, так и тематическую развлекательную программу. Цель конференции — избегая рекламы, дать исключительно полезную практическую информацию о новейших тенденциях в сфере информационных технологий. Конференционная часть состоит из докладов, дискуссий и мастер-классов. Спикеры — представители крупных ИТ-компаний — затронут темы управления проектами, разработки ПО, веб- и мобильных приложений; обсудят тенденции в сфере облачных технологий и виртуализации; коснутся вопросов управления ИТ-ресурсами и бизнес-процессами предприятий; уделят внимание информационной безопасности.

    Параллельно с конференционной частью, участников мероприятия будут ждать соревнования по информационной безопасности – Capture the flag, турнир по легендарной игре Quake, ярмарка вакансий от ведущих IT-компаний и еще много всего интересного. Организатором IT CAMPUS является ГК Softline, партнерами стали Microsoft, «Лаборатория Касперского», VMWare, HP, EMC, Veeam, Netwrix, Академия Информационных Систем.

    IT CAMPUS заявляет: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ ДОЛЖНЫ БЫТЬ ДОСТУПНЫ ВСЕМ!

    Стоимость участия в этом грандиозном мероприятии составит всего 200 рублей.

    С подробной программой мероприятия и условиями участия можно ознакомиться на сайте www.itcampus.ru.

    Загрузка и установка РОСЫ со своего же HDD

    Устанавливать РОСУ можно множеством различных способов — в частности, c ISO-образа, расположенного на вашем жестком диске. Однако описанный в нашей вики способ подразумевает также наличие на вашей машине полноценно работающей ОС, в которой надо произвести некоторые подготовительные действия перед установкой. Однако может случиться, что такой системы на машине нет, равно как нет возможности загрузиться с внешнего устройства. Именно в такой ситуации оказался недавно наш коллега Сергей Соколов, и ниже мы приводим его рассказ о том, как он из этой ситуации выпутался.

    Памятник Мюнгхаузену, вытаскивающему самого себя из болота.jpg

    Угораздило меня установить разработческую версию Fresh R4 себе на рабочий ноут. Прихожу утречком пораньше на работу, ставлю кучу обновлений и перезагружаюсь. А в этот момент в репозиториях, оказывается, как раз шел процесс обновления systemd и еще кучи всего системного. Короче, система не загружается, а вываливается в консоль dracut.

    Так и эдак потыкался, никак система не поднимается. В общем, нужно переустанавливать. Флешки нет, CD/DVD привода нет, в офисе тоже никого нет, чтобы записать установочную флешку. Ну или представьте ситуацию, что система умерла где-нибудь в отпуске, а ноут вот прямо сейчас очень нужен.

    Решил я малость поэкспериментировать с загрузкой с ISO-образа, расположенного на моем SSD/HDD носителе, да еще и на том самом, на который будет устанавливаться система.

    # fdisk -l /dev/sda
    
    Disk /dev/sda: 480.1 GB, 480103981056 bytes, 937703088 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x00000000
    
    Устр-во Загр     Начало       Конец       Блоки   Id  Система
    /dev/sda1            2048    33556479    16777216   82  Linux своп / Solaris
    /dev/sda2        33556480    96471039    31457280   83  Linux
    /dev/sda3        96471040   937703087   420616024    5  Расширенный
    /dev/sda5        96473088   937703087   420615000   83  Linux
    

    В общем-то, тут

    • /dev/sda1 — своп раздел который у меня когда-то был, но сейчас просто отключен,
    • /dev/sda2 — мой рут,
    • /dev/sda5/home

    От системы у меня в наличии только initrd и вываливается dracut

    Вот его-то оказалось вполне достаточно:

    mkdir /mnt
    mount /dev/sda2 /mnt
    mount -o bind /dev /mnt/dev
    mount -o bind /dev/pts /mnt/dev/pts
    mount -o bind /proc /mnt/proc
    mount -o bind /sys /mnt/sys
    mount /dev/sda5 /mnt/home
    chroot /mnt
    dd if=/home/path/to/ROSA.FRESH.KDE.R3.x86_64.iso of=/dev/sda1 bs=8M
    touch /boot/resque.iso
    vi /boot/grub2/grub.cfg
    

    В конфигурационном файле grub находим строку содержащую rescue.iso и приводим эту часть файла к следующему виду:

    ### BEGIN /etc/grub.d/43_resque ###
    if [ -f  /boot/resque.iso -o -f /boot/sgb.iso ]; then
    submenu 'Repair tools' {
    if [ -f  /boot/resque.iso ]; then
    menuentry "Boot rescue CD" {
    linux (hd0,1)/isolinux/vmlinuz0 boot=live iso_filename=/dev/sda1 root=live:/dev/sda1 rootfstype=auto ro rd.live.image rhgb splash=silent logo.nologo rd.luks=0 rd.md=0 rd.dm=0
    initrd (hd0,1)/isolinux/initrd0.img
    }
    fi
    

    Синкаем файловую систему командой sync и перезагружаемся. Теперь у нас есть recovery раздел, с которого без проблем устанавливается система. Главное здесь — не запускать форматирование раздела sda1 при установке системы.


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

    • В инсталляторе предложить пользователю сохранить на /boot (если он создан) или /root- разделе собственно сам ISOшник, в виде файла installer.iso, с которого проходит инсталляция.
      • Да, в /boot его положить лучше, ибо тогда можно будет переинсталлировать и полностью убитые /root-разделы, но это отдельный UX-вопрос, как предложить это проще, не перегружая и так непростой инсталлятор. Пока можно просто предложить такую опцию, интерфейсно аналогично как в конце инсталляции предлагается выбрать swap-файл, если swap-раздела не найдено — т.е. еще один вопрос в конце инсталляции.
    • В GRUB-меню, в раздел Troubleshooting добавить и пункт «Переинсталляция», которный собственно и даст возможность переинсталлировать базовую систему (для начала без специальных типа сохранения /etc/passwd, и прочего) — т.е. опция скорее для не очень простых пользователей, хотя, если это ноутбук, который использует один человек, то, т.к. переформатирования /home не будет, то средней вменяемости пользователь уже сможет себе восстановить систему практически без приседаний.

    Вопрос, интересно ли это нашим пользователям, иметь возможность держать полтора гига на винте, под возможность быстрой базовой переинсталляции?

    Идея «Troubleshooting-восстановление через переинсталляцию»:

    Отличная37
    90%
    Хорошая0
    0%
    Плохая (поясню почему)4
    10%

    Linux — теперь все отлично и с играми

    Продолжим тему развлечений на «ROSA». О видео мы уже поговорили, обсудим ситуацию с играми.

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

    Xkcd mac pc.png

    Т.е. игры под Linux конечно были. Но, в основном, это open-source проекты энтузиастов, и среди тысяч пакетов с играми преобладали игры с несложной графикой: «казуальные» игрушки-головоломки, разные шахматы и карты, простые «аркадные» стрелялки-бродилки — и некоторым достаточно и этого, я повидал многих, кому на компьютере достаточно пасьянса и Lines.

    Впрочем, теперь новый уровень «казуальщины» — это броузерные игры на Flash и HTML5 — и теперь можно растить веселую ферму и рубиться в сетевые стратегии с друзьями, вовсе не задумываясь, какая система установлена, и что вообще нужно что-то инсталлировать. И с этим все ОК, ибо слава Мозилле и работающему Flashу, тут все одинаково[1].

    Но все это, увы, было недостаточно для подлинных игроков.

    • «Казуальщина» не дотягивает по уровню (графика, геймплей) до самых известных и популярных игр, скажем так, игр класса AAA, блокбастеров и бестселлеров, игр требующих 146% возможностей процессора и видеокарты.
      • Нет, конечно под Linux есть нестыдные open-source игры, вполне почти «профессионального» уровня, например, 0 A.D., Battle For Wesnoth, Xonotic, AstroMenace, Speed Dreams, но их не так много, покрыты не все жанры, плюс соображения следующего пункта…
    • И, наверное, самое важное — тут срабатывает импринтинг, ко многим популярным играм настолько привыкаешь, что расставание, или замена на аналоги, увы, не катит.
      • Не говоря о играх, в которых с друзьями рубишься по сети, или просто обсуждаешь прохождение — и тут аргументы «да XXX нет, но есть похожий YYY» — не катит. Так FreeCIV не заменит пятую цивилизацию, а любая трехмерная стрелялка не заменит CS.

    Поэтому игроману приходилось для таких игр

    • либо держать отдельный раздел с DOS/Windows — это более-менее ОК для игр-«стрелялок» требующих 100% CPU и твоего внимания, это вполне разумно («делу время, потехе час»), то в разные пошаговые стратегии можно играть параллельно с офисной работой, и тут нужна нативность для мгновенного переключениям между приложениями.
    • либо использовать разнообразные эмуляторы, типа PlayOnLinux или даже DOSBox, для совсем древних игр. В большинстве случаев, это, кстати, работает, например, у меня, к моему удивлению, работала даже пятая цивилизация, с настройками графики чуть хуже, чем под DirectX. Но все-таки это как-то не комильфо — и не так эффективно, и возможны странные баги.

    Прогресс тут резко пошел за последнюю пару лет, и связан он со Steam — теперь наверно, самой известной инфраструктурой игровой дистрибьюции от компании Valve. Эта компания известна

    • и в мире разработчиков, удивительным внутренним процессом, напоминающим то ли раздолбайство, то ли советское НИИ[2].
    • и в мире игроманов, за кучу эпичных бестселлеров, из которых серии Half-Life и Counter Strike знакомы всем, даже далеким от игр.

    Но самое известное и важное направление — это построение Steam, собственной игровой инфраструктуры с нуля, от непосредственно железа и приставок SteamBox со Linux-based SteamOS, чтобы не зависить ни от каких вендоров (операционных систем или консолей). И именно эта движуха и заинтересовала Linux-ом игроделов. Да, это не первая система цифровой дистрибьюции с Linux-играми, есть ведь и Desura, но первая, набравшая критическую массу и захватывающая всю вертикаль, от железа до пользователя.

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

    • Есть факты, что Linux-пользователи Steam оказались даже платежеспособней, чем Windows-стимеры (покупают больше игр, больше платят при распродажах «заплати сколько хочешь»), т.е. потенциально это выгодная аудитория, а не сборище халявщиков. Кстати, интересно посмотреть Steam-статистику → [1], [2].
    • Есть мнение, что для игроделов всегда выгоднее разработка под консоли, игровые приставки с фиксированными характеристиками — меньше проблем с зоопарком железа, больше профита, ибо консоли — для истинных геймеров, там больше играют, и тратят деньги на закупку игр или транжирят внутри игры. И чтобы попасть на эту новую консоль, уже сейчас надо разворачиваться и учиться делать Linux-совместимые игры.

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

    Смотрите сами, в TOP10 уже 8 Linux-совместимых (да и если смотреть топ игр дальше — чуть похуже, но все равно, Linux-совместимости все больше и больше).

    Ежедневный максимум Всего игроков Игра
    570,308 784,569 Dota 2
    71,549 149,145 Counter-Strike: Global Offensive
    50,451 85,718 Team Fortress 2
    27,909 65,717 Football Manager 2014
    22,349 58,471 Sid Meier's Civilization V
    20,498 46,407 Garry's Mod
    18,623 31,806 Counter-Strike


    Лично для меня «переломным моментом» стало портирование в мае «Civilization V» (кстати, тут можно публично пообщаться на эту тему с ее разработчиками). А исторические стратегии от Paradox уже давно Linux-совместимы — Crusader King II портировали еще год назад, а Europe Universalis IV уже вышла Linux-рожденной.

    Лично я как-то больше любитель неспешных стратегий, вот например, «мой стим»:

    Steam-клиент в ROSA GNOME (v01).png

    Да, проблемы с портированием еще есть — некоторые компании стремятся выпустить линукс-версию «как-нибудь побыстрее, хоть тушкой, хоть чучелом» — и некоторые Linux-порты теряют в качестве: либо это перенос путем встраивания Wine-эмулятора, либо разработку линукс-версии аутсорсят, либо почему-то нет локализации…

    Все это огорчает, но тренд очевиден — нет уже никакой эмиграции, и «игровая граница» между Linux и Windows почти стерта — самое важное уже работает под Linux, остальные Steam Windows-игры можно запустить из под PlayOnLinux, и кстати, Steam предлагает еще один вариант Linux-Windows гетерогенности — «стриминг».

    Можно продолжать держать Windows-десктоп для игр, а играть в них лежа на диване даже с слабеньким Linux-ноутбуком, при этом десктоп пыхтит и рендерит игровые картинки, а Linux-ноутбук удаленно управляет этой игрой, не напрягаясь и не перегреваясь. Это конечно, не очень подходит к стрелялкам, но ко всему остальному — совершенно замечательно.

    У нас Steam беспроблемно устанавливается и работает, в этом уже нет нашей заслуги — если раньше, еще год назад (скажем, для тех, кто в теме, во времена «steamhack-а»), нам приходилось делать какие-то хаки и патчи — подкладывать отстутствующие файлы шрифтов и делать симлинки на библиотеки и т.п. (ведь бета Steam-клиент был «захардкожен» под Ubuntu), то сейчас — это такой же steam, как и у всех.

    Кстати, мы думаем, а не стоит ли Steam включить в образ? С одной стороны, вроде идея хорошая, с другой:

    • все равно потребуется интернет для инсталляции игр, а тогда можно поставить Steam из репозиториев.
    • надо будет договариваться с Valve, обсуждать юридические тонкости — а это непросто. Ибо известно, что почти нереально дождаться от Valve ответов на свои запросы.
    • кому-то может не понравится наличие «проприетарщины»…

    Но спросим:

    Идея включить Steam-клиент в инсталляционный образ дистрибутив ROSA Fresh…

    Отличная200
    80%
    Хорошая23
    9%
    Плохая (поясню почему)27
    11%


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

    Куча ноутбуков для тестирования графики и Steam-игр.jpg

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

    Тестовый стенд для тестирования графики.jpg

    При тестировании мы используем и широко известные Phoronix-тесты, так и ручное «проигрывание» Steam-коллекций сотрудников[3].

    Тестовый стенд с Phoronix-тестами.jpg

    Про процесс тестирования, впрочем, надо писать отдельную статью, а пока лишь отметим, что в целом, если технические требования игры удовлетворены, то скорее всего, все будет хорошо, и главная нетривиальность — не забыть поставить правильный видеодрайвер. Скорее всего, наиболее эффективным будет проприетарный драйвер видеокарточки, и для его инсталляции достаточно лишь запустить нашу утилиту XFdrake, которая сама все скачает и настроит[4].

    Мы кстати, размышляем, надо ли как-то напоминать или предлагать запускать XFdrake при первом подключении к сети? Именно в этот момент можно проверить, есть ли проприетарные драйвера AMD/Nvidia для видеокарты, и предложить их использовать.

    Идея запускать XFdrake после инсталляции/при первом подключении к сети, если есть проприетарные драйвера для найденной видеокарты…

    Отличная130
    86%
    Хорошая10
    7%
    Плохая (поясню почему)12
    8%

    Так что еще раз отметим

    • все что может играть под Linux — популярные open-source игры, все Linux-игры из Steam,

    эмуляторы DOSBox и PlayOnLinux — все работает,

    • графическую подсистему тестируем, нужные патчи проносим,
    • есть XFdrake — утилита, которая автоматически поставит проприетарные драйвера для видеокарт.

    И теперь, искренне, а не на правах рекламы, мы можем направить вас в Steam за Linux-играми, в котором до 30 июня идет традиционная летняя распродажа! А многие теперь получают удовольствие именно от покупки («раньше мы играли в игры, за которые не платили, теперь платим за игры, в которые не играем»), делая запас на будущее, для игр с детьми и т.п.



    Unity of Command. Скриншот карты.png

    Ну и в конце, для дочитавших — бонус. Краткий обзор Unity of Command — не очень популярной, но увлекательной пошаговой стратегии основных сражений Великой Отечественной Войны.

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

    Я играл вместе с сыном-младшешкольником[5], совершенно наглядным образом объясняя-показывая

    • и важность снабжения (без него любое сопротивление стихает максимум через неделю), на которую не общают внимания во многих стратегиях.
    • тактические приемы танковых прорывов, окружений, блицкригов.
    • почему кавалерия вполне рулила в ВОВ, несмотря на танки.
    • важность мостов, перекрестков и железных дорог,
    • стойкость солдат разных армий («почему под Сталинградом надо прорываться через румынские дивизии»)
    • необходимость жертвовать войсками, чтобы выиграть позицию или время…
    • географию СССР.

    Как это выглядит — проще всего увидеть на короткой записи моей версии прохождения операции «Уран» с сталинградским контрнаступлением и окружением армии Паулюса:

    Если не боитесь спойлеров, или вы начали играть, что-то не получается и хотелось бы подсказки, вот «блестящие победы»[6] в моем исполнении, записанные штатными средствами ROSA Fresh GNOME, см.

    А также «Don Offensives», «Race for Rostov», «Orel-Bryansk», «Little Saturn».

    Сейчас распродажа, и все это удовольствие со всеми дополнениями можно за 150р.


    И наконец, перепись тех, кто дочитал до конца…

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

    Ввела в экстаз ^_^19
    11%
    Порадовала :)149
    84%
    Оставила равнодушным -_-8
    4%
    Огорчила :(2
    1%
    1. За очень-очень-очень редкими исключениями
    2. См. например, [3]; впрочем, лично я ориентируюсь на рассказы моего товарища, поработавшего с ними
    3. Так что если вдруг кто-то увидит у нас играющих в рабочее время — вы все неправильно поняли, мы тестируем.
    4. По юридическим соображениям, мы не можем включать проприетарные видеодрайвера в дистрибутив, поэтому наш мастер настройки XFdrake, выкачивает их с сайтов после установки системы. Ну и отдельный вопрос — это хитрости запуска видеокарт серии Optimus, про которых нужно тоже писать отдельную статью
    5. Дети — отличное оправдание играм во взрослом возрасте, их нужно завести хотя бы для этого.
    6. Все цели взяты вовремя.