Google Analytics

вторник, 29 ноября 2011 г.

Знакомство с ROSA Media Player 1.0

На Opennet.RU узнал о новом форке моего любимого медиаплеера(SMplayer). ROSA Media Player 1.0 разработан российской компанией РОСА. Проект базируется на базе SMPlayer, и нацелен на оптимизацию настроек по умолчанию, и расширенную поддержку проигрываемых форматов. Пару снимков экрана:
Первый запуск после сборки пакета. Вид дефолтный.
Это воспроизведение видео.
Видео эквалайзер.
Теперь о впечатлениях. Интерфейс пользователя очень простой и приятный. В меню есть доступ ко всем функциям плеера, но они не мозолят глаза. Тулбар убрали, как и лишние элементы управления на нижней панели плеера. Вид на твёрдую десятку. Функционал тот же, что и у его прародителя - известного всем юзерам Linux медиапроигрывателя SMplayer. Который к сожалению уже год, как застыл без развития. Если вы ищете проигрыватель для нормального воспроизведения фильмов с множественными встроенными и/или внешними аудио или видео-дорожками, фильтрами и эквалайзерами для видео и звука, а так-же приятным интерфейсом - посмотрите на ROSA Media Player. Он того стоит. Да, на AUR я запостил PKGBUILD. Так-что пользователи Archlinux могут просто установить плеер при помощи pkgbuild или packer.

четверг, 17 ноября 2011 г.

Впечатление от просмотра Atlas Shrugged: Part I

Сегодня глянул Atlas Shrugged: Part I с русскими субтитрами. Да, в английском я не силён. Понимаю далеко не все реплики героев. Но смотря фильм с оригинальным звуком я имел удовольствие слышать настоящие голоса актёров, запоминал новые слова и произношение уже знакомых слов, и наблюдал за мимикой актёров. Это очень полезно для изучения языка.
Теперь о фильме. Очень сильный фильм. Порождает бурю мыслей и эмоций. Есть у меня книга, по которой сняли фильм, и пожалуй я прочту все части. Да, любителям теории всеобщего равенства и радикального социализма весьма полезно глянуть этот фильм. Конечно, это не вся правда, но то немалая её часть. Пугает, что мир сейчас движется как раз в направлении, показанном в фильме. Бедные нищают, богатые богатеют, быстро как никогда в истории. И этот разрыв, и и вырождение среднего класса приведут к тому, что люди легко подадутся на уговоры некоторых демагогов брать у богатых и раздавать бедным. Мир ждёт много потрясений, и в результате идея делить всё "справедливо" между народами Земли получит широкую поддержку. А ведь без стимула исчезнет стремление к развитию, мир попадёт в грандиозный коллапс. Ум, трудолюбие и способности перестанут ценить.
Я не против некоторых идей социализма. Но при этом вэлфор в США, пособия всяким тунеядцам и лентяям в Великобритании и других развитых странах и т.п. превращают людей в потребителей которые громко кричат о своих правах, требуют лучшей жизни и ничего не делают для лучшей жизни. Уравниловка превращает людей в серую массу, ленивых и считающих что им все должны в этой жизни людей. Простая идея меритократии - вот то, что является реальным выходом из надвигающегося на наш мир системного кризиса, но политики и часть экономической элиты ради своих шкурных интересов готовы делать то, что их прототипы делают в этом потрясающем фильме. Ради дешёвой популярности среди экономически,и политически, безграмотного народа они готовы идти на популярные, но губительные для развития экономики, и общества, идеи. Если вы - человек думающий, этот фильм для вас. И книга тоже. Тем более, что они весьма актуальны.
P.S.: Да, я сейчас читаю "Богатый папа, бедный папа" Роберта Кийосаки, и это тоже нечто! Книга порождает много мыслей, и на многое открывает глаза. Хотя, как и данный фильм, она тоже не истина в последней инстанции. Но Бог для того и дал нам разум, что-бы мы его употребляли, а не принимали всё на веру. Размышления - самая ценная часть нашей жизни, и данный фильм как раз на них наводит. Меня это очень порадовало, таких фильмов мало. Как не вспомнить Декарта с его: "Cogito, ergo sum".

воскресенье, 16 октября 2011 г.

Последние новости с личного фронта

Больше месяца не писал ничего в своём блоге. Так как был очень занят. Пошёл учится на бухгалтера, а также был занят работой над созданием интернет-магазина http://rukodelie.md.
Магазин начал делать на Joomla 1.5 и Virtuemart ветки 1.2x. Это была большая ошибка, так как Virtuemart 1.x не будет развиваться дальше, а перспективы Virtuemart 2.0 призрачны. Как всё сложится у проекта, покажет время. К магазину нужен был блог, поэтому я и хотел сделать всё на Joomla. Сделать под него один шаблон проще, чем шаблон под движок интернет-магазина и шаблон для Wordpress. Но получилось так, что с нормальным свободным движком блога для Joomla возникли трудности. Начал я переносить наработки(шаблон и прочее) на Joomla 1.7, и свежий Virtuemart 2.0 RC2. Оказалось, что Virtuemart новый не приспособлен для работы с мульти-язычным сайтом, и пришлось срочно искать новое решение.
В результате я остановился на движке Prestashop для интернет-магазина, и Wordpress для блога. Prestashop понравился своей скоростью работы, подходящими требованиями к хостингу и своим функционалом. А Wordpress как движок для блога просто идеален.
Было сложно, я примерно 4-5 лет не писал ничего на PHP, меня как-то больше интересовала Java и особенно Python. Но оказалось, что былые игры с PHP оставили определённые навыки, да и понадобились мне они всего пару раз, при создании шаблона для блога.
Шаблон для Prestashop использует Smarty третьей версии. Не люблю я шаблонизаторы для PHP, а этот особенно. Пожалел, что не выбрал OpenCart - проект, который тоже отлично подходил под мои нужды. Но данный движок имеет ещё более скудную документацию, чем Prestashop, поэтому всё-таки остановился я на Prestashop.
В принципе, Joomla и Wordpress намного приятней в плане создания шаблонов, чем Prestashop. Их шаблоны проще, и на нормальном PHP. PHP - это в первую очередь идеальный шаблонизатор и очень гибкий препроцессор для HTML. Так зачем совать в проект Smarty, который больше похож на ещё один препроцессор со своим языком? Тем более, что Eclipse не код шаблонов Smarty? И в них из-за этого сложно что-нибудь найти. То ли дело с PHP при установленном PDT.
Проект я практически закончил, а выводы для себя сделал:
  1. Выбор оптимально подходящего движка - первоочередная задача. Нельзя начинать активную работу над проектом, пока не будет выбран оптимальный для данной задачи движок.
  2. Легче сделать одинаковое оформление для двух движков, чем играться с одним, но не совсем подходящим.
  3. По возможности стоит избегать шаблонизаторов, которые похожи на ещё один язык программирования. Не стоит плодить лишние сущности.
Ну, и я познакомился с Joomla, Virtuemart, Prestashop и Wordpress, Даже немного с Opencart. Кроме того, обнаружил как мало я знал о CSS-селекторах. Нашел удобный препроцессор для CSS, который очень мне помог в работе над проектом, и узнал много нового и интересного. О SCSS, использовании его, Eclipse и Apache Ant в одной связке и прочих интересных вещах я напишу на следующей неделе...

пятница, 2 сентября 2011 г.

Давно не писал ничего в своём блоге. В августе у меня полетела материнская плата, я пытался перепаять полетевший элемент, но без нормального фена и паяльной станции ничего не получилось.
А я ещё должен был делать сайт с интернет-магазином, и поломка случилась очень не вовремя...
Но. слава Богу, я смог найти необходимую сумму и купил новую материнку, процессор и оперативную память.
Было до поломки
CPU Mainboard RAM
Semron 3000+ Biostar NF61S MICRO 754 SDRAM DDR 400 2x512Mb
Стало после незапланированного апгрейда
CPU Mainboard RAM
Athlon II X2 220(AM3) Biostar N68S3B SDRAM DDR3 PC10600 1x2Gb
Как видите, я довольно непревередлив. И использую самое простое железо, которое годится только для офисной работы. Играю я редко, да и в довольно несовременные игры, так-что скромность железа вполне объяснима. Да и апгрейды у меня всегда незапланированные, и происходят тогда, когда проблема с финансами. Хочу выразить благодарность парням из Cosmo они не раз выручали меня, и я всегда рекомендую их своим друзьям и знакомым. Высокий профессионализм и замечательное отношение к клиентам - это визитная карточка их центра. Во всяком случае, Чеканского филиала точно. У меня есть дисконтная карточка, но парни меня знают, и дают мне скидку даже до того, как я предъявляю карточку. Ну, и помогают подобрать железо по средствам. В других центрах с меня хотели содрать больше, чем у меня было. А ребята выручили, как всегда. Предоставив скидку. Ну а я подкидываю им иногда клиентов, посылая их к ним, а не к их конкурентам. Хорошее отношение к клиенту порождает желание иметь дело с проверенным продавцом. Некоторые мелочи я иногда брал и в других местах, но когда дело касается серьёзной покупки - стоит обращаться к проверенным продавцам.
Теперь об ощущениях от нового железа. Два ядра - это намного лучше одного, я осознал это компилируя пакеты для Archlinux. Ну и просматривая видео в 720p и выше. На старой конфигурации такое видео тормозило, теперь не тормозит. А так, как встроенные видеокарты от NVidia не имеют поддержку аппаратного декодирования h264, для меня важна возможность просматривать видео с софтовым кодеком.
Что касается оперативной памяти, то с двумя гигами Eclipse IDE сталf на удивление шустрой, и работает одновременно с Google Chrome, при этом ещё остаётся свободная оперативная память, и ничего не тормозит. Это чудесно!
Как говорят на Руси: не было бы счастья, да несчастье помогло. Так и в данном случае. Мучался я бы с нехваткой оперативы и тормозами при просмотре HD-видео, но получилось иначе. Желаю всем счастливых(и своевременных!) апгрейдов, и продуктивной работы. Не забывайте проведать мой скромный блог, иногда в нём мелькает что-то полезное:)

