Archiwa autora: Daniel 'yp2' Dereziński

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”.

Chromium i java.

Jeżeli macie problem z javą i chromium na Ubuntu 9.04 (aplety się nie odpalają, w about:plugins jej nie widać), należy dowiązać symbolicznie bibliotekę z libnpjp2.so (oczywiście mając poprawnie zainstalowaną java od sun’a) do katalogu chromium (/usr/lib/chromium-browser/plugins).
W terminalu wydajemy polecenie:

sudo ln -s /usr/lib/jvm/java-6-sun/jre/lib/i386/libnpjp2.so /usr/lib/chromium-browser/plugins/

Teraz możemy cieszyć się java w google chrome.

No i na Vipserv.org

Od dziś blog (oraz cała domena) znajduję się na hostingu w Vipserv.org. Jak na razie jestem pod dużym wrażeniem usług jakie oferują. Bazy MySql, PostgreSQL (nieograniczona ilość), PHP 5 oraz 6, repozytoria SVN, CVS, Bazaar, Mercurial, GIT, Django, Ruby plus tona gotowego oprogramowania do zainstalowania. Oferta naprawdę robi wrażenie. I wszytko działa szybciej niż wcześniejszy hosting w ovh.pl i do tego jeszcze jest taniej. Naprawdę polecam. Wystarczy zapoznać się z tym co oferują.

logo_new

Porządki …

Dziś postanowiłem zrobić porządki w moich projektach. Zabawa ze starymi ustawieniami Bazaar’u o mało co nie doprowadziła mnie do białej gorączki. No cóż jak człowiek nie wiedział co robi a później próbuje to odkręcić to się męczy.

Paczki w moim repozytorium PPA będą tylko utrzymywane dla ostatniego wydania Ubuntu LTS oraz dla ostatniego normalnego wydania. W sumie to żaden problem bo programy pisane są tylko w Python’ie i spokojnie można mieszać repozytoria.

Pidgin i Conky

Skrypt pidgin_buddies.py, który napisałem, umożliwia wyświetlanie kontaktów online z Pidgin’a w Conky. Skrypt wyświetla aktywne kontakty z podziałem na konta. Kolejność wyświetlania kont można zmienić edytując skrypt – jest to opisane w samym skrypcie.

Najnowszą wersję skryptu, można pobrać z tej strony.

Pobrany skrypt zapisujemy. Edytujemy plik .conkyrc dopisując linijkę:

${texeci 15 /scieżka/do/skryptu/pidgin_buddies.py}

Zamiast texeci możemy użyć dowolnego polecenia Conky do czasowego uruchamiania zewnętrznych programów. Można także zmienić czas co jaki ma być uruchamiany skrypt – tu 15 sekund (pierwsza liczba po texeci). Jeżeli wyświetlane dane były by ucięte należy zwiększyć bufor tekstu dla Conky ustawiając bądź zmieniając parametr text_buffer_size na większy.

Skrypt napisany jest w Python’ie.

UPDATE
Dodano obsługę wyświetlania aktywnych rozmów.

Zrzut z Conky:

pidgin_buddies

Kopie zapsowe (iso) Xbox 360 i Linux …

… dokładnie Ubuntu. Tak wszystko da się zrobić.

Co jest potrzebne:

  • przerobiona konsola Xbox 360 (najlepiej najnowszym Ixtreme – 1.6 lub nowszy – obsługa gier 3 wave);
  • nagrywarka DVD z obsługą płyt DVD+R DL – polecane nagrywarki Pioneer (sam mam 216D i ją gorąco polecam)
  • płyty DVD+R DL (bardzo ważne +R, inne nie będą działać) – polecana marak to oczywiście Verbatim
  • Ubuntu najlepiej 9.04
  • abgx360 oraz abgx360gui
  • growisofs (dostępne w każdej instalacji)

Jeżeli wszystko mamy przejdziemy do instalacji programu odpowiedzialnego za sprawdzenie obraz płyt. abgx360 sprawdza czy dana kopia jest bezpieczna.

Instalacja abgx360 oraz abgx360gui:

Oba programy mają natywne wersję dla linuksa. Są to źródła do samodzielnej kompilacji i instalacji.

  • instalujemy paczkę libwxbase -dev:
    sudo apt-get install libwxbase2.8-dev
  • instalujemy paczkę libwxgtk2.8-dbg:
    sudo apt-get install libwxgtk2.8-dbg
  • ściągamy archiwum abgx360 z tej strony;
  • rozpakowujemy archiwum;
  • przechodzimy do rozpakowanego katalogu;
  • wydajemy polecenia:
    ./configure
    make
    sudo make install
  • następnie ściągamy z tej samej strony archiwum abgx360gui;
  • rozpakowujemy archiwum;
  • przechodzimy do rozpakowanego katalogu;
  • wydajemy polecenia:
    ./configure
    make
    chmod +x abgx360gui
    sudo cp abgx360gui /usr/local/bin
  • z tej samej strony ściągamy abgx360data.tar.gz;
  • rozpakowujemy z archiwum katalog .abgx360 do katalogu domowego (home) użytkownika lub użytkowników, którzy mają zamiar korzystać z abgx360;

Uruchamiamy abgx360gui poprzez wpisanie w konsoli abgx360gui i przechodzimy do konfiguracji programu. Polecam wykonać go wg tego tematu z forum xbox360 iso. Zapoznanie się z tym tematem pozwoli nam być w pełni spokojnym o nasze obrazy płyt. Opisane jest tam również użytkowanie abgx360gui. Program sprawdza i porównuje różne elementy obrazu płyty z danym zawartymi w sieci. Jeżeli coś się nie zgadza program sam naprawia takie błędy (oczywiście, do takiego działania niezbędna jest poprawna konfiguracja).

Po sprawdzeniu obrazu płyt przechodzimy do jego nagrania. Można to wykonać na dwa sposoby.

Komenda w terminalu:

Do nagrania wykorzystamy growisofs. Komenda wygląda następująco:

growisofs -use-the-force-luke=dao -use-the-force-luke=break:1913760 -dvd-compat -speed=4 -Z /dev/nagrywarka=/ścieżka/do/obrazu

gdzie:

  • -speed to prędkość nagrywania (bezpieczne to 2 i 4)
  • /dev/nagrywarka to ścieżka do naszej nagrywarki (u mnie /dev/sr0) można to sprawdzić poprzez k3b lub inny program do nagrywania
  • /ścieżka/do/obrazu – mówi samo za siebie.

Osobiście nie wypalałem żadnych innych formatów niż iso (*.iso). Nie wiem jak zachowa się growisofs przy innych formatach.
Przed wypaleniem płyty polecam sprawdzić czy podane parametry są poprawne poprzez dodanie na początku argumentów dla growisofs -dry-run. Czyli komenda będzie wyglądała następująco:

growisofs -dry-run -use-the-force-luke=dao -use-the-force-luke=break:1913760 -dvd-compat -speed=4 -Z /dev/nagrywarka=/ścieżka/do/obrazu

Jeżeli po wydaniu komendy testującej otrzymamy podobny komunikat jak ten:Executing ‚builtin_dd if=/media/storage/test.iso of=/dev/sr0 obs=32k seek=0′

to możemy przystępować do nagrywania. Nagrywanie z prędkością x4 trwa około 20-25 minut.

burnX360 – program mojego autorstwa.

Do nagrywania możemy użyć mojego programu. Program jest tylko pomocnikiem dla komendy growisofs (podanych wyżej). Wszystko można w nim wyklikać. Jest także opcja uruchamiania abgx360gui. Repozytorium dostępne jest tylko dla Ubuntu 9.04 ponieważ program wykorzystuje python’a 2.6. Jeżeli masz w swojej dystrybucji tą wersję python’a możesz spokojnie użyć tego repozytorium.

Instalacja burnX360:

  • dodajemy moje repozytorium dla Ubuntu 9.04 wg tego poradnika;
  • instalujemy burnX360
    sudo apt-get install burnx360
  • uruchamiamy burnX360 z menu (Aplikacje -> Dźwięk i Obraz -> burnX360)

Przechodzimy do zakładki Opcje i podajmy ścieżkę do naszej nagrywarki (/dev/nagrywarka),  wybieramy terminal w jaki ma pojawić się wyjście programu oraz prędkość nagrywana. Parametru Layer Break proponuje nie zmieniać. Odpowiedzialny jest on z moment zmiany warstwy podczas nagrywania płyty DL. Zapisujemy opcje.
W zakładce Główne podajmy ścieżkę do obrazu płyty oraz wkładamy czystą płytę do nagrywarki. Następnie proponuje wykonać test parametrów (wynik powinien być podobny do tego co pokazano wyżej). Jeżeli test się powiedzie możemy nagrywać naszą płytę.

Więcej informacji o użytkowaniu programu można znaleźć w pliku README (/usr/share/doc/burnx360/README)

Po wypaleniu płyty proponuje ją przetestować w naszej konsoli. Jeżeli gra zacznie działać możemy kasować nasz obraz z dysku.

Sam tym sposobem wypaliłem ponad 10 płyt z kopiami i wszytko działa jak należy.

Pojawiła się nowa wersja burnX360 z obsługa nagrywanie formatu XGD3 bez wykorzystanie nagrywarek z LT-MAX – obcinanie obrazu przy pomocy truncate. Na przyszłości zaplanowana jest obsługa nagrywarek z fw. LT-MAX. Wersja ta ma paczkę deb dla wersji Ubuntu do 11.04.

XBMC i napisy.

Niestety okazało się, że XBMC – kompilowany z cvs – ma jeszcze jeden mały błąd dotyczący napisów. Nie potrafi wyświetlić naraz 3 lub więcej linijek na ekranie dla napisów w formacie MicroDVD, MPL2(oprócz kompletnego braku obsługi formatu TMPlayer). Natomiast dla formatu SubRIP napisy o trzech lub więcej liniach są wyświetlane poprawnie. Więc jak już konwertować napisy do filmów dla XBMC to na format SubRIP. Oczywiście możecie skorzystać z gKonap aby to osiągnąć :)