Google Analytics

суббота, 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. Я думаю, потраченные услилия того стоят:) Если заметка кому-то помогла, пожалуйста не скупитесь на отзыв в комментах:) Я буду очень рад любым отзывам, комментариям и пожелаиям. А главное, буду знать что делаю полезное дело, делясь такими заметками с сообществом:)