воскресенье, 7 августа 2011 г.

Проблема с монтированием флеш-карты после удаления HAL

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

Удалил я его, и в моём archlinux перестали монтироваться флешки. Я и документацию по udev/udisks прочитал, и правила для монтирования набросал. И ведь udisks флешку видел, это по выводу команды --monitor хорошо было видно. И я же, вроде, правила создал - как в https://wiki.archlinux.org/index.php/Udev#Auto_mounting_USB_devices советовали. И все рекомендации испробовал, и правила из /lib/udev/rules.d/ в /etc/udev/rules.d/ перекинул, а то вдруг они udev не видны... Но все эти шаманские пляски с бубном моей системе помогли не больше, чем мёртвому - припарки. А флешка всё не монтировалась, как и до всех этих процедур. Неужели коллективный разум ошибся с советами? Конечно, я смонтировал ей командой mount из-под рута, но это не очень правильный и удобный вариант.

Стал я смотреть в чём же всё-таки причина проблемы. Просмотрел различные правила монтирования... И тут меня осенило! У меня же каталог /media(в котором должны были создаваться файлы для точек монтирования) пропал как раз на днях из корневой директории. Он когда-то появился вместе с HAL, так с ним и сгинул видать при удалении.

Командой

mkdir /media

создал нужный каталог.

А потом выставил на него нужные права доступа:

chown root:disk /media
chmod 760 /media

Теперь монтировать и отмонтировать каталоги могут все пользователи из группы disk, ну а root может ещё и запускать с неё ПО. Все, кто не входит в группу, могут забыть о разделах на флеш-картах, USB-накопителях и прочих подобных устройствах, не прописанных в /etc/fstab.

воскресенье, 31 июля 2011 г.

Столкнулся с ошибкой: ant: command not found. Метод решения данной проблемы.

Столкнулся сегодня с маленькой неприятностью: в моём archlinux не работала утилита apache-ant. Как следствие, я просто не мог собирать проекты на Java из командной строки, а запускать каждый раз Eclipse(он имеет свою копию apache-ant), каждый раз как-то утомительно. Вместо процедуры сборки я получил сообщение "ant: command not found". Ясно, что установленный apache-ant просто не прописан в переменной $PATH. Что же делать? Как-то не хочется каждый раз выставлять её вручную.

Значит мы сами исправим положение. Редактируем файл /etc/profile.

sudo emacs -nw /etc/profile

И редактируем в нём запись:

# Set our default path
PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/java/bin"
export PATH

Добавляем к записи строку вида ":/usr/share/java/apache-ant/bin". Все пути в переменной разделяются через двоеточие. Получаем запись вроде этой:

# Set our default path
PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/java/bin:/usr/share/java/apache-ant/bin"
export PATH

И наконец, настало время применить внесённые нами в переменную:

source /etc/profile

Ну, вот теперь всё готово. У меня одно время не были установлены переменные для JRE и JDK, проблема решается так-же редактированием этой-же записи.

Полезные приёмы для работы с переменными в $PATH.

Узнаём содержимое переменной:

echo $PATH

Изменяем содержимое переменной PATH на лету:

PATH=$PATH:~/bin#наш новый путь, который мы добавляем в переменную идёт после двоеточия

Добавив строку подобного вида в файл ~/.bash_profile и использовав команду source, мы пропишем новый путь в переменную PATH только для нашего профиля(изменяя /etc/profile мы изменяем переменную на уровне всей системы).

Узнать путь, который надо добавить, можно простой командой

yaourt -Ql apache-ant

Выделяем из кучи каталогов нужный нам bin командой:

yaourt -Ql apache-ant|grep bin

Для написания заметки использовались сведения из следующих источников:

http://qa-room.com/ https://bbs.archlinux.org

четверг, 14 июля 2011 г.

Как я попал в Google+

Пока идёт тестирование новой социальной сети Google+, в ней можно зарегистрироваться только по приглашениям. И вот, в поисках инвайта слонялся я на Хабре(ресурс, на котором много народу из айтишников) и попал в нужный тред. Там раздавали инвайты. Но тема было только для зарегистрированных на Хабре людей, а регистрацию на Хабре ещё надо заслужить. В общем, я уже отчаялся получить приглашение, но заприметил адресок блога, на котором добрый человек раздаёт приглашения всем желающим.
Я написал  свой адресок, и получил приглашение, за что огромное спасибо Димантосу aka Дмитрию Боровских. Если у вас есть желание получить приглашение, вы можете написать об этом в комментарии к данному посту, связаться со мной используя данные из моего профиля Facebook, или посредством чата(смотрим на баннер Google Talk и стоящий рядом contact us). Опубликованные в открытом доступе адреса  могут попасть к спамерам, поэтому  по возможности используйте  чат, если я есть в сети.  Сразу послать приглашения не обещаю, но вышлю как только смогу. Да и про вышеприведённые странички про раздачу инвайтов не забывайте. Хочется попасть в новую социальную сеть раньше своих знакомых? Пользуйтесь возможностью, ведь не известно, как потом будет идти регистрация.

Парочка скринов:
Только присоединяюсь к Google+. При этом используется мой профиль Google, который есть у каждого кто зарегистрирован на каком-то сервисе Google(например на GMail)
 
 Google+ просит подключить мой профиль Picasa
 Я на своей страничке. Cool!

Ух-ты, тут такой же чат, как и на GMail. Знакомый чат. Я его и к блогу приделал.А ещё есть видео-чат, но пока не могу его опробовать - надо друзей пригласить.
 



четверг, 7 июля 2011 г.

Google+

Только сегодня узнал о том, что Google решил запустить новую социальную сеть. У них уже были эксперименты в этом направлении, в частности проект социальной сети Orkut. Orkut стал популярным в Бразилии и Индии, но не смог догнать по популярности такие сети как ВКонтакте в России, или Facebook в Северной Америке.

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

Но рынок контекстной рекламы очень лакомый кусочек, а собственная социальная сеть позволит изучить привычки и пристрастия клиента, и соответственно им выдавать нужную рекламу(направленную на нужды конкретного индивида). За такой рекламой будущее, и в Google очень хорошо это понимают. А значит, компания будет предпринимать попытки создать успешную социальную сеть до тех пор, пока не добьётся успеха. И они предприняли ещё одну попытку подвинуть Facebook и прочих конкурентов.

Новый проект от Google носит скромное название Google+. Этот проект выделяется среди конкурентов сразу несколькими интересными решениями. Рассмотрим их подробнее:

  • Круги - в них вы можете добавлять ваших родственников, друзей и знакомых, одноклассников, коллег и т.д. просто формируя один круг своего окружения, за другим. И помещая в них ваших знакомых, ранжируя их по кругам-группам. Очень удобно и практично. И смотрится симпотично:) Ну и настройки безопасности для каждой из групп помогут вам выставить нужный уровень доступа к вашим ресурсам. Хотите показать что-то только членам семьи? Легко. Поделиться роликом с друзьями? Тоже нет проблем. Вы вольны рассказать о себе, и показывать окружающим только то, что вы желаете показать. И тем, кому желаете:) Это огромный плюс данного проекта. 
Ролик в тему:
  • Видеоконференции на основе технологии Google Talk. Да, ВКонтакте и Facebook имеют мегаудобную фичу, под названием Jabber-чат. Но Google пошёл дальше, и в результате мы видим полноценную реализацию видеочата с режимом конференции сразу с восьмью пользователями. Так, как в основе VoIP решений корпорации Добра используется только Ъ-технология Jingle(построенная поверх XMPP/Jabber как расширение протокола) - вы скорее всего сможете общаться не только через сайт, но через любой клиент с поддержкой протоколов Jingle/Google Talk(старая версия протокола, реализованная в клиенте Google Talk для Windows)

Смотрим в действии:
Sparks - это сервис, помогающий сохранить ролик или статью, и поделиться им с друзьями. Может и не мегакиллерфича, но мне идея очень по душе. А простота реализации вне всяких похвал.
Заключение: идея выглядит очень перспективно. Радует то, что Google решил наконец сконцентрировать все сервисы в одном месте, и даже провести ребрендинг проектов Blogger и Picasa. Очень нравиться чистый и простой, интуитивно понятный интерфейс нового проекта. Надеюсь, проект объединит в себе и такие сервисы как Google Reader и Gmail. Это позволит общаться, читать новости и получать почту из одного места - странички на Google+. Материалы для ознакомления(да, там всё на английском):
  1. The Google+ Project

суббота, 18 июня 2011 г.

Раньше срока стал доступен релиз Firefox 5

Да, на FTP-сервере компании Mozilla действительно выложили релиз своего флагманского продукта - замечательного свободного браузера Firefox. Главные изменения:

  • Добавлена поддержка CSS-анимаций Опция Do-Not-Track была перенесена в более заметное место
  • Улучшена производительность canvas, JavaScript, памяти, и производительности в сети 
  • Улучшена поддержка стандартов HTML5, XHR, MathML, SMIL, и canvas 
  • Улучшена проверка орфографии для некоторых локалей 
  • Улучшена интеграция с рабочим столом в ОС Linux 
  • WebGL больше не подгружает кросс-доменные текстуры 
  • Для улучшения производительности для фоновых вкладок были изменены значения setTimeout и setInterval до 1000ms 
  • Переключатель каналов разработки Firefox, представленный в ранних бета-версиях, был удалён. 
  • Есть и другие, менее заметные изменения. 
Если вы пользуетесь Arch Linux, и не боитесь загружать пакеты из AUR - вам стоит установить пакет firefox-5-bin, что-бы получить релиз пятой версии браузера:

yaourt -S firefox-5-bin

