Записи с тегом «Ubuntu»

Возрождение блога разработчика веба

17.07.2010

Давно ничего не писал. То ли вдохновения не было, то ли просто думал, что «всё уже написано до нас».

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

Но скоро (надеюсь, очень скоро), буду и вновь писать код в своё удовольствие и на благо компании :-)

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

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

Оставайтесь на связи! ;-)

P. S. И задайте, пожалуйста, какие-нибудь темы для обсуждения. Что вы хотите узнать о разработке стартапа (но, пока, не о нём самом)? Для затравки, несколько ключевых слов про используемые технологии: mobile, iPhone, Android,  realtime, geolocationRuby, JavaScript, HTML 5Ubuntu.

Сколько стоит Ubuntu?

16.06.2009

Да, я знаю что Ubuntu распространяется бесплатно. Сегодня меня заинтересовало другое. Сколько стоила бы аналогичная система, построенная из платных аналогов.

Посмотрим, что мы получаем в комплекте с Ubuntu:

  • операционную систему на базе ядра GNU/Linux;
  • приятную, расширяемую и настраиваемую графическую оболочку;
  • набор Офисных приложений:
    • редактор текстов (который в платных аналогах любят называть текстовым процессором);
    • приложение электронных таблиц;
    • редактор презентаций;
    • мощное приложение для ведения переписки, календаря и заметок + ещё одно, исключительно для заметок но более удобное;
  • два графических редактора: растровый и векторный;
  • кучу игрушек и прочих приятных мелочей.

Внушительный список, не правда ли? Сколько вы готовы заплатить за такой набор? А теперь посчитаем, что нам предлагают производители коммерческого ПО:

Категория ПО Ubuntu Windows Mac OS X
Итого: 0 1687,45 $ 1506 $
Ядро системы GNU/Linux 0 Windows Vista Home Premium 239.95 $1 Mac OS X 1.5.6 129 $
Офисный пакет OpenOffice, Evolution или KOffice, Kontact 0, 0 Office Home and Student 2007 149,95 $2 iWork 09 79 $
Растровый графический редактор GIMP или Krita (из KOffice) 0, 0 Adobe Photoshop CS4 699 $ Adobe Photoshop CS4 699 $
Векторный графический редактор Draw (из OpenOffice), Inkscape или Karbon (из KOffice) 0, 0 Adobe Illustrator CS4 599 $ Adobe Illustrator CS4 599 $

Берём среднее арифметическое от стоимости комплектов под Windows и Mac OS X и получаем 1596,725 $. Можно сколько угодно говорить о неточном соответствии возможностей тех или иных программ, представленных в сравнении, однако потребности большинства пользователей «ВКонтакте» и «Одноклассников» Ubuntu легко покрывает. У меня нету лишних полутора тысяч долларов, которые я отдал бы за ту толику функциональности, которая не предоставлена бесплатными аналогами. А вы?

Примечания:

  1. На русском сайте корпорации Microsoft найти цену на какие-либо продукты нереально! ↑1 ↑2

rotuka @ Ubuntu Russian Translators

21.04.2009

Сегодня пришло письмо, что меня утвердили в группе переводчиков Ubuntu на русский. Приятно.

И я даже отличился в свежевыходящем Зайцелопе. В апплете-индикаторе новых сообщений я указан, как один из переводчиков.

Ubuntu + Compiz — удобно и красиво!

09.02.2009

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

Расскажу о композитном менеджере окон Compiz Fusion. Его историю можете прочитать на сайте проекта, а меня интересует конкретно его применение.

(далее…)

Сборка приложений из исходного кода в Ubuntu

04.11.2008

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

Два простых пути для установки приложений из меню, мышкой:

  • ПриложенияУстановка/удаление…
  • СистемаАдмининстрированиеПрограмма управления пакетами Synaptic

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

Однако, бывают случаи, когда необходимое вам приложение отсутствует в репозитории, например потому, что оно ещё не стабильно, либо распространяется только в исходных кодах, либо его написал ваш сосед-программист, ну или по какой-то другой причине. Тогда придётся собирать его из исходников. Если вы обратитесь к любому руководству по сборке приложений, вы увидите три строки, известных (почти) любому пользователю линукса со стажем более полугода. А именно:

./configure
make
sudo make install

Кратко о каждой из этих команд

./configure

