June 22nd, 2011

glider

убунта, часть 2: установка

часть 1: первый взгляд
часть 2: установка
часть 3: софт
часть 4: интероп с виндой
часть 5: обратно на винду

Поставил убунту не только на десктоп, но и на ноут. Три недели - полет нормальный.

Самым главным удивлением при установке ОС было то, что нигде не понадобились драйвера - даже USB-tethering через телефон заработал из коробки сразу после втыкания шнурка. Это же касается и ноута (U31JG). Он вышел в начале этого года, но в убунте уже были под него дрова. Завелись даже комбинации клавиш Fn+XXX (кто настраивал сабжи для vaio под windows xp, тот поймет, почему я так заостряю внимание на этом малозначительном факте =)). Еще вот вспомнил прикол. До установки убунты я был абсолютно уверен, что у меня в ноуте нет блютуса. Уверенность эта базировалась на том, что ни один из блютус-драйверов с сайта асуса на ноут не поставился. А так как я брал самую мегабюджетную вариацию ноута, то подумал, что так и надо. Оказалось, что блютус есть =)

Впрочем, были и неприятные моменты. Во-первых, убунта не задетектила SSD (хотя это очень просто - сам потом написал скрипт) и TRIM пришлось включать самому. Еще непонятно, почему убунта по умолчанию не использует noatime. По-моему, atime (запись времени последнего обращения к файлам) это фича весьма сомнительной необходимости, но высокой деструктивности для SSD. Я погуглил интернет, и он вроде тоже разделяет мое мнение.

Во-вторых, где-то после 10.04 в убунте отломали vsync в связке x-server + opengl + nvidia drivers. В итоге получается вот так, особенно это вырубает при просмотре видео в моменты плавного горизонтального движения камеры. Применив все советы по ссылке выше, я каким-то чудом починил vsync, но какой из 100500 советов сработал проверять боюсь - вдруг, снова отвалится.

В-третьих, на ноуте из коробки не завелись suspend и hibernate. Первый опыт меня вообще поверг в ужас - по нажатию кнопки suspend экран ноута гаснет, но сам ноут продолжает тихо жужжать веником и не выключается. То же было и с hibernate. Оказалось, что это из-за того, что убунта сама не умеет отключать некоторые EHCI устройства, поэтому и показывает черный экран (ибо видеокарта уже уснула), но выключиться полностью не может (ибо некоторые устройства все еще работают). Фикс нагуглился весьма быстро: по сигналу засыпания нужно руками попросить проблемные устройства уснуть, а по пробуждению - включить их обратно (клик). "Руками" это в смысле скриптом, который запускается автоматически, а не то, что вы, возможно, подумали.
glider

убунта, часть 3: софт

часть 1: первый взгляд
часть 2: установка
часть 3: софт
часть 4: интероп с виндой
часть 5: обратно на винду

После трех недель опытной эксплуатации убунты могу сказать, что софт нашелся под все задачи, которые я привык выполнять на винде. Ну, или почти под все - за двумя исключениями. Во-первых, студия и прочее окружение для разработки под .NET. Во-вторых, офис. OpenOffice/LibreOffice это хорошо, но на сложных вордовских документах он складывается. Кроме того, даже на некоторых простых формочках он сбивает лаяут страниц. Интересно, как решать эту проблему. Свои документы можно научиться ваять в латеке, но что делать с внешним миром? Может быть, у вас есть идеи на эту тему?

Особенно приятно то, что удалось почти полностью автоматизировать установку операционки, используемых программ и применения своих настроек к сабжам. Скрипт состоит из двух частей. Первая - бутстраппер, который накатывает базовые настройки на голую систему и устанавливает дропбокс (здесь нужно ручное вмешательство, ибо, мне кажется, что забивать в скрипт пароль от аккаунта дропбокса - это некошерно). Вторая - все остальное из дропбокса (работает полностью автоматически). В итоге, на развертывание рабочего окружения с нуля уходит около получаса. Это, несомненно, прорыв по сравнению с многочасовой установкой и настройкой виндового окружения. Конечно, виндовые MSI-установщики можно заставить работать в тихом режиме и устанавливаться из батча, но кастомные EXE-инсталлеры придется прокликивать руками.

Насчет скриптования. Это было мое второе знакомство с линуксом, и, соответственно, в баше и прочем я был ни бум-бум. Впрочем, это и к лучшему - в итоге, за веселым и полезным времяпрепровождением удалось немного прошариться в баше. В этом мне очень помогли три ресурса. Во-первых, конечно, гугл. Во-вторых, пост уважаемого gds под названием safe bash coding guidelines (set -o errexit - это мое самое клёвое открытие в баше, хотя с set -o nounset я так и не подружился). В-третьих, прекрасный и замечательный вики Greg's Wiki, в котором кроме последовательного гайда объяснены многие полезняшки баша с вариантами обхода проблемных мест. Дошло даже до маразма вроде сборки XML из командной строки (для того, чтобы автоматически поставить плагин "Gmail Compose" для Оперы). В любом случае, это тоже было полезно - теперь большие и сложные скрипты на баше у меня писать нет желания =)

Соответственно, возникает вопрос: на чем кошерно писать скрипты под линукс? У меня в голове вертятся две опции: питон и перл. Плюс, я еще когда-то слышал про тикль. Пока что я склоняюсь к изучению второго питона (ибо под третий пока что мало что есть) и даже нашел вроде бы хороший гайд. Впрочем, я буду очень рад услышать альтернативные версии ответа на вопрос. По большому счету, с чем начинать разбираться мне все равно - в плане скриптовых языков у меня в голове абсолютная табула раза, поэтому за хороший совет буду благодарен. upd. После некоторых размышлений начал с перла. Очень понравилось!

Наконец, последний вопрос на сегодня. С Убунтой я немного разобрался, и поэтому стало интересно - чем разные дистрибутивы линукса отличаются друг от друга? Вот, например, в кружке ребе <lj user=" /> активно продвигают генту и пинают дебиан. Почему так? Особенное недоумение у меня вызывает последний факт. Вроде бы убунта это как бы тоже дебиан, а к убунте уважаемые ребе относятся даже слегка положительно.