Так как браузер установится в директорию "/opt", то проблем с конфликтами в вашей системе не будет. А через несколько дней в репозиториях Firefox  5 версии заменит четвёртую версию, и можно будет удалить firefox-5-bin.


Скрин установленного Firefox 5. Как видите, слово beta уже отсутсвует в диалоге About, но пока ещё не пофиксили информацию на оффсайте. Подозреваю, из-за этого релиз оффициально ещё не был объявлен...




четверг, 16 июня 2011 г.

Ищем замену GDM для входа в систему

Я последнее время частенько метаюсь между Gnome3, KDE 4 и Awesome. При этом выбор нужной WM/DE осуществлялся через GDM. Но при работе в Awesome/KDE использование гномовского GDM как минимум не оправдан. Смотрим зависимости GDM:
libcanberra libxklavier tcp_wrappers gnome-session upower accountsservice consolekit xorg-xrdb
Как минимум, gnome-session вызывает подозрение. Он тянет за собой ещё некоторые специфичные для Gnome зависимости. Значит, нужен Display Manager способный использовать GTK или Qt на выбор, и не имеющий специфичных для одной среды зависимостей. Нам нужен лёгкий и гибкий дисплейный менеджер. Что для этого надо?
Среди нескольких подходящих проектов выделяется один -это LightDM. Он довольно лёгкий(меньше 10 000 строчек кода на C, а у GDM их почти в пять раз больше), среди написанных для него интерфейсов для логина(greeter's) есть как GTK интерфейс, так и Qt. Кроме того, есть ещё и greeter на базе WebKit.
Устанавливаем это чудо(Внимание! проект в активной разработке, и будет зарелизен только к выпуску Ubuntu 11.10, для которого и разрабатывается). Но разве арчевода чем-то таким испугаешь? Да и юзера бубунты тоже:)

Ставим в Ubuntu:

$ sudo add-apt-repository ppa:robert-ancell/lightdm
$ sudo apt-get update
$ sudo apt-get install lightdm lightdm-theme-webkit

В Arch:

$ yaourt -Sy lightdm lightdm-webkit-greeter 

Теперь в /etc/lightdm.conf мы можем настроить всё под себя. Помним, что "#" в начале строки комментирует её, поэтому для указания опции убираем в начале строки этот символ, и правим значение идущее после символа "=":

В [UserManager] полезные опции:

#load-users = true      #Указывать список имён пользователей в greeter или нет.
#minimum-uid=           #Указать минимальнй UID пользователя, начиная с которого будут отобранны пользователи для отображения в листе пользователей.
#hidden-users =         #Указать список пользователей, которые не будут отображены в листе выбора имени пользователя.
#hidden-shells =        #Shells that indicate a user cannot login 

В [default-display] полезные опции:

vt=7                             #строка для указания виртуального терминала, на котором будет запущен менеджер, по умолчанию 7.
#session=gnome                   #Устанавливает сессию принудительно в Gnome, KDE или любую другую указанную в этой переменной.
#default-user=bob                #Пользователь, который будет выбран по дефолту. Укажите своё имя пользователя, или оставьте закоментированным.
#default-user-timeout=5          #Тайм-аут, после которого автоматически будет выполнена попытка входа под именем дефолтного юзера.
#default-user-session=           #Определяем дефолтную сессию для дефолтного юзера.
#greeter-theme=example-gtk-gnome # указываем тему, которую будет использовать greeter.

Варианты значения для greeter-theme:

  • example-gtk-gnome -простая тема gtk, простая и удобная.
  • example-vala-gtk-gnome -Очень простой пример, написан на языке vala.
  • example-python-gtk-gnome -Не получилось потестить, подозреваю что дело всё в необычном для других дистибутивов наименовании интерпретатора python версии 2.x в archlinux.
  • example-qt-kde - Для фанов Qt, неплохой пример темы с использованием популярного тулкита.
  • webkit - А это пример темы, использующий HTML+Java Script в WebKit. Самая многообещающая технология для построения тем, и от тулкита не зависит. Подойдёт для фанов любой DE/WM, и не вызовет приступ тулкитофилии у суровых адептов различных сред. Но пока тема очень нуждается в доработке, потому что в ней не реализован выбор DE/WM, выбор языка и опции управления питанием.

Отсутсвие webkit в Arch Linux(уже устарело, я добавил lightdm-webkit-greeter в AUR)

Информация из этого пункта устарела из-за того что я вспомнил что являюсь членом сообщества AUR,  и опубликовал на нём скрипт сборки недостающего  пакета, поэтому дружно его пропускаем:)
Теперь о печальном. Темы webkit просто нет в AUR(не верите, см. в каталоге "/usr/share/lightdm/themes", поэтому пользователи archlinux должны ручками собирать её отдельно.

PKGBUILD для сборки темы webkit:

pkgname=lightdm-webkit-greeter
pkgver=0.1.0
pkgrel=1
pkgdesc="A lightweight display manager"
arch=('i686' 'x86_64')
url="https://launchpad.net/lightdm"
license=('GPL3' 'LGPL3')
source=("http://people.ubuntu.com/~robert-ancell/lightdm/releases/$pkgname-$pkgver.tar.gz"
)
depends=('libwebkit' 'lightdm')
options=(!libtool)
makedepends=('gnome-doc-utils' 'gobject-introspection' 'pkg-config')

build() {
  cd $srcdir/$pkgname-$pkgver
     ./configure --prefix=/usr \

     --sysconfdir=/etc --libexecdir=/usr/lib/lightdm
   make || return 1
}

package() {
  cd $srcdir/$pkgname-$pkgver
  make DESTDIR=$pkgdir install
}

md5sums=('116061688e85e375096306a4bd38269b')
Сохраняем скрипт сборки в файл PKGBUILD, и натравливаем на него makepkg:
cd <путь к каталогу, в котором лежит сохранённый файл>
makepkg -s PKGBUILD
sudo pacman -U lightdm-webkit-greeter-0.1.0-1-x86_64.pkg.tar.xz
Теперь и в arch можно юзать тему webkit, её сильная сторона - изменение дизайна под силу любому человеку, знакомому с HTML/CSS и JavaScript:)

Подборка скриншотов:

 example-gtk-gnome(мой выбор)
  example-qt-kde
  example-vala-gtk-gnome
  webkit

пятница, 10 июня 2011 г.

На днях попросил меня знакомый починить один компьютер. Он не реагировал на включение. Замер тестером напряжения на кабеле, идущем от сети 220 к PSU показал нормальные для Кишинёва 230V. Значит, проблема скрывалась в БП, материнке или кнопке включения. Сняв большой(20-пиновый) коннектор с материнской платы, я переключил тестер в режим измерения силы тока, на 10A. В этом режиме тестер подключает параллельно измеряющей схеме ещё и резистор с очень маленьким сопротивлением. В результате мы можем легко замкнуть цепь между зелёным и чёрным проводами PSU, запустив его в холостом режиме(нужна небольшая нагрузка, например куллер, если мы собираемся ещё и напряжения измерять). Замкнул цепь, а БП мёртвый...

Разобрал БП. а там умерший куллер, сгоревшие терристоры и обуглившаяся плата. И три вспухших кондёра, а один из больших кондёров вообще потёк. Коричневатый оттенок приобрёл и коннектор +12V, идущий на материнку. Слава Богу, материнка и периферия не пострадали...

Вчера купил в любимом из близлежащих магазинов(их сайт - matrix.md) блок питания HPSU500W ATX-1.3, P-IV, CE, (24pin+2SATA) фирмы Hantol, и Spire SP14025S1L3 CaseBlower 140x140x25mm/3pin/AirFlow:75.6cfm/1500RPM/24dBA. Цена покупки: 228 лей за БП, плюс 55 лей. Дополнительная система охлаждения понадобилась, из-за того, что системный блок плохо охлаждался, и нужна была принудительная вентиляция.

Как оказалось, 140mm - это я что-то переборщил. Сегодня пришлось менять. Ребята в компьютерном салоне Matrix оказались отзывчивыми, заменили его на Spire SP12025S1L4 CaseBlower 120x120x25mm/3pin/AirFlow:65.8cfm/1500RPM/21dBA. Установил, проверил и повёз компьютер клиенту домой. Служба такси 1422 как всегда проявила отличную оперативность, за что им отдельный респект. В результате компьютер вернулся к хозяину, ну а я оказался немного в прибыли:)

Пару советов всем обладателям ПК:

  • Регулярно осматривайте кондёры на материнке, а также раз в несколько месяцев - на БП.
  • Не берите БП на 400W, если ваша система рассчитана на приблизительно на такое енергопотребление, ведь мощность на PSU указана в виде пиковых значений, а не постоянная выходная мошность.
  • Берите БП с запасом по мощности, ведь при скачке напряжения при слабом или неисправном БП вы можете лишиться дорого железа, и что совсем плохо - ваших данных.

Firefox и Google Chrome вылетают с ошибкой из-за glibc версии 2.14

На днях такая проблема с моим Arch'ем случилась... Перестали, в общем, работать браузеры. Причём сразу все, кроме Opera. Google Chrome и Chromium просто валились сразу, выкидывая в консоль сообщение: Assertion `hp != hp2' failed Firefox 4, Firefox 5(бета) и Firefox 6(альфа) запускались, отображали страницу гуглопоиска, и тоже валились, что интересно, с этой же ошибкой. Epiphany выдавал другую ошибку, но суть была та же - glib по мнению браузеров вела себя не адекватно. В чём причина глюков? Похоже, что в версии glibc 2.14-1 были сделаны некоторые изменения, не совместимые с некоторыми программами, написанными под более старую версию. Опять шаловливым программистам дали по рукам, что-бы писали валидный код, а не грязные хаки. Всё это похвально, но браузеры то отвалились... Терпеть такое поведение системы я не пожелал, в результате отрубил testing репозиторий в /etc/pacman.d/mirrorlist.conf, и откатился на старые версии gcc, glibc и связанных с ними пакетов. Одна команда:
yaourt -S core/gcc gcc-libs binutils glibc
И всё стало на свои места, браузеры опять работают как часы. Этому багу оказалась не подвержена только Opera, но я не фанат данного браузера. В 2002-2004 годах это был мой любимы браузер, но с тех пор много воды утекло...

вторник, 7 июня 2011 г.

Установка psi+ и psimedia+ в Archlinux

Заинтересовался я на днях технологией Jabber, когда услышал о печальной судьбе Skype(который я юзал вместо аськи). И как оказалось. не зря...
О технологии Jabber я постараюсь написать целый цикл статей, а пока о главном. О том, как установить psi+ и плагин для звонков в archlinux. Итак, начнём с того что определимся, а нужен ли он нам вообще?
Что такое psi+? Это форк известного Jabber-мессенджера, известного наличием многих, специфичных для Jabber и XMMP, фич. Те, кто воспринимают Jabber как улучщенный ICQ, скорее всего используют что-то более простое. Ну а любители таких плющек, как транспорты, расширенное форматирование сообщений и многого другого - это и есть контингент данного мессенджера. А иметь возможность не только переписываться, но и совершать звонки - это очень хорошая возможность. Поэтому мы установим и плагин psimedia+.
Установка клиента:
  yaourt -S psi-plus
 
Установка плагина:
 
 yaourt -S psimedia-plus-svn
А теперь самое главное, из-за чего я и написал эту заметку: после установки psi+ не видит не одного плагина. И не может совершать звонки... Решается проблемма просто, но пока я доехал в чем проблемма... В общем плагины в arclinux 64-bit лежат в каталоге /usr/lib64/psi-plus/plugins, а psi+ ищет их в каталоге /usr/lib/psi-plus/plugins. Для того, чтобы psi+ увидел свои плагины, надо создать символическую ссылку:
   ln -s /usr/lib64/psi-plus/plugins /usr/lib/psi-plus/plugins
 
Плагины подцепились, но среди них не нашлось нашего psimedia-plus(того, который как раз и позволяет совершать звонки на совместимые клиенты). Опять облом. Ищем наш плагин, и находим его в каталоге /usr/lib/psi/plugins. Да, опять засада... Что делать нам?! На ум приходит только одно решение - провернуть наш фокус ещё раз:
  ln -s /usr/lib/psi/plugins/libgstprovider.so /usr/lib/psi-plus/plugins/libgstprovider.so
Не забываем, что делать всё это можно только через sudo или из-под root-аккаунта. Иначе ничего не получится, потому что у вас нет прав для записи в /usr/lib:)
После выполнения этих простых действий вы получите замечательный клиент для сетей jabber с поддержкой технологии Jingle. Я думаю, потраченные услилия того стоят:) Если заметка кому-то помогла, пожалуйста не скупитесь на отзыв в комментах:) Я буду очень рад любым отзывам, комментариям и пожелаиям. А главное, буду знать что делаю полезное дело, делясь такими заметками с сообществом:)

понедельник, 30 мая 2011 г.

Установка чистой Eclipse IDE в Linux, и доводка её ума. Часть 1



Вы знаете, что(и зачем) установлено в ващем дистрибутиве Linux, но не знаете, что и зачем запихнули разработчики в версию Eclipse для вашего ЯП? Может пришло время взять контроль и над вашей любимой IDE?

Я запланировал установить Eclipse в произвольный каталог на одном из разделов. Пусть это будет каталог "mnt/biglv/JavaApp".

Итак, мы должны найти линк для скачивания чистой версии платформы Eclipse. Мы ведь хотим установить туда только то, что мы хотим там видеть.Идём на страничку http://download.eclipse.org/eclipse/downloads/ , ищем там "Latest Release" и переходим на посвящённую ему страничку. Справа ищем "Platform Runtime Binary" и оказываемся в разделе, где присутствует набор ссылок на нужную нам платформу для разных ОС и архитектур процессоров. Для меня это  Linux (x86_64/GTK 2).

Нажимаем на ссылку(http в колонке Download), и оказываемся на странице выбора зеркала для загрузки.Можно скачать платформу для будущей IDE просто выбрав нужное зеркало, но потом файл с архивом ещё прийдётся копировать в выбранный нами каталог. Сделаем иначе, ищем слева "Filter" и "All mirrors (xml)", открываем ссылку и среди xml-тегов находим подходящую ссылку для закачки нужного нам пакета(параметр url тега mirror). Копируем ссылку на скачиваемый архив.

Заходим в терминале в каталог, в который мы собираемся качать нашу платформу для будущей IDE(допустим IDE для Java). Запускаем там команду wget с нашей ссылкой, и качаем архив Eclipse Platform Runtime.

Ну, я его уже скачал. Распаковываю командой

 tar xvfz eclipse-platform-3.6.2-linux-gtk-x86_64.tar.gz
и переименовываю получившийся каталог eclipse в eclipse-3.6.2-JDT командой
 mv -R eclipse eclipse-3.6.2-JDT

Поздравляю, у нас установлен чистый экземпляр среды разработки Eclipse. Но ему не помешает ещё небольшой тюнинг, и установка необходимых возможностей(наборов подключаемых модулей, предоставляющих определённые возможности среде). Об этом я расскажу в следующих заметках. Успехов!

суббота, 14 мая 2011 г.

Проблема с Zip-архивами в Linux

Была у меня одна проблема в любимой ОС(она у меня одна - это Linux), и этой проблемой были популярные среди пользователей альтернативной ОС(Windows, той самой, которая для домохозяек:)) архивы в формате Zip. Дело в том, что вместо нормального названия файла появляются кракозябры, если в имени файла были не ASCII-символы(кирилица, или любые другие нелатинские буквы). Дело в том, что формат Zip не имеет стандарта на кодировку нелатинских символов. Архиватор сжимает файлы с кодировкой, являющейся стандартной в системе. В Windows вообще с кодировкой получается что-то странное, и во истину мистическое... Для распаковки файлов Zip в Linux приходилось использовать скрипт примерно такого содержания(скрипт не мой, товарища backbone с форума gentoo):

#!/bin/bash
unzip "$1"
convmv --notest -r -f cp-1252 -t cp-850 .
convmv --notest -r -f cp-866 -t utf-8 .
При переходе на Archlinux метод почему-то перестал работать. Пришлось заняться поиском нового метода. Им стал такой скрипт:
#!/bin/bash
unzip -o -O cp866 "$1" 

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

Это решение - программа The Unarchiver, созданная для MacOS X и Linux. Программа создавалась с учётом проблем с нелатинскими национальными кодировками. Пару слов об этом с сайта проекта:"It can also handle filenames in foreign character sets, created with non-English versions of other operating systems. I personally find it useful for opening Japanese archives, but it should handle many other languages just as well."

Поддерживаемые форматы: Zip, Tar-GZip, Tar-BZip2, RAR, 7-zip, LhA, StuffIt и некоторые другие. смотрим дополнительную информацию о программе на http://wakaba.c3.cx/s/apps/unarchiver.html и http://code.google.com/p/theunarchiver/

Программа написана на Objective-C, и ещё не добавлена во многие репозитарии дистрибутивов Linux. Поэтому устанавливаем данную программу при помощи yaourt:

$ yaourt -S unarchiver

Команда подходит только для Archlinux.

Для остальных дистрибутивов прийдётся собирать пакет ручками.

Это очень увлекательное и познавательное занятие:)

Вот за это я и полюбил Archlinux, что в нём сборка и установка нового ПО настолько простая и автоматизированная благодаря авторам PKGBUILD'ов.

После установки программы становятся доступными утилиты командной строки: unar и lsar. Знакомые с наименованием утилит в Unix люди уже наверно догадались, что первая утилита распаковывает архив, а вторая выдаёт листинг списка файлов из архива.

Впервые распаковка архивов Zip, сжатых в Windows с нелатинскими именами файлов, и Rar v3 осуществляется свободным ПО. И корректно работает с нелатинскими символами в именах файлов. Жаль, что данная программа ещё не доступна во многих дистрибутивах из стандартных репозиториев, и пока не интегрирована её поддержка в популярные GUI-оболочки для работы с архивами. Попробуйте эту программу, и ваши проблемы с архивами Zip в Linux исчезнут. Узнал я об этой программе на OpenNET, заглядывайте туда и вы всегда будете в курсе новостей из мира СПО. Есть ещё мой любимый LOR, но там хорошо троллить на разные околониксовые темы, а новости там частенько запаздывают:)

среда, 11 мая 2011 г.

Сегодня на www.opennet.ru прочитал очень печальную новость. Компания Skype последнее время терпела убытки, и вот её акционеры решили её продать. Покупателей было несколько(Microsoft, Google, Cisco и Facebook), но победила в тендере компания Microsoft.

Почему новость печальная? Да потому что в мире есть такие ОС как MacOS X, Linux и Android. Для этих ОС в компании Skype создали свои клиенты, версия для Linux например отставала по своим возможностям от версии для альтернативной ОС(популярной среди неопытных пользователей, которых как известно большинство), но она работала и поддерживала все основные возможности Skype.

С приходом Microsoft инфраструктура проекта со свободных технологий перейдёт на проприетарные и закрытые, фирменные технологии редмондского гиганта. А затем скорее всего начнут менять протокол, потом перестанут обновлять клиентское ПО для всех ОС, кроме фирменных ОС от Microsoft. Кто-то скажет, что это не трагедия, что есть SIP и Jingle. Но родственники и друзья все используют пресловутую альтернативную ОС(которая является неосознанным выбором большинства пользователей ПК), и не станут ради одного меня менять любимую программу для общения. Ну а я не стану менять любимую ОС на неудобный мусор, который к тому-же ещё и неоправданно дорогой.

