Blog in development hell.
Ближайшее изменение – новый пост.

вторник, 16 марта 2010 г.

Слайдшоу на рабочем столе в Ubuntu (Wallpaper Slideshow)

Захотелось организовать красивое слайдшоу бэкграундов.
Нагуглил http://ubuntuforums.org/showthread.php?t=1329147#3 - там описан .xml файл задающий слайдшоу.
Час помучавшись с консолью, погуглив и почитав мануалы (я искал $PWD, учился создавать массивы и т.д.), я написал скрипт, создающий необходимый xml-файл.
Ссылка для скачки скрипта
#!/bin/bash
case $1 in
  pwd) dir=$PWD; 3=$2;;
  nml) dir=$2;;
  *) echo "Usage: $0 [type [dir]] [output xml-filename].

Types:
pwd - Create xml file using jpg-files in current directory
nml - Create xml file using jpg-files in specified directory

Examples:
$0 pwd myslideshow
$0 nml /home/user/pictures/ mypictures"; exit;;
esac

rm $3.xml

cat > $3.xml << EOF
<background>
  <starttime>
    <year>2009</year>
    <month>08</month>
    <day>04</day>
    <hour>00</hour>
    <minute>00</minute>
    <second>00</second>
  </starttime>
<!-- This animation will start at midnight. -->
EOF

for image in $dir/*.jpg; do
  IMAGES+=( $image )
done

IMAGEScount=${#IMAGES}

for ((i=0;i<$IMAGEScount;i++)); do
   echo ${IMAGES[${i}]}
done

for ((i=0;i<$IMAGEScount;i++)); do
  n=$i+1
  cat >> $3.xml << EOF
  <static>
    <duration>595.0</duration>
    <file>${IMAGES[${i}]}</file>
  </static>
  <transition>
    <duration>5.0</duration>
    <from>${IMAGES[${i}]}</from>
    <to>${IMAGES[${n}]}</to>
  </transition>
EOF
done

cat >> $3.xml << EOF
</background>
EOF

среда, 3 марта 2010 г.

Speed-Up Gentoo

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

Начало эксперимента:
Grub = 1 сек
Kernel = 6.29 сек
Userspace = 15.9 сек
All = 23.19 сек

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

General setup ->
  <M> Kernel .config support
Processor type and features ->
  <M> /dev/cpu/*/msr - Model-specific register support
  <M> /dev/cpu/*/cpuid - CPU information support
Power managment and ACPI options ->
  [*] ACPI support ->
    <M> AC Adapter
    <M> Battery
    <M> Processor
    <M> PCI slot detection driver
    {M} Container and module devices
  CPU Frequency scaling ->
    Default CPUFreq governor (performance)
    -*- 'performance' governor
    <M> 'powersave' governor
    <M> 'on-demand' governor
    <M> Intel Pentium 4 clock modulation
Executable file formats / Emulations ->
  <M> Kernel support for MISC binaries
[*] Networking support ->
  <M> RF switch subsystem support
Device drivers ->
  [*] Block devices ->
    <M> Loopback device support
    < > RAM block device support
    < > Packet writing on CD/DVD media
  <*> Serial ATA (prod) and Parallel ATA (experimental) drivers ->
    [ ] ATA SFF support
  [*] Multiple devices driver support ->
    <M> Device mapper support
  [*] Network device support ->
    <M> PHY device support and infrastructure
    [*] Ethernet (10 or 100Mbit)
    [ ] Ethernet (1000 Mbit)
    [ ] Ethernet (10000 Mbit)
  [*] Hardware Monitoring support
    <M> Intel Core (2) Duo/Solo temperature sensor
  {M} Generic Thermal sysfs driver
  Sonics Silicon Backplane ->
    {M} Sonics Silicon Backplane support
  <M> Multimedia support
  Graphics support ->
    -*- /dev/agpgart (AGP support) ->
      <M> Intel chipset support
    <M> Direct Rendering Manager
    < > Low level video output switch control
    {M} Support for framebuffer devices
    [*] Backlight & LCD device support ->
      <M> Lowlevel backlight controls
  <M> Sound card support
  [*] HID devices ->
    {M} Generic HID support
    <M> USB HID (full hid) support
  [*] USB support ->
    {M} Support for Host-side USB
  -*- LED support ->
    <M> LED Class support
  <M> Real Time Clock
  [*] DMA engine support ->
    <M> Intel I/OAT DMA support
File systems ->
  <M> Kernel automounter version 4 support
  {M} Native language support
{M} Cryptographic API

Замер после первой рекомпиляции:
Grub = 1 сек
Kernel = 1.45 сек (-4.84 сек)
Userspace = 14.44 сек (-1.45 сек)
All = 16.9 сек (-6.29 сек)

Изменения:
Сбросилось задание разрешения в консоли. Буду разбираться с uvesafb. Пропал проводной сетевой интерфейс.

Device drivers ->
  [*] Network device support ->
    [*] Ethernet (10 or 100Mbit)
      <*> Intel(R) PRO/100+ support
  Graphics support ->
    {*} Support for framebuffer devices
      <*> Userspace VESA VGA graphics support

Изменения:
Uvesafb заработал. Драйвер сети оказался - e1000e. Перекомпилил ядро. Заменил его на 2.6.33-gentoo. Также выключил пару ненужных демонов (raid, еще что-то, не помню). Думаю дальше надо уже ковырять userspace, так как на ядре уже произошло значительное улучшение.