Archiwa tagu: Ubuntu

Nowe paczki dla Ubuntu 12.04 plus nowe repo dla precise

Dziś w moim PPA wylądowały nowe paczki dla gKonap, burnX360 oraz NSCheckd dla Ubuntu 12.04. Tym samym w PPA znalazło się nowe repozytorium dla Precise’a. Soft nawet działa :).
W burnX360 został wyeliminowany śmieszny bug polegający na zostawieniu #!/usr/bin/env python2.6, no cóż nikt nie jest idealny.

Miłego użytkowania. Jak podoba Ci się moje oprogramowanie, nie zapominaj, możesz przekazać darowiznę :) . Z góry dziękuję.

Nowe repozytoria, GIT, nowy burnX360 …

Nowe repozytoria dla Ubuntu.

Dziś wyszły paczki gKoNap, Nscheckd orz burnX360 dla nowych wersji Ubuntu do 11.04. Dodawanie repozytoriów opisane jest tu.

GIT

Postanowiłem zmienić system kontroli wersji z Bazaar na GIT. Powoli będę przenosił hostowanie kodu z Lauchpad.net(Bazaar) na GitHub’a. Mój profil na GitHub’ie – yp2. Pomimo zalet Lauchpad.net – bugtracker, tłumaczenia, prywatne repozytoria – muszę zrezygnować z hostowania w nim kodu. Git jest o wiele bardziej przyjemny, przyjazny i zabawniejszy w pracy niż Bazaar.

Nowa wersja burnX360

Pojawiła się także nowa wersja 0.2 programu burnX360 do nagrywania kopi zapasowych dla konsoli Xbox 360. Dodano obsługę kopi w formacie XGD3 na razie tylko z wykorzystaniem przycinania obrazu (truncate) – nie wymagana jest nagrywarka z fw. LT-MAX. Planuje także wprowadzić obsługę nagrywarek z LT-MAX dla XGD3.

Daemon NSCheckd.

Z potrzeby chwili napisałem małego daemona odpowiedzialnego za montowanie bądź odmontowywanie zasobów sieciowych w oparciu o dostępność hostów. Program obsługuje nfs, nfs4, smb(samba), cifs. Wszystkie zdalne zasoby muszą mieć wpisy w pliku /etc/fstab. Zapraszam do zapoznania się z programem. Dokładny opis i sposób instalacji można znaleźć tu.

Nowa wersja gKonap.

W nowej wersji gKonap poprawiłem mechanizm odczytywania framerate’u plików wideo – użyłem modułu kaa.metadata. Teraz gKonap odczytuje listy fps z plików mkv.

Dodałem także, na prośbę użytkownika, zamianę znaczników odpowiadających za kursywę w wyświetlanych napisach na format zrozumiały dla XBMC. Na razie opcja ta działa tylko przy konwersji z jednego formatu na drugi. W planach mam przepisanie konwersji formatów napisów, tak by pozwala na zamianę znaczników, nawet wtedy gdy format plików docelowego jest taki sam jak format pliku wejściowego. Oczywiście tylko przy zaznaczonej odpowiedniej opcji.

Zapraszam do testowania.

Realtek 8187b (rtl8187) przez Ndiswrapper’a w Ubuntu 10.04.

Domyślny sterownik dla Realtek’a 8187 w Ubuntu jest niestety „niezbyt dobry”. Zasięgi łapie znakomite ale gorzej z bitrate’em. Prawdopodobnie przez obniżenie bitrate’u sterownik uzyskuje takie zasięgi. Postanowiłem wrócić do Ndiswrappera i sterownika z Win XP. Poradnik jest to kompilacja materiałów z sieci dotyczących instalacji tej karty w Ubuntu 8.04 oraz mojego poradnika napisanego dla forum Ubuntu.pl dotyczącego także Ubuntu 8.04.

1. Ściągamy sterownik dla Windows.

Ze strony Realtek’a, dział download ściągamy najnowszą wersję sterownika dla karty 8187B.

Rozpakowujemy archiwum.

2. Instalujemy ndiswrapper’a.

sudo apt-get install ndiswrapper-common ndiswrapper-utils ndiswrapper-utils-1.9

3. Instalacja sterownika Windows.

Przechodzimy do katalogu RTL8187B/WinXP w rozpakowanym archiwum ściągniętym w kroku 1. Operację tę wykonujemy oczywiście w konsoli. Jest to bardzo ważne aby być w tym katalogu. Następnie wydajemy polecenie:

sudo ndiswrapper -i net8187b.inf

Następnie:

sudo depmod -a

Następnie odnajdujemy oznaczanie naszej karty wifi:

lsusb

Szukamy linijki z nazwą Realtek Semiconductor Corp.. Przed nazwą powinno być tam podobne oznaczenie do tego: 0bda:8197. U mnie całą linijka wygląda tak:

Bus 006 Device 003: ID 0bda:8197 Realtek Semiconductor Corp.

Po odnalezieniu oznaczenie karty, każemy ndiswrappre’owi dla urządzenia o oznaczeniu xxxx:yyyy używać podanego wcześniej sterownika z Windows. Wydajemy polecenie:

sudo ndiswrapper -a tu_wpisujemy_oznaczenie_uzyskane_po_lsusb net8187b

czyli u mnie wygląda to tak

sudo ndiswrapper -a 0bda:8197 net8187b

Dodajemy wpis do /etc/modules

sudo nano /etc/modules

na końcu pliku dopisujemy:

ndiswrapper

Do pliku /etc/modprobe.d/blacklist.conf

sudo nano /etc/modprobe.d/blacklist.conf

dopsiujemy:

blacklist rtl8187

4. Usypianie i hibernacja.

Musimy teraz edytować kilka plików, aby po wybudzeniu komputera bądź to z uśpienia czy hibernacji, sieć wifi nam działał.

Sposób pierwszy to edycja pliku /usr/lib/pm-utils/sleep.d/55NetworkManager.

sudo nano /usr/lib/pm-utils/sleep.d/55NetworkManager

Edytujemy tylko ostatnią część pliku aby miała ona następującą postać:

case "$1" in
	hibernate|suspend)
		suspend_nm
		rmmod ndiswrapper
		;;
	thaw|resume)
		modprobe ndiswrapper
		resume_nm
		;;
	*) exit $NA
		;;
esac

Wadą tego rozwiązania jest jednak to, że po każdej aktualizacji pakietów odpowiedzialnych za zarządzanie energią czy pakietów NetworkManager’a plik ten zostanie nadpisany i potrzebna będzie ponowna edycja pliku.

Sposób drugi to utworzenie skryptu. Sposób nietestowany przeze mnie i nie wiem czy to rozwiązanie działa – w teorii powinno :). Tworzymy skrypt o jeden początkowy numerek większy niż nazwa pliku użytego w sposobie pierwszym. Czyli jeżeli nasza nazwa pliku dla skryptu NetworkManger’a to /usr/lib/pm-utils/sleep.d/55NetworkManager, to tworzymy plik /usr/lib/pm-utils/sleep.d/56ndiswrapper:

sudo nano /usr/lib/pm-utils/sleep.d/56ndiswrapper

Wklejamy to:

#!/bin/sh
 
. "${PM_FUNCTIONS}"
 
case "$1" in
	hibernate|suspend)
		rmmod ndiswrapper
		;;
	thaw|resume)
		modprobe ndiswrapper
		;;
	*) exit $NA
		;;
esac

Nadajemy prawa do wykonywania:

sudo chmod ugo+x /usr/lib/pm-utils/sleep.d/56ndiswrapper

Zalety tego sposobu to, że podczas aktualizacji nic nie powinno się dziać. Wady – nie wiem czy działa :).

5. Sprawdzamy czy działa.

Rozłączamy połączenie wifi w NetworkManger.

Usuwamy stary moduł odpowiadający za kartę:

sudo rmmod rtl8187

Ładujemy ndiswrapper’a:

sudo modprobe ndiswrapper

Próbujemy się połączyć. Jeżeli nie dział, powinien pomóc restart komputera.

Krew, pot i łzy … Ubuntu 10.04 cz.2

Przedstawiam drugą część zmagań z Ubuntu 10.04. Zapraszam do lektury.

1. Problem z czujnikami lm-sensors.