Дилемма ещё та вырисовывается. Одна надежда, что появится конкурент Skype, который сможет хотя-бы догнать его по популярности. Может Google что-то стоящее придумает? А то их Google Talk под Linux не работает, да и популярностью с таким убогим клиентским ПО пользоваться не будет... На них вся надежда.

суббота, 30 апреля 2011 г.

Впечатления от новой мышки.

Была у меня лазерная мышь SVEN ML-1600. Простой, классический вариант. Три кнопки, средняя - ролик, плюс кнопка для переключения DPI c 800 на 1600.

Но стала у неё плохо срабатывать любимая левая кнопка(а именно ей чаше всего я и пользуюсь, ведь выделение различных объектов и открытие завязано именно на неё, на неё завязан огонь в любимых играх action жанра и добрая половыина всего взаимодействия с GUI-based программами. В общем, это самая важная и нужныя кнопка у мыши. И раз она стала нечётко срабатывать, пришло время отправить мою SVEN ML-1600 на заслуженный покой.


Стал вопрос о выборе новой мыши. Выбрал я себе A4Tech Q4-370X-1 Black USB - очень хорошие характеристики у мыши. Повышение частоты шины до 500 Мгц, переключение на разные режимы DPI(их там целых пять), всё это обычно встречается только у дрогих моделей. Но у этой замечательной мыши есть один недостаток - короткий кабель. И ещё при работе с Linux она почему-то иногда то ускорялась без причины, то замирала. Специальные кнопки не работали. А я обычно только в Linux и работаю, если я на Windows - значит помогаю кому-то, или чиню чей-то компьютер. В общем, Windows - это крайний случай. Не моё. Я бы его в идеальную игровую приставку только ставил, игр под него много:)

Сегодня пошёл в свой любимый из чеканских(район такой в городе, где я живу - Кишинёве) компьютерный салон, Matrix. Хорошие, внимательные и отзывчивые к нуждам клиента продавцы-консультанты, и привлекательные цены - это их преимущество перед целым рядом других салонов. Хотя если у них чего-то нет, есть Cosmo. Там я тоже не мало разных вешей покупал, отличные ребята. Но цены по многим позициям чуть-чуть дороже.

В общем доплатил я немного, и взял мышку чуточку подороже. Мышка от моего любимого производителя - фирмы A4Tech. У меня камера и клавиатура тоже от этого производителя. На мой взгляд - их продукция для меня оптимальна, т.к. при приличном качестве у их продуктов довольно демократическая цена. Мышка модели A4Tech X6-55D. Рабочее разрешение у неё 1000 DPI, это удобное рзрешение и для работы, и для игр. Необычный дизайн, замечательное колесико прокрутки.Колёсико прорезиненное и очень чётко, осязаемо прокручиваемое - это то, что очень важно для любого любителя игр жанра Shooter, ведь приближение оптического прицела и смена оружия традиционно завязаны на колёсико прокрутки, так что от него зависит точность игры. Кроме левой кнопки есть ещё и маленькая кнопка 2x, она позволяет осушествить двойной клик одним нажатием(работает и в играх, так что пригодится не только в работе). И наконец,слева, на боку, расположены две кнопки работающие как "вперёд" и "назад" в файловом менеджере и браузере.

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

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

А вот парочка изображений, одно сделано мной, а второе нашёл готовое:






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

понедельник, 25 апреля 2011 г.

Archlinux, xulrunner 2.0 и WebKitGTK+ 1.3.13 - устраняем ошибку No more handles [Unknown Mozilla path (MOZILLA_FIVE_HOME not set)]

Случилась у меня проблемма с моей любимой IDE. Думаю, не сложно догадаться, что это Eclipse.

Почему Eclipse?

Eclipse - это фреймворк, позволяющий из разных компонент построить IDE на любой вкус, и для разных языков. Это не IDE, а мета-IDE, местами больше напоминающая ещё одну ОС:)
Среда написана на Java, что является гарантией её корректной работы на различных ОС(не известно, на чём прийдётся работать в будущем).
Она легко расширяема(в этом она мне напоминает Emacs, так как среди расширений есть IDE для различных языков, разные редакторы, файловый менеджер, медиаплеер, фреймворк для создания отчётов и многое другое).
У меня установленно всё что нужно, для изучения технологий XSL, Java и Scheme(я изучаю Sheme по замечательной книге SICP), а также Web Tools и ещё кое-что(для работы с XML/HTML/CSS и JavaScript).

Суть проблемы

Установленно всё на Archlinux 64-bit, и при этом я использую firefox 4/xulrunner-2.0 и Gnome 3(а вместе с ним и WebKitGTK+ 1.3.13). Из-за этого то свежего софта и сломался компонент SWT, отвечающий за внутренний браузер. При запуске Eclipse вместо браузера отображается такое вот сообщение:
No more handles [Unknown Mozilla path (MOZILLA_FIVE_HOME not set)]
org.eclipse.swt.SWTError: No more handles [Unknown Mozilla path (MOZILLA_FIVE_HOME not set)]
 at org.eclipse.swt.SWT.error(SWT.java:4109)
 at org.eclipse.swt.browser.Mozilla.initMozilla(Mozilla.java:1739)
 at org.eclipse.swt.browser.Mozilla.create(Mozilla.java:656)
 at org.eclipse.swt.browser.Browser.(Browser.java:119)
 at org.eclipse.ui.internal.browser.BrowserViewer.(BrowserViewer.java:225)
 at org.eclipse.ui.internal.browser.WebBrowserEditor.createPartControl(WebBrowserEditor.java:78)
 at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:670)
 at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:465)
 at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
 at org.eclipse.ui.internal.EditorAreaHelper.setVisibleEditor(EditorAreaHelper.java:271)
 at org.eclipse.ui.internal.EditorManager.setVisibleEditor(EditorManager.java:1429)
 at org.eclipse.ui.internal.EditorManager$5.runWithException(EditorManager.java:942)
 at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
 at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
 at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
 at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3515)
 at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3164)
 at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:803)
 at org.eclipse.ui.internal.Workbench$31.runWithException(Workbench.java:1567)
 at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
 at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
 at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
 at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3515)
 at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3164)
 at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2548)
 at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
 at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
 at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
 at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
 at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
 at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
 at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
 at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
 at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
 at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
 at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
 at java.lang.reflect.Method.invoke(Unknown Source)
 at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:620)
 at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575)
 at org.eclipse.equinox.launcher.Main.run(Main.java:1408)
 at org.eclipse.equinox.launcher.Main.main(Main.java:1384)


И всё. Стал я искать в интернете сведения, как эту проблемму решить. И нашёл два варианта решения, оба базируются на добавлении в конец eclipse.ini опций для компонента WEB-браузера в SWT. Вначале добавил в конец файла эти строки:
-XX:-UseCompressedOops
-Dorg.eclipse.swt.browser.XULRunnerPath==/usr/lib/xulrunner-2.0/
Но не завелось, ведь xulrunner версии 2 и выше не поддерживает JavaXPCOM, а эта технология была связующей между Java-приложениями и объектами XPCOM. В результате при апгрейде до Firefox 4 и Gnome 3 автоматически ломается работа браузера, встроенного в приложения Java. SWT c версии 3.6 позволяет использовать WebKit вместо xulrunner, а в SWT 3.7 и Eclipse 3.7 этот HTML-движок является компонентом web-браузера по умолчанию. Я решил, что вторая рекомендация мне поможет. Для задействования для отображения HTML движка WebKit, в eclipse.ini надо добавить строку:
-Dorg.eclipse.swt.browser.UseWebKitGTK=true
В результате мой конфиг(eclipse.ini) стал выглядеть так:
plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.2.R36x_v20101019_1345
-product
org.eclipse.epp.package.javascript.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.6
-XX:+UnlockExperimentalVMOptions
-XX:+UseG1GC
-Xms256m
-Xmx256m
-XX:+AggressiveOpts 
-Dorg.eclipse.swt.browser.UseWebKitGTK=true
Из конфигурации видно, что оперативы у меня мало(на борту всего 1Гб памяти, и 64 метра из неё съедает встроенная GeForce 6100), и я использую новый сборщик мусора и агрессивную оптимизацию. Всё из-за устаревшего железа, что делать... Но проблемма осталась, всё так-же eclipse ругался на отсутсвие подходящей версии xulrunner. Почему не завёлся WebKit? У меня паралельно имеется Eclipse Helios(версия 3.6), и тестовая версия Eclipse Indigo(версия 3.7). И в обоих версиях всё осталось по прежнему. Так в чём же причина? С Gnome 3 установилась и WebKitGtk версии 1.3.13-1. Смотрим скриншот:


А на сайте проекта WebKitGTK что мы видим? Вот такое предупреждение: What's new in WebKitGTK+ 1.3.13? IMPORTANT: In this release the GObject DOM Bindings contain a major change. Итак, в WebKitGTK+ сломали совместимость, и пока команда, разрабатывающая SWT не успела внести нужные изменения в SWT 3.7, а SWT 3.6 уже никогда не заработает с WebKitGTK+ 1.3.13. Получается, что использовать xulrunner 2.0 и выше мы не можем, WebKitGTK+ 1.3.13-1 тоже не модходит. Удалять новыю версию WebKitGTK+? Так я люблю максимально свежий софт, поэтому и перешёл с Ubuntu на Debian testing, а затем и на Archlinux. Удалять новую версию библиотеки ради установки старой версии - неправильно. И я пошёл на трюк, использовав такой вот скрипт для запуска Eclipse:
#!/bin/bash
export LD_LIBRARY_PATH=libwebkit-1.2.7-1-x86_64.pkg/usr/lib
./eclipse
Да, скрипт лежит прямо в корневой директории Eclipse. Я качаю архив с Eclipse для Linux 64-bit и просто разворачиваю его на специальном разделе диска. Устанавливать eclipse при помощи pacman не вижу смысла, т.к. eclipse умеет обновлять установленные модули сам, используюя собственный механизм репозиториев расширений и механизм их обновления. Cкачал вручную пакет с нужной версией WebKitGTK+, он называется libwebkit-1.2.7-1, и распаковал его в каталог с моей версией Eclipse. А при помощи LD_LIBRARY_PATH я заставил eclips загружать нужную ему версию библиотеки WebKitGTK+. Это, конечно, выглядит как грязный хак, но ведь теперь всё работает(только запускать надо Eclipse через запуск шелл-скрипта, но ведь это не такая уж большая проблема?). В общем, я боролся с коварным багом, и хоть и не по правилам, но сделал его. И Eclipse опять работает как часы:)

суббота, 9 апреля 2011 г.

Для всех пользователей среды рабочего стола Gnome и Archlinux праздник. Вчера Gnome3 был добавлен в репозиторий [testing]. В обед я ещё ставил Gnome3 из [gnome-unstable], и вот он уже в тестинг. Не зря я перепробовал разные дистрибутивы, но больше всех люблю Arch, ох не зря! Разработчики этого чудесного дистрибутива не спят, работают оперативно.
Итак, что же хорошего в новом Gnome нашёл я для себя? Смотрим, что у Gnome3 под катом:
Начнём с Gnome Shell. Я собирал Gnome Shell из git ещё в пору его самых ранних версий, и он неуклонно улучшался. Итак, его основные достоинства:
  • Удобный поиск приложений и документов.
  • Поиск введённого запроса в Wikipedia и Google
  • Наглядное и интуитивно понятное управление рабочими столами и окнами
  • Упор на использование открытых на весь экран окон, и использования нескольких рабочих столов.
  • Панель "избранное", с правого края экрана очень похоже на докбар в стиле Cairo Dock, или AWN. Она отображает значки приложений, запущенных вами, и добавленных в избранное вами. Значки запущенных приложений подсвечены, как и положено.
  • Миниатюры окон запущенных приложений, с возможностью увеличения/уменьшения нужного окна при помощи скролинга мышью(юзайте ролик, господа:))

Обобщаем увиденное

Теперь по порядку, что же мы имеем. А имеем мы оболочку, которая объединяет меню приложений похожее на Unity, док-панель типа Cairo Dock(или AWN), а также поиск и запуск приоложений как в Gnome-Do(или Launchy). Интерфейс минималистичный и очень удобный для нетбуков или планшетов, и других девайсов с небольшим монитором. Есть два режима работы, при одном из них вы видите рабочий стол и минималистичную панель. На ней индикатор активного приложени, кнопка "Обзор" для перехода в основной режим, по центру часы, справа индикатор раскладки, индикатор звука, и индикатор вашего статуса для IM(Telepathy), совмещённый с меню выхода из сеанса, перезагрузки и отключения ПК.
В основном режиме вы увидите вышеописанные меню запуска, панель "избранное", миниатюры окон и строку поиска, а также менеджер рабочих столов.
Кроме того, системные требования у Gnome3 даже ниже, чем у второй версии. Сразу после загрузки в Gnome3 я посмотрел на расход памяти, система вместе с несколькими программами в автозагрузке и Gnome3 израсходовала всего 237 мегабайт оперативной памяти, и 0 мегабайт из swap. Честно говоря, не ожидал такого. KDE4 был куда более прожорливый в этом плане с самого начала. Работает стабильно, что радует. С Ubuntu и его Unity у меня с самого начала были проблеммы, оно постоянно вылетало и перезапускалось. С Gnome Shell такого не наблюдается.

Заключение.

Я очень боялся, что Gnome3 станет прожорливым, как KDE4. К счастью, это не так. У него более интуитивный и продуманный интерфейс, не похожий не на что, виденное раньше в других ОС. Центр управления стал ещё проще и понятней, очень похож на такой-же из KDE4. Правда настроек там пока немного. Кроме того, стоит обратить внимание на gnome-tweak-tool, с ним вы получите немного больше возможностей для настройки, и на dconf-editor для настройки тех опций, которые иначе не настроить. Простота и удобство новой версии Gnome производят самое лучщее впечатление. Ничего похожего, даже близко подобного по простоте и удобству я просто не видел. Разработчики Gnome совершили невозможное, создав первую среду рабочего стола, которая отойдя от традиционных интерфейсов рабочего стола, сделали среду намного интуитивней, проще и удобней. Проработав в ней немного, я понял что старый Gnome и другие среды рабочего стола просто не способны предложить подобный уровень удобства. Попробуйте новый Gnome3 и вы.

Установка Gnome3 в Archlinux

В Archlinux для этого надо раскоментировать репозиторий [testing]:
 
#testing uncommented
[testing]
Include = /etc/pacman.d/mirrorlist
Затем обновить систему командой:
 
# pacman -Syu 
И установить Gnome Shell, если вы хотите получить Gnome3 со всем функционалом, без этого пакета запускается режим fallback, который мало отличается от традиционного Gnome2, так как вместо новых возможностей вы получаете классический Gnome с двумя панелями.
 
# pacman -S gnome-shell

Пару скриншотов:

суббота, 2 апреля 2011 г.

The Canterbury Project-апрельская шутка, которая заставляет задуматься о совсем не шуточных вопросах недостаточного взаимодействия дистростроителей

Вчера зашёл на www.archlinux.org, а там висит новость о создании нового проекта The Canterbury Project. В анонсе говорилось о создании нового дистрибутива, который будет простым как Arch, стабильным как Debian, податливым(скорее всего на этом месте должно быть слово "гибким", а не "податливым", т.к. обороты речи не переводятся дословно) как Gentoo, иметь солидный фреймворк для создания Live систем как Grml, и открытым(для новых идей и коммитов, наверно...) как openSUSE.

