Highlighter

четверг, 13 сентября 2012 г.

Запускаем Unity под Archlinux

Многие недовольны развитием десктопного линукса. А мне вот нравится Unity из ubuntu. Вот только в убунте всё настолько запатчено, что очень тяжело завести на других дистрибутивах.

Однако нашлись люди, которые пропатчили все зависимости и сделали репозиторий.
Есть два способа поставить unity - собрать самому или поставить готовый из репозитория. Я бы рекомендовал собирать самому, так как проблемы фиксятся быстрей. Но можно и из репозитория, а потом пересобрать пакеты, с которыми возникли проблемы.

Вот адреса репозиториев:

[unity]
Server = http://unity.xe-xe.org/$arch

[unity-extra]
Server = http://unity.xe-xe.org/extra/$arch

Добавляем это в /etc/pacman.conf и устанавливаем.

pacman -Suy
pacman -S $(pacman -Slq unity)

Естественно, придётся заменить ряд системных пакетов (вроде xorg-server) на патченные.
Ещё бы я порекомендовал установить lightdm-ubuntu для запуска.

Собрать можно, используя репозиторий с гитхаба.

git clone  git://github.com/chenxiaolong/Unity-for-Arch

После этого читаем README и собираем/устанавливаем в правильном порядке.
Если хочется, то можно это просто автоматизировать.
#/bin/bash

CURRENT_PATH=`pwd`
echo "" > build-fails

for PACKAGE in `cat README | awk '/[0-9][0-9]:/ { print $2 }'`
do
        echo ""
        echo "Building $PACKAGE"
        cd $PACKAGE
        makepkg || echo $PACKAGE >> $CURRENT_PATH/build-fails
        rm -rf src pkg
        cd $CURRENT_PATH
done
После того, как всё соберётся, можно это установить.
#!/bin/bash

CURRENT_PATH=`pwd`
echo "" > install-fails

for PACKAGE in `cat README | awk '/[0-9][0-9]:/ { print $2 }'`
do
        cd $PACKAGE
        for PACKAGE_FILE in `ls *.pkg.tar.xz`
        do
                echo "installing $PACKAGE_FILE"
                yaourt --noconfirm -U $PACKAGE_FILE || echo $PACKAGE_FILE >> $CURRENT_PATH/install-fails
        done
        cd $CURRENT_PATH
done
На практике, после установки из репозитория, я столкнулся со следующими проблемами:

  1. Не работали заголовки окон. Решилось пересборкой compiz-ubuntu и установкой metacity-ubuntu из AUR.
  2. Вместо текущего времени отображалась надпись "Time". Решилось созданием файла /etc/timezone c содержанием текущей таймзоны. Для меня это Europe/Minsk
  3. Центр настроек сегфолтился при выборе пункта "мониторы". Решилось пересборкой gnome-control-center-ubuntu

После этого стало возможно пользоваться Unity. Единственное - нужно внимательно следить за обновлениями. Вероятность поломки довольно высока.

Стоит отметить, что я и раньше использовал NetworkManager и PulseAudio. Поэтому с ними возиться не пришлось.

вторник, 11 сентября 2012 г.

Заряжаем новый iPad под Linux от USB


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

К счастью, это можно сделать при помощи костылей. Есть утилита ipad_charge, которая позволяет увеличить ток, подаваемый на устройство. 

Вот список поддерживаемых устройств: 

  • iPad
  • iPad2
  • iPad3
  • iPod Touch 2G
  • iPod Touch 3G
  • iPod Touch 4G
  • iPhone 3GS
  • iPhone 4
  • iPhone 4S

Установка проста. Для убунту можно собрать пакет

sudo aptitude install libusb-1.0-0 libusb-1.0-0-dev
git clone https://github.com/mkorenkov/ipad_charge.git
cd ./ipad_charge
make
checkinstall

Для арча я сделал PKGBUILD, который можно найти в AUR

Примечание. USB 2.0 рассчитан на ток в 0.5 ампера. Работа на повышенных токах может повредить материнскую плату.