Po instalacji nowego Ubuntu lm-sensors, z moją płyta główną (Asus P5GD1), odmówiło współpracy. Pomaga dodanie do parametrów startowych kernel’a parametru acpi_enforce_resources=lax. Porada tylko dla GRUB2

sudo nano /etc/default/grub

odnajdujemy linijkę:

GRUB_CMDLINE_LINUX=""

i zamieniamy na (lub dodajemy jeżeli mamy już jakieś wpisy):

GRUB_CMDLINE_LINUX="acpi_enforce_resources=lax"

Wykonujemy aktualizację grub’a:

sudo update-grub

Uruchamiamy ponownie komputer.

2. Disabling irq# 19.

Podczas testów usypiania i hibernacji w logach, po wybudzeniu desktop’a, zobaczyłem taki komunikat:

Disabling irq# 19

System po wybudzeniu zaczynał działać bardzo powoli. Okazało się, że z tego przerwania korzysta sterownik dysków. W innych konfiguracjach może dojść do innych problemów ze stabilnością systemu. Pomaga dodanie do opcji startowych kernel’a w grub’ie parametru noirqdebug.

sudo nano /etc/default/grub

odnajdujemy linijkę:

GRUB_CMDLINE_LINUX=""

i zamieniamy na (lub dodajemy jeżeli mamy już jakieś wpisy):

GRUB_CMDLINE_LINUX="noirqdebug"

Wykonujemy aktualizację grub’a:

sudo update-grub

Uruchamiamy ponownie komputer.

3. Restart interfejsu ata.

Druga dziwna przypadłość to restart interfejsu ata w różnych okolicznościach. Najczęściej ma to miejsce po wybudzeniu komputera z uśpienia. Rozwiązanie to przełączenie w biosie konfiguracji interfejsu IDE z trybu AHCI (lub podobnego) na IDE Enchanced. Czyli włączenie trybu legacy pracy interfejsu IDE, włączenie tryby kompatybilności lub podobne ustawienia. Zależy to oczywiście od płyty głównej.

4. Własne wpisy dla serwerów DNS (korzystanie z DHCP).

Jeżeli korzystamy z ustawień DHCP sieci, a chcemy mieć własne wpisy dla serwerów DNS (niezależne od danych ustawień), należy edytować plik /etc/dhcp3/dhclient.conf:

sudo nano /etc/dhcp3/dhclient.conf

na końcu dodać:

prepend domain-name-servers ;

dla serwerów DNS Google wygląda to tak:

prepend domain-name-servers 8.8.8.8;
prepend domain-name-servers 8.8.4.4;

Krew, pot i łzy … Ubuntu 10.04 cz.1

Jak pisałem wcześniej postanowiłem przeinstalować Ubuntu na dwóch komputerach. Wybór padł na najnowszą wersję Ubuntu czyli 10.04. Niestety nie obyło się bez problemów. Poniżej opisuje jak rozwiązałem problemy/sytuacje jakie napotkałem podczas konfiguracji tej wersji do stanu używalności. Miłej lektury.

1. Domyślne uprawnienia do zapisu.

Jako że z komputerów korzysta dwu użytkowników należało zmienić domyślne uprawnienia dla plików i katalogów.
Do /etc/profile dodajmy na końcu:

umask 002

Do /etc/pam.d/common-session dodajemy:

session optional pam_umask.so umask=002

2. Skalowanie procesora.

Mój komputer stacjonarny wyposażony jest w procesor Pentium 4 3.00 GHz nazywany przeze mnie  pieszczotliwie „piecykiem”. We wcześniejszych wydaniach Ubuntu skalowanie doskonale działało z wykorzystaniem modułu P4_clockmod. W 10.04 P4_clockmod nie jest domyślnie używane dla P4. Systemowo domyślny „scaling governor” nie lubi się z P4 i twierdzi, że używany przez niego moduł ma za wysoką latencję. Przywrócenie skalowania procesora dla Pentium 4.

Instalujemy sysv-rc-conf, powernowd.

sudo apt-get install powernowd sysv-rc-conf

Wyłączamy ondemand.

sudo service ondemand stop

Wyłączmy domyślny start ondemand.

sudo sysv-rc-conf

odznaczamy x (przez spację) przy pozycji ondemand.
Następnie próbujemy załadować moduł p4_clockmod.

sudo modprobe p4_clockmod

Sprawdzamy czy moduł się załadował.

lsmod | grep p4_clockmod

Jeżeli moduł został załadowany dopisujemy do /etc/modules:

p4_clockmod

Edytujemy /etc/default/powernowd linia z OPTIONS powinna wyglądać tak:

OPTIONS="-q -m 1 -p 50 -u 100 "

Co do informacji na temat tych opcji odsyłam do man powernowd.
Gdyby okazało się, że procesor łapie zbyt niskie częstotliwości (tak było u mnie – skalowanie zaczynało się już od 375 Mhz) należy dodać do /etc/rc.local:

echo 1875000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq

gdzie „liczba” to jedna z możliwych dla procesora częstotliwości (aby sprawdzić dostępne częstotliwości – cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies).
Ja musiałem także przy starcie systemu ponownie restartować powernowd. W tym celu dopisujemy do /etc/rc.local:

sleep 1
/etc/init.d/powernowd restart

3. Compiz.

Jak pozbyć się efektu rwania obrazu w filmach i samym środowisku przy włączonym compizie na sterownikach od Nvidii (screen tearing, brak synchronizacji pionowej).
Instalujemy Menedżera Ustawień CompizConfig , Fusion Icon.

sudo apt-get install compizconfig-settings-manager fusion-icon

Następnie System -> Preferencje -> Menedżer Ustawień CompizConfig. W części Ogólne -> Opcje Ogólne w karcie Ustawienia obrazu zaznaczmy ostatnią opcję Synchronizuj z VBlank.

Przydatnym może okazać się skrypt do wyłączanie compiz’a i włączania metacity i odwrotnie. Używam gdy startuje XBMC aby wyłączyć compiz’a.

#! /bin/bash
pid=`ps --no-heading -C compiz | cut -d "?" -f1`;
if [ -n "$pid" ]; then
metacity --replace &
else
compiz --replace &
fi
exit 0

4. Wyłączenie usypiana i hibernacji.

Jeżeli mamy problemy z hibernacją/usypianiem lub po prostu nie chcemy mieć tych opcji w menu apletu Sesji powiadamiana należy zamienić w pliku:

sudo nano /usr/share/polkit-1/actions/org.freedesktop.upower.policy

linijkę

<allow_active>yes</allow_active>

na

<allow_active>no</allow_active>

w interesujących nas opcjach – Susupend / Hibernate.

Po ponownym zalogowaniu znikają nam z menu te opcje.

5. PulseAudio i brak Alsa Mixer’a.

Jak zwykle, od kilku wydań, Ubuntu mam spapraną domyślną konfigurację PulseAudio. Aby to naprawić musimy doinstalować kilka pakietów:

sudo apt-get install padevchooser paman paprefs pavucontrol pavumeter

Następnie Programy -> Dźwięk i Wideo -> PulseAudio Device Chooser. Lewy klawisz myszy na ikonie w tray’u wybieramy Configure Local Sound Server. W kartach Dostęp sieciowy oraz Serwer sieciowy zaznaczamy wszystkie możliwe opcje oprócz tych dotyczących DLNA, Apple AirTunes (chyba, że ich używamy). Zamykamy ustawienia oraz wychodzimy z PulseAudio Device Chooser. Po tym zabiegu znika większość problemów z pulse np. problemy z mpd.

Po dłuższej chwili używania Ubuntu 10.04 spostrzegłem, że brakuje w ustawianiach dźwięku, tak niezbędnej rzeczy jak mikser. Może na laptopie nie jest to takie uciążliwe, lecz na desktopie gdy chciał wyciszyć wyjścia dźwięku niemiło się zaskoczyłem. Rozwiązanie – doinstalowanie pakietów.

sudo apt-get install gnome-alsamixer

W menu Dźwięki mam nasz mikser alsy.

Idziemy krok dalej – wywalenie nowego wynalazku Apletu powiadamiania (Indicator-applet). Po usunięciu tego apletu z paska zadań znika nam możliwość regulacji głośności. Rozwiązanie – doinstalować pakiety.

sudo apt-get install gnome-media gnome-media-common

Wciskamy Alt+F2 wpisujemy gnome-volume-control-applet i cieszymy się starym dobrym apletem do kontroli dźwięku. Należy także dodać wpis do programów startowych, zawierający jako Poleceniegnome-volume-control-applet.

6. Zamykanie/restart systemu gdy zalogowany jest inny użytkownik.

Edytujemy plik /usr/share/polkit-1/actions/org.freedesktop.consolekit.policy.

sudo nano /usr/share/polkit-1/actions/org.freedesktop.consolekit.policy

Plik powinien wyglądać tak (zwróćcie uwagę na wyróżnione części):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policyconfig PUBLIC
 "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
 "http://www.freedesktop.org/standards/PolicyKit/1.0/policyconfig.dtd">

<!--
Policy definitions for ConsoleKit
-->

<policyconfig>

 <action id="org.freedesktop.consolekit.system.stop">
 <description>Stop the system</description>
 <message>System policy prevents stopping the system</message>
 <defaults>
 <allow_inactive>no</allow_inactive>
 <allow_active>yes</allow_active>
 </defaults>
 </action>

 <action id="org.freedesktop.consolekit.system.stop-multiple-users">
 <description>Stop the system when multiple users are logged in</description>
 <message>System policy prevents stopping the system when other users are logged in</message>
 <defaults>
 <allow_inactive>no</allow_inactive>
 <allow_active>auth_admin_keep</allow_active>
 <allow_active>yes</allow_active>
 </defaults>
 </action>

 <action id="org.freedesktop.consolekit.system.restart">
 <description>Restart the system</description>
 <message>System policy prevents restarting the system</message>
 <defaults>
 <allow_inactive>no</allow_inactive>
 <allow_active>yes</allow_active>
 </defaults>
 </action>

 <action id="org.freedesktop.consolekit.system.restart-multiple-users">
 <description>Restart the system when multiple users are logged in</description>
 <message>System policy prevents restarting the system when other users are logged in</message>
 <defaults>
 <allow_inactive>no</allow_inactive>
 <allow_active>auth_admin_keep</allow_active>
 <allow_active>yes</allow_active>
 </defaults>
 </action>

</policyconfig>

Rozwiązanie zaczerpnięte z http://www.len.ro/2009/11/karmic-various-tricks/

7. Wyłączenie w GNOME potwierdzania wylogowania, zamknięcia i restartu systemu.

Otwieramy (w konsoli lub Alt-F2) gconf-editor. Przechodzimy do apps -> indicator-applet i zaznaczamy opcję suppress_logout_restart_shutdown.

8. Dziwne „zużycia” pamięci po starcie systemu.

Co mam na myśli. Może zauważyliście, że Ubuntu niekiedy po starcie zajmuje więcej ram’u niż powinno. U mnie to były wielkości coś koło 300-500MB. Problem ten jest związany z zastosowaniem w Ubuntu mechanizmu ureadahead. Mechanizm ten odpowiedzialny jest w skrócie za szybszy start systemu. Co pewien czas ureadahead dokonuje re profilowania zainstalowanych aplikacji – miejsce ma to np. w tedy gdy instalujemy jakieś nowe pakiety bądź dokonujemy aktualizacji. Po wykonaniu profilu ureadahead zostawia w ram’ie śmieci – nie zwalnia zajętej podczas tego procesu pamięci. Profilowanie odbywa się na starcie systemu. Dlatego także Ubuntu raz startuje dłużej raz krócej. Można pozbyć się nieprzyjemnego zużycia ram’u przez dodanie do /etc/rc.local

echo 2048 | sudo tee /sys/kernel/debug/tracing/buffer_size_kb

Można to poprzedzić także komendą sleep, u mnie wynosi ona 30. Błąd zgłoszony na Launchpad’zie.

MPD, conky i okładka albumu na pulpicie.

Korzystając z tego, że wersja conky w Ubuntu 10.04 obsługuje wyświetlanie obrazów, postanowiłem zagłębić się w problem wyświetlania okładki słuchanego albumu na pulpicie przez conky.

Szukając na sieci można znaleźć kilka skryptów do ściągania okładek albumów. Niestety jakoś żaden nie wydał mi się atrakcyjny. Postanowiłem sam coś napisać. Jako baza posłużył mi część kodu Sonaty (klienta MPD).

mpd_cover.py

#!/usr/bin/python
#-*- coding: utf-8 -*-
 
import mpdclient2
import urllib
import urllib2
from xml.etree import ElementTree
import threading
import os
import shutil
 
home_dir = os.path.expandvars('$HOME')
m = mpdclient2.connect()
covers_dir = home_dir + '/.covers_conky/'
current_art_alb = covers_dir + 'current'
current_cover = covers_dir + 'current_cover.jpg'
 
def write_current_art_album(artist, album):
	#zapisz aktulany artist album
	file = open(current_art_alb, 'w')
	file.write('%s - %s' % (artist, album))
	file.close()
 
def find_local_artwork(artist, album):
	if os.path.exists(covers_dir + "%s - %s.jpg"):
		return True
	else:
		return False
 
def download_artwork(artist, album, dest_filename, all_images=False):
 
	rhapsody_uri = "http://feeds.rhapsody.com"
	url = "%s/%s/%s/data.xml" % (rhapsody_uri, artist, album)
	url = url.replace(" ", "").replace("'", "").replace("&","")
	request = urllib2.Request(url)
	opener = urllib2.build_opener()
 
	try:
		body = opener.open(request).read()
		xml = ElementTree.fromstring(body)
		imgs = xml.getiterator("img")
	except:
		return False
 
	imglist = [im.attrib['src'] for im in imgs if im.attrib['src']]
	# Couldn't find any images
	if not imglist:
		return False
 
	if not all_images:
		urllib.urlretrieve(imglist[-1], dest_filename)
		return True
 
if m.status()['state'] == 'stop':
	pass
else:
	artist = m.currentsong()['artist']
	album = m.currentsong()['album']
	desc_filename = covers_dir + "%s - %s.jpg" % (artist, album)
 
	if os.path.exists(current_art_alb):
		cur_art_alb = open(current_art_alb, 'r').readline()
		cur_art_alb.strip('\n')
 
		if cur_art_alb == '%s - %s' % (artist, album):
			#ten sam album nic nie rób
			pass
		else:
			#sprawdź czy już istnieje tak okładka
			if find_local_artwork(artist, album):
				#plik już istneje tylko przekopiuj
				shutil.copy(covers_dir + "%s - %s.jpg" % (artist, album), current_cover)
 
				#zapisz aktulany artist album
				write_current_art_album(artist, album)
			else:
				#zapisz aktualny artist album
				write_current_art_album(artist, album)
 
				#ściągnij i przekopiuj
				if download_artwork(artist, album, desc_filename):
					shutil.copy(covers_dir + "%s - %s.jpg" % (artist, album), current_cover)
				else:
					open(current_cover, 'w').write('')
	else:
		#zapisz aktulany artis album
		write_current_art_album(artist, album)
 
		#nie istnieje - ściągnij - przekopuj jako current cover
		if find_local_artwork(artist, album):
			#plik już istneje tylko przekopiuj
			shutil.copy(covers_dir + "%s - %s.jpg" % (artist, album), current_cover)
		else:
			#ściągnij i przekopiuj
			if download_artwork(artist, album, desc_filename):
				shutil.copy(covers_dir + "%s - %s.jpg" % (artist, album), current_cover)
			else:
				open(current_cover, 'w').write('')

Skrypt zapisałem do /usr/local/bin (nadając prawa do uruchamiania). Pamiętajcie o odpowiednich importach dla pythona.
Wykorzystałem dwie instancję conky. Jedna do wyświetlania tylko opisu tego  co jest grane. Druga tylko do wyświetlania okładki album. Chciała uzyskać efekt – opis wyświetlany jest po lewej stronie okładki a samo conky wyświetlane jest w prawym dolnym rogu. Nie znalazłem sposobu na wyświetlenie tego efektu z wykorzystaniem tylko jednej instancji conky, chyba że wykorzystując LUA ale niestety jeszcze nie zgłębiłem tematu.

conkyrc_mpd (wymagany font Engebrechtre)

#opcje

use_xft yes
font Engebrechtre:size=10
override_utf8_locale yes
uppercase no

update_interval 2
music_player_interval 2

text_buffer_size 512

total_run_times 0

background yes
own_window yes
own_window_type override
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
double_buffer yes