Эта команда подготавливает исходные коды к компиляции под конкретную платформу, а именно в вашей операционной системе. Она проверяет налицие необходимых программ (компиляторов, сборщиков и т. п.), библиотек, а так же заголовочных файлов (something.h). Достаточно часто случается, что в вашей системе недостаёт какого-нибудь необходимого приложения, либо файла заголовков, необходимого для компиляции программы. В таком случае, эта команда выведет сообщение об ошибке. Если у вас достаточный опыт, то вы, конечно же, легко определите, что заголовочный файл some_extra_thing.h находится в пакете extra_things_for_cool_nerds-dev, однако не всегда просто определить, что именно хочет от вас программа, чего ей не хватает.

Тогда нам на помощь придёт утилита под названием auto-apt. Она хранит информацию о заголовочных файлах, которые имеются в репозиториях и поможет вам найти, в каком пакете хранится тот или иной заголовочный файл.

Если ./configure вывела вам сообщение о недостаче заголовочного файла Xlib.h, воспользуйтесь командой

auto-apt search Xlib.h

Она ответит вам следующим:

usr/include/X11/Xlib.h	libdevel/libx11-dev

Это обозначает, что нужный вам файл содержится в пакете libx11-dev, относящемся к категории libdevel (пакеты для разработки) и после установки пакета (sudo apt-get install libx11-dev) будет лежать по адресу usr/include/X11/Xlib.h

Есть ещё более простой путь вызова ./configure, который сам предложит вам установить все необходимые пакеты

auto-apt run ./configure

Вам нужно будет только следить за процессом установки и изредка нажимать Y для установки необходимых пакетов.

make

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

make install

Этой командой вы устанавливаете приложение. Если вы хотите установить её для всех пользователей, общесистемно, вам необходимы права пользователя root. В Ubuntu это решается вызовом этой команды после sudo, то есть

sudo make install

НО! При установке этим путём, вы можете нарушить целостность системы, поскольку эта команда не сохранит данные о том, какие файлы и куда были установлены. Таким образом, удаление этой программы сможет принести вам много мороки. Чтобы облегчить возможноые страдания, была написана утилита под названием checkinstall. Она проверяет, что и как хочет сделать команда make install, а потом собирает по полученным сведениям deb-пакет и устанавливает его в систему (то есть, для удачного выполнения этой команды ей так же нужны права суперпользователя). Благодаря этому, вы сможете потом легко удалить ненужное вам более приложение, используя например Synaptic, упоминавшийся в начале статьи.

Установка программ в пользовательский каталог

Бывает, что некоторые программы не нужны общесистемно, тогда нужно на этапе конфигурирования указать, что программа будет устанавливаться в пользовательский (или иной) каталог. Для этого, обычно, первая команда видоизменяется следующим образом:

./configure --prefix=/home/$USER

Тогда команду make install нужно вызывать без префикса sudo.

Выводы

Для упрощения установки программы из исходных кодов, в Ubuntu вы можете воспользоваться немного изменённым набором команд:

auto-apt run ./configure
make
sudo checkinstall

для установки общесистемной, либо:

auto-apt run ./configure --prefix=/home/$USER
make
make install

для установки в пользовательский каталог.

Разработка сайтов в Ubuntu или LAMP = Ubuntu + Apache + MySQL + PHP

19.10.2008

Ubuntu – это линукс для людей. Поэтому, установка набора для веб-разработчика в нём производится одной командой:

sudo tasksel install lamp-server

После её выполнения, на вашем компьютере обоснуются Apache, MySQL и PHP. А мы сразу же займёмся созданием первого сайта.

Все сайты, над которыми тружусь, я храню в папках вида ~/Sites/www.example.com.dev/. Это удобно, потому как не приходится настраивать права доступа к файлам и придумывать структуру папок в /var/www/, а так же каждому из них можно выделить человекочитаемое имя, оканчивающееся на .dev (которое соответствует названию папки), и при разработке и тестировании набирать в адресной строке браузера www.rotuka.com.dev и попадать на локальную версию вашего сайта.

Создание и настройка текстового сайта

Допустим, мы приступаем к разработке сайта rotuka.com, тогда создадим для него личную папку

mkdir -p ~/Sites/rotuka.com.dev/public

Теперь, нам нужно рассказать нашему локальному апачу об этом сайте. Создаём файлик для этого сайта:

sudo gedit /etc/apache2/sites-available/rotuka.com.dev

и вписываем в него следующие строки:

<VirtualHost *:80>
    ServerName rotuka.com.dev
    ServerAlias www.rotuka.com.dev
    DocumentRoot /home/$USER/Sites/rotuka.com.dev/public
</VirtualHost>

где $USER нужно заменить на ваше имя пользователя.

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

sudo a2ensite rotuka.com.dev

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

sudo /etc/init.d/apache2 reload