На сайтах всех упомянутых дистрибутивов висела одна и та же страничка приветсвия.Скриншот и ссылки прилагаются:

  • Новость на www.archlinux.org
  • Новость на сайте openSUSE
  • Новость на сайте Grml
  • Новость на сайте Gentoo
  • И, наконец, признание Debian, что это всего лишь первоапрельская шутка.

    Что эта новость - шутка, было понятно сразу. Союз таких разных проектов подобен лебедю, раку и щуке из небезизвестной басни Крылова. Разница в организации пакетных менеджеров, где у Debian и openSUSE c Grlm классический подход, с использованием обычных бинарных пакетов(deb и rpm, но они очень похожи по своему устройству). У Arch бинарные пакеты более простого устройства, и более шустрый менеджер пакетов, а также система PKGBUILD'ов похожая на скрипты для сборки пакетов в системах семейства BSD. А Gentoo вообще создан на идее собирать пакеты под используемую архитектуру со всеми мыслимыми и немыслимыми оптимизациями. И только с нужными вам USE-флагами. Это позволяет вам держать в системе только те программы, которые нужны вам, и только с нужным вам функционалом. Такой аскетизм в IT позволяют получить компактную, нетребовательную к ресурсам и заточенную под ваши нужды ОС. Но при этом немало времени у вас будет уходить на доводку системы до ума. Надо будет изучать зависимости, хорошо разбираться в конфигурации системы и вникать во многие тонкости и ньюансы системы. Кроме того, в отличии от похожего в этом отношении Arch'а вам самим прийдётся собирать все пакеты для вашей системы. И если для таких целей у вас нет сервачка с билд-сервером в подсобке, то сборка пакетов при массштабном обновлении может идти сутками:)

    Кроме того, openSUSE силён в удобстве настройки всего и вся из GUI, прекрасным дизайном и юзабиити, и великолепной поддержкой и документацией.

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

    Grml это базирующийся на Debian дистрибутив, главное достоинство которого - это очень хорошая платформа для создания Live систем, которые грузятся с CD/DVD, а также флеш-брелков и внешних винтов. Используют это чудо бородатые сисадмины и прочий, помешанный на порядке и безопасности, люд.

    Главные достоинства Arch-это простота системы иниациализации, скриптов для сборки пакетов и файов конфигурации. А также свежий, и очень свежий(из AUR) и Git(посредством своих PKGBUILD'ов) софт. Обратная сторона медали-софт не всегда стабильный, у меня например страшно глючил Abiword(при любом размере шрифта курсор оставаля маленьким, и не получалось удалить набранный текст. Исчезала только узкая полоска внизу строки.

    Gentoo-это не дистрибутив, а конструктор LEGO. Из него можно собрать что угодно, хоть игрушку, хоть необыкновенно хорошую и стабильную систему. При этом вы всё затачиваете под свои нужды, и возитесь с его доводкой до ума не меньше, чем с коньками, или Emacs.

    Очень они разные. И объединить их не реально. Но, как мы все знаем: сказка ложь, да вней намёк. Дистрибутивы очень много сил теряют, тестируя и сопровождая одни и те же пакеты, а также изобретая одни и те же велосипеды, но под другим девизом. Почему бы не создать одну рабочую группу, которая бы разработала стандартную систему пакетов, систему разрешения зависимостей и систему сборки и конйигурации, а также иниациализации и тестирования. Ведь имея набор стандартов, и одних и тех же пакетов-работать было бы легче. Пакеты, патчи, различные системы, окружения и фреймворки должны быть стандартными. И разрабатываться одним глобальным сообществом разработчиков. А вот включение в дистрибутив по умолчанию того, или иного пакета или набора пакетов, оформление и т.д. - вот это те облати, которые должны быть в компетенции дистростроителей. Ведь и так уже ясно, что разработка велосипедов, и отличия в устройстве систем управления пакетами, систем сборки пакетов и решение о принятии патчей разработчиками каждого из дистрибутивов в индивидуальном порядке, всё это на годы тормозит прогресс во всей сфере Linux. И это - то, что отпугивает многих разработкчиков профессионального ПО, а также коммерческих игр и приложений. Ведь в ОС, в которой нет стандартов на инсталляционные пакеты, нет гарантии, что нужная библиотека присутсвует в ОС(или что нужная версия библиотеки хотя-бы присутсвует в репозиториях дистрибутива), и даже пути к "стандартным" каталогам на самом деле могут отличаться, а боле старая(или новая) библиотека в зависимостях их ПО может при установке потребовать удалить многие другие программы-такая ОС слишком капризна и сложна в сопровождении для разработчиков подобного ПО.

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

    Так нужен ли нам Canterbury Project? Я думаю-нет, не нужен. Но тесное взаимодействие между разработчиками всех дистрибутивов, создание общей и открытой площадки для создания новых стандартов, и общих проектов по стандартизации и развитию сообща всей экосистемы Linux-да, такой проект нужен. А то провальный LSB, со своими постоянно устаревающими и не актуальными стандартами, явно не справляется со своей работой.

    среда, 30 марта 2011 г.

    Захотелось мне узнать, что такое перьевая ручка. В школе я учился в 90-х и начале двухтысячных годов, поэтому всё что я застал-это низкокачественные шариковые ручки для письма советского образца(несколько лет), затем китайские, турецкие, индийские и европейские ручки. В конце девяностых все были повально увлечены гелевыми ручками, и они были намного лучше обычных шариковых. Писали чётко, и не надо было сильно давить на ручку. Если учесть, что почерк у меня не важный, а рука с самого первого класса отказывалась писать с нажимом, то гелевые ручки казались чудесным выходом в этой нелёгкой для меня сфере отношений с пишущими принадлежностями. А затем писать от руки что-либо почти отпала надобность. Пока я не купил себе ежедневник. Вот тут-то я и заинтересовался, а нет ли ещё каких типов ручек для письма, которые пишут легко и чётко, даже при небольшом нажиме. Решил взять перьевую ручку, где-то слышал, что для ежедневников они самое то(страницы не пухнут, т.к нажим меньше). В общем, брать ручку из среднего, а тем более, верхнего(который для меня недосягаем, как звёзды) ценового сегмента смысла не видел, купил то, что легко было найти поблизости. В Кишинёве не так то и много мест, где перьевые ручки вообще есть, но всё же найти их можно. В торговом центре на чеканском рынке есть бутик с канцтоварами, где я нашёл себе пару ручек, которые даже не имеют маркировки производителя.Вот одна из них:
    Простая, лёгкая и удобная. Пишет легко. И оставляет насыщенный, чёткий след.Обе ручки пишут не хуже гелевых(перо F, по толщине следа как раз похоже). В следующий раз буду брать что-то более качественное, думаю что Centropen. Хорошо, что есть в нашем городе магазин в Pan-Com, где есть модели от самых дешёвых, и до изделий мировых брендов. Ну да это дело будущего, сейчас не до этого. Да и купленные ручки меня пока устраивают, пишут то хорошо, и держать в руке удобно(и в левой, и в правой, т.к. я могу писать обоими:).

    пятница, 25 марта 2011 г.

    Пару дней назад на linux.org.ru и opennet.ru пробежала новость о выход первого релиза игры Red Eclipse. Так, как я люблю командные шутеры в стиле Quake III Arena, Unreal Tournament и Open Arena, то я сразу же скачал Linux версию игры и решил посмотреть, что же это за новинка. Для меня командные шутеры-это отличный способ отдохнуть, расслабиться и за одно, это отличная гимнастика для глазных мышц.

    Для того, что-бы и вы смогли оценить геймплей игры, я даже потратил своё драгоценное время, и соорудил видео демонстрирующее игровой процес. Пришлось помучаться, правда. Но я преодолел все препятствия(видео не получалось то захватить(громадные overhead'ы ловил из-за неправильно выбранного кодека для скринкаста), то отредактировать(в Linux очень плохо обстоят дела с ПО для редактированния видео). Вот результат моих стараний, встречайте(то есть смотрите):
    Игре есть разнообразное оружие, так-то пистолет, автомат(что-то типа УЗИ), рельсовая пушка с оптичеким прицелом, что-то вроде гибрида Rocket Launcher и BFG из OpenArena, а также гранаты и меч, по которому разлита плазма. Игроки толи в скафандрах, толи в экзоскелетах, я так и не разобрался.

    Режимы игры


    • Editing Создание своих уровней для игры
    • Campaign Сингл-плеер режим, но он пока не торт(в Quke III этот режим так и не взлетел)
    • Deathmatch Уничтожь других игроков, что-бы набрать больше очков. Уничтожение нескольких противников сразу, и другие финты(вроде хедшотов) дают больше очков.
    • Capture the Flag Для получения очков надо захватить флаг другой команды, и принести его на свою базу.
    • Defend the Flag Займите позицию у флага противника и удерживайте её определённое время для получения очков.
    • Bomber Ball Возьмите мяч и доставьте его на базу врага, но смотрите на таймер встроенной в него бомбы-он взорвётся, если вы долго будете удерживать его у себя. Пассуйте мяч другому члену вашей команды, что-бы его сохранить и донести. Если мяч на стороне противника, стреяйте в того, у кого мяч. Или перехватите его в воздухе во время броска.
    • Time Trial Борьба за лучшее время в гонке к концу пути, используя уникальную систему игры в паркур(Жмите Q для того, что-бы бежать по стене, преодолевая препятсвия)

    Мутаторы(дополнительные режимы, изменяющие основные)


    • Teamplay Жертвуем очки в пользу общекомандного счёта, в отличии от индивидуалисткого подхода, как в free-for-all.
    • Instagib Уничтожение с одного выстрела и только дробовик.
    • Onslaught Вражеские беспилотные самолёты и часовые ведут обстрел квадрата(карты), а вы боретесь под обстрелом с другими игроками.
    • Vampire Наноси урон другим, что-бы пополять своё здоровье.
    • Medieval Только мечи.
    • Ballistic Только ракетницы.
    • Arena Выбор оружия по умолчанию, вместо стандартного пистолета.
    • Expert Только попадания в голову принесут вам очки.
    • Duel Один на один, проигравший вылетает из игры. Другие игроки наблюдают за поединком в ожидании своей очереди.
    • Survivor Похоже на дуэль, но все игроки сражаются одновременно. Последний(выживший) игрок побеждает.
    • Jetpack Считайте, что вы можете летать. Но надблюдайте за уровнем импулься, а то не ровен час, ваш реактивный двигатель заглохнет:)
    • Resize При получении повреждений вы уменьшаетесь в размере, при нанеении урона другим-соответсвенно увеличиваетесь.

    Эксклюзивные мутаторы для определённого режима.

    Capture the Flag


    • Return В отличии от обычного режима Capture the Flag, флаг отобранный у врага прийдёться тащить пешим ходом на базу.(В обычном режиме достаточно для его возвращения на базу достаточно коснуться отбитого у противника флага)
    • Defend the Flag Если флаг захвачен, его нельзя вернуть. Ваша задача сохранить свой флаг до обнуления таймера.
    • Protect Для победы: Захвати вражеский флаг и отнеси на свою базу. Захвати вражеский флаг и удкрживай пока не обнулится таймер. Захвати свой флаг и вражеский флаг, и удерживай их до обнуления таймера(таймер обнулится раньше, если у вас оба флага). Заметьте: вы не можете отобрать свой флаг у врага, вы можете тольк подобрать его или бросить. Ели флаг долго валялся на земле, он автоматически вернётся к вам(как будто его и не брали)

    Defend the Flag


    • Quick Когда вы захватываете флаг противника, он автоматически попадает на вашу базу. В чистом Defend the Flag режиме вы должны ждать, пока он станет нейтральным, и ещё один цикл, что-бы получить возможность управлять им.
    • Conquer Обычный захват флага, только для победы команда должна контролировать какое-то время каждую поицию(в одно и то же время), отмеченную флагом(их несколько, а не одна, как в базовом режиме).

    Bomber Ball


    • Multi Игра идёт с несколькими мячами-бомбами одновременно.
    • Hold Удерживайте мяч у себя, что-бы доказать своё превосходство.

    Общие впечатления

    Уровни в игре в основном большие, больше чем у Quake III Arena. А многие даже больше, чем у Unreal Tournament 2004. Один из уровней очень похож на мой любимый уровень от Open Arena. Игровой процесс на высоте, только серверов(и игроков на них) к сожалению, пока мало. Звуковое сопровождение очень однообразно, добавить бы пару треков. Вот в Serious Sam озвучка на высоте. Но если посмотреть, сколько треков доступно под Creative Commons на Jamendo, думаю этот недочёт решат быстро. А в общем, игра однозначно must have. Давно ничего подобного не выходило, из других свободных шутеров только Open Arena действительно хороша, остальные имеют налёт незавершенности. А эта игра однозначно порадовала.

    среда, 9 марта 2011 г.

    У вас Arch Linux под x86_64(amd64), и установлен пакет flashplugin? Так как стабильная версия Flash в сборке под x86_64 имела серьёзную уязвимость, пакет с данной версией был удалён из репозитария. И вместо него устанавливался пакет из multilib-репозитария. Но мы же любим производительность? Arch для тех, кто любит свежие программы и быстрые, с оптимизациями. Значит надо исправлять положение. Для этого надо просто ввести:

    pacman -S flashplugin-prerelease
    
    И установить тестовую версию Flash-плагина, собраную под x86_64, и с исправленной уязвимостью.

    вторник, 1 марта 2011 г.

    Установка Debian из Linux используя debootstrap

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

    Определяемся, по силам ли нам данное дело. И стоит ли овчинка выделки?

    Для начала определимся, кому такая установка вообще подходит. Если вы уже имеете какой-либо Linux(Live CD, загрузочный USB или установленный дистрибутив), и при этом занимаетесь своими делами в этой системе, и вам неохота записывать загрузочный диск, ждать пока установится новая система, и т.д. - этот способ для вас.

    Плюсы данного подхода:
    1. Вы остаётесь в своей системе, можете смотреть видео, общаться, читать книжку или создавать программу, и при этом устанавливать систему.
    2. Вам не нужно иметь инсталляционный носитель.
    3. Это очень гибкий способ установки, и вы её контролируете от начала и до загрузки готовой системы.
    4. Вы можете сразу установить все нужные дополнительно вам пакеты.
    Минусы данного похода:
    1. Установка может занять больше времени.
    2. Все действия и их порядок абсолютно зависят от вас. Будьте осторожны, ведь можно накосячить:)
    3. Руководства по установке и настройке различных аспектов могут не соответствовать современным реалиям.
    4. Какая-то мелочь(при установке таким образом ArchLinux”a я всего лишь в конфигурационном файле забыл один восклицатеьный знак, в результате пол-часа не мог понять, почему не работает сеть)

    Подготовка к развёртыванию базовой системы.

    Итак, у вас есть компьютер с местом на винте, операционная система Linux с подключеннием к интернету и желание установить Debian из вашего Linux?

    Для начала надо подготовить разделы на винте. Есть много разных способов разбиения диска. Я удалил на своём винте пару разделов, и буду использовать неразмеченное место. Так-же вы можете использовать resize2fs, parted, gparted или ntfsresize для уменьшения какого-то из ваших разделов. А неразмеченное место выделить для debian.

    Один раздел мы отдаём корню файловой системы. Кроме того, желательно выделить отдельный раздел для home, и раздел для подкачки.

    Как изменять и создавать разделы, я думаю известно. Для новичков очень удобен Gparted, для продвинутых юзеров консольные утилиты. Результат по любому будет тем же.

    Для установки Debian, и созданных на основе данного дистрибутива дистрибутивов, используют официальное средство развёртывания базовой системы - утилиту debootstrap.

    Если вы используете Debian-based дистрибутив в качестве базового дистрибутива, с которого будет производится установка, вы должны установить данную программу командой:

     
    apt-get update
    apt-get install debootstrap
    

    Кроме того можно использовать alien для конвертации deb-пакета в другие форматы пакетов, или просто распаковать данный пакет командой:

    mkdir debootstrap
    cd debootstrap
    ar -x debootstrap_0.X.X_all.deb
    cd /
    zcat /full-path-to-debootstrap/debootstrap/data.tar.gz | tar xv
    

    Создаю точку монтирования для корня файловой системы устанавливаемого Debian:

    mkdir /mnt/debian

    Монтируем нужный раздел в точку монтирования.

    mount /dev/debianvg/debian /mnt/debian

    Разворачиваем базовую систему в точку монтирования.

    Начинаем разворачивание базовой системы Debian в точку монтирования. Важно обратить внимание на архитектуру, вместо amd64 может быть alphaarmarmelhppai386ia64m68kmipsmipselpowerpcs390 или sparc. Часто это i386, реже arm, остальное вообще экзотика. Вместо squeeze может быть другая ветка, например sid(unstable), или unstable/experimental/testing.

    Вместо http://ftp.us.debian.org/debian выберите наиболее быстрое зеркало из ближайших к вам в списке зеркал http://www.debian.org/mirror/list.

    debootstrap --arch amd64 squeeze  /mnt/debian http://ftp.us.debian.org/debian
    На всякий случай стоит подмонтировать эти части рабочей файловой системы в вашу устанавливаемую систему. Но данный шаг не является обязательным, если вы не будете устанавливать Grub.
     
     mount -t proc proc /mnt/debian/proc
     mount -t sysfs sys /mnt/debian/sys
     mount -o bind /dev /mnt/debian/dev
    

    Chroot'имся в новую систему.

    LANG=C chroot /mnt/debian /bin/bash

    Настраиваем сетевые интерфейсы:

    nano /etc/network/interfaces

    Прописываем адресса DNS и директиву поиска.

    nano /etc/resolv.conf

    Настраиваем имя хоста, где HostName - имя вашего хоста.

    echo HostName > /etc/hostname

    И создаём файл /etc/hosts вида описывающий хосты, примерно такого вида:

    127.0.0.1 localhost
    127.0.1.1 HostName
    
    # The following lines are desirable for IPv6 capable hosts
    ::1     ip6-localhost ip6-loopback
    fe00::0 ip6-localnet
    ff00::0 ip6-mcastprefix
    ff02::1 ip6-allnodes
    ff02::2 ip6-allrouters
    ff02::3 ip6-allhosts
    
    Где HostName - всё тоже имя вашего хоста, остальное оставьте так, как в примере.

    Настраиваем файловую систему:

    nano /etc/fstab

    Пример:

    # файл. система            точка монтир.  тип   параметры      дамп  проход
    /dev/debianvg/debian       /              ext4  defaults          0  1
    /dev/disk/by-label/Seagate /mnt/Seagate   ext4  defaults          0  2  
    /dev/debianvg/swap         none           swap  sw                0  0 
    proc                       /proc          proc  defaults          0  0
    /dev/debianvg/lucentcode   /home          ext4  rw,nosuid,nodev   0  2
    

    Важно не забыть настроить proc, потому что иначе могут быть проблеммы с установкой и эксплуатацией системы.

    Не забываем про команду mount -a, это смонтирует все файловые системы. Я как-то забыл это сделать после изменения fstab, в результате долго не мог понять что это у меня за проблеммы с установкой.

    Настройка символических ссылок на CD-ROM:

    cd /media mkdir cdrom0 ln -s cdrom0 cdrom cd / ln -s media/cdrom

    Настраиваем время

    Редактируем /etc/default/rcS, настраивая аппаратные часы, я обычно указываю для них UTC, а локальное время с учётом часовых поясов -забота системы.

    nano /etc/default/rcS

    Настраиваем часовой пояс и т.д.

    dpkg-reconfigure tzdata

    Настраиваем локали и системную(консольную) клавиатуру

    Настраиваем локали, я использую UTF-8 для русского и английского языков. Ставьте локали для нужных вам языков, не стоит замусоривать систему поддержкой множества локалей.

    aptitude install locales
    dpkg-reconfigure locales
    

    Настройка консольной клавиатуры , для вашей локали. Я указываю qwerty и американский английский.

    aptitude install console-data
    dpkg-reconfigure console-data
    

    Установка ядра

    Ищем пакет linux-image, доступной версии.

    apt-cache search linux-image

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

    aptitude install linux-image-2.6.32-5-amd64

    Ставим нужные нам пакеты, для поддержки LVM2 и создания initramfs. Это нужно мне, но если вы используете обычные разделы, вам нет смысла ставить lvm2

    aptitude install initramfs-tools lvm2 dmsetup

    Задаём пароль root, и создаём себе пользовательский аккаунт.

    Задаём пароль для аккаунта root.

    passwd  root

    Создаём пользователя, вместо username укажите своё имя пользователя.

    adduser username

    Я использую группу admin, которой указываю права, сходные с adm. Привычка, делать это не обязательно.

    groupadd admin

    Добавляем нашего пользователя к группе.

    usermod -G admin username

    Устанавливаем пакет sudo, и добавляем пользователя к группе sudo.

    apt-get install sudo
    usermod -G sudo username
    

    Используем команду

    chown lucentcode /home
    для смены владельца директории, или
    chgrp users /home
    для смены группы владельцев директории.

    И, наконец устанавливаем режим доступа к директории:

    chmod 777 /home

    Установка загрузчика Grub2.

    aptitude install grub2
    grub-install --rechek /dev/вашдиск 

    Если у вас несколько разных дистрибутивов и вы не хотите разводить беспорядок в вашем grub.cfg, то имеет смысл устанавливать несколько различных загрузчиков, и использовать chainload. Для этого сделайте отдельный раздел для загрузчика первого уровня, и используйте команду:

    grub-install --boot-directory=/mnt/grub --no-floppy --recheck  /dev/disk/by-label/grub

    Где /mnt/grub - это каталог, в который вы подмонтируете ваш раздел. А /dev/disk/by-label/grub - это устройство, представляющее ваш раздел в каталоге /dev.

    Затем для каждго из ваших дистрибутивов используйте команду:

    grub-install --rechek /dev/раздел с корнем вашей системы

    Или, если вы не хотите записывать grub2 в загрузочную область раздела:

    grub-install --grub-setup=/bin/true --boot-directory=/boot --no-floppy --recheck /dev/раздел с корнем вашей системы.

    Тогда для загрузки вашей системы надо будет в первичном загрузчике grub2(который на отдельном разделе) в grub.cfg прописать примерно следующее:

    Вариант для загрузки меню второго уровня, в случае если вы не знаете, что грузить: загрузчик второго уровня, или core.img

    menuentry "Наш Linux" {
    set root=(ваш диск )
    configfile /boot/grub/grub.cfg
    }

    Или используя chainload:

    menuentry "Наш Linux" {
    set root=(ваш диск )
    chainloader +1
    }

    Используя core.img:

    menuentry "Наш Linux" {
    set root=(ваш диск )
    multiboot /boot/grub/core.img
    }

    Установка дополнительных пакетов

    Установим драйвер для нашей видеокарты:

    aptitude search nvidia
    aptitude install nvidia-va-driver

    Для установки gnome, установите его командой:

    aptitude install gnome

    Для установки KDE используем команду:

    aptitude install kde

    Как варианты, возможен выбор пакетов kde-full(его устанавливает оставленный для совместимости пакет kde), или установить kde-core. Последний вариант предпочтительней, т.к. вы получаете только основные пакеты, а затем установите только то, что вам нужно.

    aptitude install xfce4

    Возможно, вам больше по душе openbox, fxkb и tint2. Или другое, тоже минималистичное окружение - все они ставятся аналогично, и после перезагруки сразу будут вам доступны.

    Установите остальные, нужные вам пакеты, перечисляя их через пробел.

    aptitude install пакет1 пакет2 пакет3

    Поздравляю, после перезагрузки у вы попадёте в простую(нет многих прикольных наворотов их сферы юзабилити, которые есть в некоторых других системах, вроде Ubuntu), но быструю и гибкую систему.

    Вот моя система, после перезагрузки.