draw_shades no
draw_outline no
draw_borders no
draw_graph_borders no

#minimum_size 300 5

default_color FFFFFF
default_shade_color black
default_outline_color black

alignment bottom_right
gap_x 220
gap_y 65

no_buffers yes

mpd_host localhost

imlib_cache_size 0
#
TEXT
${if_mpd_playing}${font Engebrechtre:size=30}${alignr}${mpd_title}${font}
${font Engebrechtre:size=24}${alignr}${voffset 10}${mpd_artist}${font}
${font Engebrechtre:size=18}${alignr}${voffset 10}${mpd_album}${font}
${font Engebrechtre:size=12}${alignr}${voffset 20}${mpd_status}${font}${endif}

conkyrc_mpd_cover

#opcje 

use_xft yes
font Engebrechtre:size=10
override_utf8_locale yes
uppercase no 

update_interval 2
music_player_interval 2

text_buffer_size 512

total_run_times 0

background yes
own_window yes
own_window_type override
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
double_buffer yes

draw_shades no
draw_outline no
draw_borders no
draw_graph_borders no

minimum_size 200 200

default_color FFFFFF
default_shade_color black
default_outline_color black

alignment bottom_right
gap_x 10
gap_y 50

no_buffers yes

mpd_host localhost

imlib_cache_size 0
#
TEXT
${if_mpd_playing}
${image /home/daniel/.conky_picture/mpd_conky_back.png -p 1,1 -s 198x198}${image /home/daniel/.covers_conky/current_cover.jpg -p 26,26 -s 150x150}${execpi 10 mpd_cover.py}${endif}

Tworzymy katalog o nazwie .covers_conky, w którym znajdować będą się ściągnięte już okładki oraz aktualna okładka. Katalog .conky_picture z ostatniego pliku konfiguracyjnego przetrzymuje tło dla wyświetlanej okładki.

Następnie uruchamiamy dwie instancje conky podając jako argumenty ścieżki do plików do tych plików konfiguracyjnych (np. conky -c ~/.conkyrc_mpd i conky -c ~/.conkyrc_mpd_cover).

W galerii znajdziecie także tła dla okładek. Przydają się, gdyż może się zdarzyć, że skrypt nie znajdzie okładki album. W takiej sytuacji gadżet wygląda mniej „pusto” :).

Zaktualizowałem skrypt python’a (03.06.2010).

A oto efekt:

Miał być Debian jest Ubuntu…

Wpadłem na pomysł instalacji od zera systemów na dwóch komputerach.  Na stacjonarce Ubuntu 9.04 poczęło zwalniać niemiłosiernie podczas startu (podejrzewałem Gnoma),  innych problemów nie było.  System był aktualizowany od wersji 7.04. Laptop posiadał Ubuntu 8.04 stawiane z alfy o numerze 6. Ogólnie, w użytkowaniu nie było problemów oprócz wolnego startu samego Ubuntu.  Podczas procesu instalacji na stacjonarce postanowiłem także zreorganizować partycję na dysku.

Podczas rozważań na temat wyboru systemu rozważałem tylko Debiana i Ubuntu. Debiana zainstalowałem nawet na stacjonarnym. Pierwsza próba update’u z wersji stabilnej do niestabilnej (sid) nie powiodła się. Druga próba tak. Następnie mała wstępna konfiguracji i … mi się odechciało. Nie wiem czym to było spowodowane (gdybym wtedy wiedział  co mnie czeka z Ubuntu…), może brakiem możliwości usypiania komputera (brak również w out-of-the-box w Ubuntu), dziwnym zachowaniem systemu jako całości (występuje także w Ubuntu). Bałem się także Debiana na laptopie (Toshiba L40) ale pewnie niepotrzebnie (strach też jest w Ubuntu). Tak więc postawiłem wszędzie Ubuntu 10.04 … i się zaczęło szok, płacz, krew i łzy szczęścia jak udało mi się jako tako poskładać ten system do kupy i zmusić do działania tak jak chciałem.

Drugi raz stawiam LTS (raz na laptopie) i drugi raz mam takie jazdy … Teraz trzymam się zasady „NIGDY WIĘCEJ AKTUALNEJ WERSJI UBUNTU – TYLKO – JEDNA WERSJA WSTECZ”.