Теперь, настроим удобное обращение к сайту. Для этого пропишем, что хост rotuka.com.dev обслуживается на нашем компьютере, локально. Открываем файл /etc/hosts

sudo gedit /etc/hosts

находим там строку, начинающуюся на 127.0.0.1 (обычно, это первая строка) и вписываем в её конец, через пробел от предыдущих данных, rotuka.com.dev. Сохраняем файл, закрываем редактор.

Теперь кидаем какой-нибудь файлик index.html в папочку нашего сайта (/home/$USER/Sites/www.rotuka.com.dev/public) или выполняем команду

echo -e "<html>\n  <head>\n    <meta http-equiv="Content-type" content="text/html;
charset=utf-8" />\n    <title>Тестовый сайт</title>\n  </head>\n  <body>\n
<h1>Тестовый сайт</h1>\n    <p>Привет, веб-разработчик</p>\n  </body>\n</html>\n"
> /home/$USER/Sites/rotuka.com.dev/index.html

Всё, теперь уже можно вписать в адресную строку браузера http://rotuka.com.dev/ и увидеть, что сайт вас приветствует (-:

Ссылки по-теме:

Wacom Bamboo One + Ubuntu. Установка и решение проблем

05.10.2008

Вчера мне в руки попал планшетик Wacom Bamboo One. Забавная вещица. Если её установить (-;

Страница руководства, посвящённая Wacom посылает нас на довольно подробное руководство по установке и настройке последних драйверов для линейки Bamboo, которое приведёт вас к вполне рабочему тандему Бамбук+Убунту, однако если вы используете терминал, либо постраничный поиск в файрфоксе, либо вы просто любите системный звук ошибки – вы получите много проблем. Ибо теперь каждый вызов системного сигнала будет приводить к перезагрузке иксов.

Решения этой проблемы гугл не знает. Яндекс, кстати, тоже. И лишь кустарные методы позволят использовать. Чтобы лишить себя проблем (хотя бы временно), выполните следующие действия:

  1. Откройте настройку звука (Система -> Параметры -> Звук) и на вкладе «Системный сигнал» снимите галочку с параметра «Включить системный сигнал» и поставьте галочку «Визуальный системный сигнал«, чтобы вместо звука сигнал был произведён путём мигания какой-либо области экрана.
  2. Запустите терминал (Приложения -> Стандартные -> Терминал), выберите в меню Правка -> Текущий профиль… и снимите галочку с параметра «Подавать гудок«
  3. Запустите Firefox (Приложения -> Интернет -> Firefox Web Browser) и введите в адресной строке about:config. Затем найдите параметр accessibility.typeaheadfind.enablesound и поставьте ему значение false.

Настройка GTalk в Kopete (KDE4)

16.09.2008

Сегодня поставил на своём лаптопе Kubuntu KDE4 и столкнулся с проблемой при настройке GTalk в Kopete. При соединении выдавалась ошибка «SSL support could not be initialized for account user@example.com. This is most likely because the QCA TLS plugin os not installed on your system».

Первым делом я, естественно, попытался решить эту проблему путём установки этого самого QCA TLS, довольно логично, не правда ли? Тем более, что и пакетик в репозиториях нашёлся одноименный.

sudo apt-get install qca-tls

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

sudo apt-get install libqca2-plugin-ossl

После этого перезапускаю Kopete и… вуаля, всё заработало.

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

  1. При создании аккаунта выбрать протокол Jabber
  2. В качестве Jabber ID ввести ваше имя пользователя, вместе с доменным именем, то есть username@gmail.com или username@example.com если вы используете Google Apps на домене вашей организации и т. п.
  3. В параметрах соединения (Вкладка Connection) поставить все три галочки: Use protocol encryption (SSL); Allow plain-text password authentication; Override default server information
  4. Выставить в качестве имени сервера talk.google.com, порт 5223.

Этих настроек должно быть вполне достаточно для комфортной работы. Не забудьте установить поддержку QCA TLS, если выскочит ошибка. Одной командой это делается так:

sudo apt-get install qca-tls libqca2-plugin-ossl

Gnome Do

03.09.2008

Первой статьёй решил описать небольшую утилитку, которой пользуюсь ежедневно и, даже, ежеминутно. Имя ей — Gnome Do.

Эта небольшая утилитка позволяет сделать многие вещи настолько быстро, насколько это, в приницпе, возможно (но, не быстрее, как уточняют её создатели).

(далее…)

Привет, рунет!

02.09.2008

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

Может быть, со временем, не только об Убунте. Да всё может быть со временем. Увидим (-: