czwartek, 31 grudnia 2009

Instalacja Mac OSX Leopard Snow 10.6.2 na VMware

W celach eksperymentatorsko poznawczych postanowiłem spróbować instalacji systemu Apple Mac OS X Snow Leopard 10.6.2 na VMware.
Przygotowania:
Potrzebujemy procesora z obsługą instrukcji SSE3 oraz VT-x
Ściągamy paczkę, w której jest zawarta przykładowa struktura dysku, sterowniki do systemu gościa, bootloader oraz kext do uruchomienia fonii.
Jako system host wykorzystałem Ubuntu 9.10 oraz VMware Workstation w wersji 7.0.0 build 203739
Uruchamiamy VMware i otwieramy, z wcześniej rozpakowanej paczki, plik Mac OS X Server 10.6 (experimental).vmx
W ustawieniach wirtualnej maszyny przechodzimy do konfiguracji i w opcjach CD/DVD wskazujemy z rozpakowanej paczki plik darwin_snow.iso
Start wirtualnej maszyny i oczekiwany efekt:

Obrazek1

Z dolnego paska narzędzi VMware wybieramy CD/DVD (IDE) / Settings i wkładamy do napędu nośnik z systemem.
Dodatkowo w sekcji Device Status zaznaczamy opcję Connected:

Obrazek2

Kolejny etap to wybór języka instalacji i w opcji dostosuj (tutaj warto poeksperymentować) pozostawiłem zaznaczoną opcję instalacji języka polskiego.
Dalej klasyczna instalacja, która zakończy się rebootem.
Reboot nie działa niestety właściwie i system należy startować z pliku darwin_snow.iso
Czyli ponowne uruchomienie i instalacja sterowników dla systemu gościa czyli z dolnego paska narzędzi wybieramy CD/DVD/Settings podajemy ścieżkę do obrazu darwin_snow.iso (tam są sterowniki) i zaznaczamy connect, na pulpicie pojawi się ikona, dwuklik......
Następny krok to uruchomienie dźwięku czyli rozpakowanie pliku EnsoniqAudioPCI.mpkg.tar.gz z pobranej paczki oraz klasyczna instalacja.
Kilejny krok to instalacja aktualizacji systemu do wersji 10.6.2, którą przeprowadzamy poprzez systemowe SU.
Końcowy rezultat:

Obraz4

wtorek, 15 grudnia 2009

rTorrent 0.8.6 - instalacja ze źródeł z obsługą Xmlrpc

Niezbędne pakiety:

sudo apt-get install build-essential libsigc++-2.0-dev pkg-config libcurl4-openssl-dev libidn11-dev libkadm5srv6 libkrb5-dev libssl-dev zlib1g-dev libncurses5 libncurses5-dev libxmlrpc-c3-dev

Kompilacja oraz instalacja libtorrent:

cd libtorrent-0.12.6
./configure
make
sudo make install

Kompilacja instalacja rtorrent:

cd rtorrent-0.8.6
./configure --with-xmlrpc-c
make
sudo make install

poniedziałek, 14 grudnia 2009

GRUB2 - Zmiana Wyglądu



Do listy repozytoriów Ubuntu 9.10
sudo gedit /etc/apt/sources.list

dodamy:

deb http://ppa.launchpad.net/bean123ch/burg/ubuntu karmic main
deb-src http://ppa.launchpad.net/bean123ch/burg/ubuntu karmic main

Dalej klasycznie:

sudo apt-get update

Usuniemy używanego GRUBA

sudo apt-get purge grub-pc

oraz katalog

sudo rm -R /boot/grub

Instalacja:

sudo apt-get install grub-pc

Aktualizacja sektora startowego mbr.

sudo grub-install "(hd0)"

Ściągamy dostępne motywy, zapiszemy na Pulpit i w konsoli:

cd /boot/grub/
sudo tar xzf ~/Pulpit/nazwa_themesa

Przystępujemy do konfiguracji, a w tym celu do pliku

sudo gedit /etc/default/grub

dopiszemy

GRUB_GFXMODE=1600x1200 ---->warto sprawdzć jakie rozdzielczości obsługuje GRUB poleceniem vbeinfo
GRUB_THEME=nazwa thema

Mój plik wygląda tak:

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.

GRUB_DEFAULT=0
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX="acpi_enforce_resources=lax"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entrys
GRUB_DISABLE_LINUX_RECOVERY="true"
GRUB_GFXMODE=1600x1200
GRUB_THEME=chiva

Ostatnia czynność to standardowe polecenie sudo update-grub, które spowoduje wygenerowanie aktualnego pliku /boot/grub/grub.cfg

poniedziałek, 2 lutego 2009

Interfejs sieciowy WebUI dla rTorrenta - wTorrent.

Istnieje całkiem sporo sieciowych nakładek WebUI na rTorrent'a, ale prawdopodobnie największą uwagę zwraca wTorrent, a to dzięki bardzo milutkiemu i całkowicie" spolszczonemu" interfejsowi.
Aby skorzystać z możliwośći jaką daje wTorrent należy zainstalować potrzebne oprogramowanie:

(tutaj drobna uwaga: rTorrent MUSI być zainstalowany z obsługą xmlrpc i własnie tak będzie gdy zainstalujemy go z repozytoriów dla Ubuntu 8.10.
Nie wiem dokładnie od kiedy tak jest, ale tak własnie jest, zatem odpada potrzeba instalacji ze źródeł)
Zatem:

# sudo apt-get install apache2 php5 php5-xmlrpc php5-sqlite sqlite libxmlrpc-c3 libapache2-mod-scgi rtorrent subversion


Tuż po instalacji można sprawdzić czy serwer apache działa wpisując w przeglądarkę:

http://localhost

Tekst It works! świadczy o poprawnej pracy serwera.
Następnie tworzymy w katalogu domowym folder public_html:

$ mkdir ~/public_html

Następnym krokiem będzie poinformowanie apache gdzie ma "patrzeć", zatem;

# sudo nano /etc/apache2/sites-available/default

Zastępujemy treść tego pliku takim wpisem: (Jako user podajemy własną nazwę użytkownika.)

<VirtualHost *:80>
ServerAdmin webmaster@localhost

DocumentRoot /home/user/public_html
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/user/public_html/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
LoadModule scgi_module /usr/lib/apache2/modules/mod_scgi.so
SCGIMount /RPC2 127.0.0.1:5000
</VirtualHost>



Dwie ostatnie linijki tego wpisu to przekazanie, (sprzeżenie) rtorrent'a i serwera apache.
Następnie restart serwera:

# sudo /etc/init.d/apache2 restart

Kolejny krok to utworzenie w folderze domowym katalogów roboczych dla rtorrenta: (stosownie do własnych potrzeb)

$ mkdir ~/Dane
$ mkdir ~/Dane/pliki
$ mkdir ~/Dane/sesje

oraz pliku konfiguracyjnego:

$ nano ~/.rtorrent.rc

o takiej treści (to mój przykład, który należy dostosować do własnych potrzeb)

session = /home/user/Dane/sesje
directory = /home/user/Dane
upload_rate = 0
download_rate = 0
use_udp_trackers = yes
max_uploads = 200
port_range = 6892-6892
min_peers=10
max_peers=400
check_hash = no
schedule = low_diskspace,5,60,close_low_diskspace=20M
schedule = watch_directory,5,5,load_start=/home/user/Dane/pliki/*.torrent
schedule = untied_directory,5,5,stop_untied=
scgi_port = localhost:5000

Najistotniejsza jest ostatnia linijka niezbędna do poprawnej pracy wtorrenta.
Test działania rtorrenta:

$ rtorrent

oraz test słuchania

# sudo netstat -npl | grep rtorrent

Jeżeli wynik będzie zbliżony do tego:

tcp 0 0 127.0.0.1:5000 0.0.0.0:* LISTEN 6642/rtorrent
tcp 0 0 0.0.0.0:6892 0.0.0.0:* LISTEN 6642/rtorrent

to jest dobrze. :-)

Zamykamy działanie rTorrenta w sesji screen 'a i przechodzimy do folderu:

$ cd ~/public_html

wykonujemy:

$ svn co svn://wtorrent-project.org/repos/trunk/wtorrent/
$ mv wtorrent/* .
# sudo cp /conf/sample.user.conf.php /conf/user.conf.php

Pozostaje nadanie odpowiednich uprawnień:

# sudo chown -R www-data:www-data *


W przeglądarce wybieramy:

http://localhost/install.php

Wypełniamy odpowiednie pola i zapisujemy konfigurację.
Następnie w celach bezpieczeństwa usuwamy plik:

# sudo rm ~/public_html/install.php

W przeglądarce wybieramy:

http://localhost/index.php

i efekt:



P.S.
Większość tutoriali poświęconych wtorrentowi zakłada uruchamianie rtorrenta w sesji screen 'a razem ze startem systemu.
Z punktu widzenia działania wtorrenta nie jest to konieczne aczkolwiek instalacja na serwerze np. domowym ułatwia obsługę.
Aby spowodować uruchamianie rtorrenta wraz z systemem najlepiej skorzystać z gotowego skryptu, a zatem:

# wget http://libtorrent.rakshasa.no/attachment/wiki/RTorrentCommonTasks/rtorrentInit.sh?format=raw -O /etc/init.d/rtorrent

następnie edytujemy skrypt zastępując nazwę user swoją nazwą użytkownika:

# nano /etc/init.d/rtorrent

nadajemy prawo do wykonania jako programu, umożliwiamy autostart i startujemy.

# chmod +x /etc/init.d/rtorrent
# update-rc.d rtorrent defaults
# /etc/init.d/rtorrent start

Podczas następnego startu systemu rtorrent zostanie automatycznie uruchomiony w sesji screen 'a.

sobota, 24 stycznia 2009

ConkyForecast czyli pogoda na pulpicie

Z tego co wiem sporo osób używa tego programu, ale może po przeczytaniu tego poradnika ktoś jeszcze się zainteresuje, a skrypt "wart jest grzechu."

Do głównych zalet tego programu, skryptu można zaliczyć:
- prostota instalacji,
- równie prosta konfiguracja,
- mnogość informacji wyświetlanych na ekranie,
- mozliwość dowolnego formatowania wyświetlanych informacji.

Podstawową wadą zaś ( nie skryptu, a zasady działania ) jest fakt, że osoby które chcą skorzystać z niego muszą, powinny (choć wcale niekoniecznie) mieszkać w zasięgu działania serwisu http://weather.yahoo.com

Aby skorzystać ze skryptu i móc otrzymywać dane w formacje XML należy się zarejestrować na stronie

Po udanej rejestracji w mailu zwrotnym otrzymamy:
Partner ID i License Key które to dane będą potrzebne do konfiguracji skryptu.

Instalację programu najlepiej powierzyć apt'owi zatem dla Ubuntu 9.10

sudo wget -q http://www.kaivalagi.com/ubuntu/ppa/m-buck-conky-karmic.list -O /etc/apt/sources.list.d/m-buck-conky-karmic.list

Klucz:

wget -q http://www.kaivalagi.com/ubuntu/ppa/m-buck-conky-key.gpg -O- | sudo apt-key add -

Dalej klasycznie:

sudo apt-get update

i

sudo apt-get install conkyforecast

Kolejny krok to konfiguracja skryptu zatem:

cp /usr/share/conkyforecast/conkyForecast.config ~/.conkyForecast.config

i

gedit ~/.conkyForecast.config

Tutaj wpisujemy dane otrzymane w mailu:

# config settings for conkyForecast.py
CACHE_FOLDERPATH = /tmp/
CONNECTION_TIMEOUT = 5
EXPIRY_MINUTES = 30
TIME_FORMAT = %H:%M
DATE_FORMAT = %Y-%m-%d
LOCALE = pl - tutaj jak widać pl szczegóły niżej
XOAP_PARTNER_ID = dane z maila
XOAP_LICENCE_KEY = dane z maila

Razem ze skryptem instaluje się przykładowy plik konfiguracyjny dla programu conky czyli conkyrc plus plik szablonu, które to można uruchomić poleceniem:

conky -c /usr/share/conkyforecast/example/conkyrc

Jednak wcześniej warto w tym pliku zmienić kod miasta, w którym mieszkamy.
Aby odszukać kod miasta udajemy się na stronę

Kod naszego miasta jest widoczny jako końcówka linka np. dla Katowic to PLXX0060

Na podstawie analizy tych plików można w swoim własnym pliku conkyrc uzyskać całkiem ciekawe efekty.

P.S.
Przygotowałem do tego skryptu polski plik językowy, który umożliwia wyświetlanie informacji w naszym ojczystym języku.
Plik można ściągnąć [url=http://ubuntuforums.org/attachment.php?attachmentid=100630&d=1232562770][b]tutaj.[/b][/url]
Po rozpakowaniu folder pl z zawartością należy skopiować do [b]usr/share/conkyforecast/locale[/b]

Efekt:
Tak wygląda pogodynka uruchomoina z pliku conkyrc przygotowanego przez autora skryptu:



A tak przygotowana przez jednego z użytkowników:



Na koniec moja skromna propozycja:



EDIT:
Ponieważ w Conky od wersji 1.7.2 pojawiła sie możliwość wyświetlania na ekranie grafiki zatem i conkyForecast w wersji 2.09 został wyposażony w taką możliwość, podczas instalacji tej wersji instalują się do /usr/share/conkyforecast/images również obrazki reprezentujące poszczeólne stany pogody.
Wykorzystanie sprowadza się do dodania odpowiedniej frazy do pliku conkyForecast.template gdzie:

--datatype=WI - stan pogody
--datatype=MI - faza księżyca
--datatype=BI - kierunek wiatru

Przykład:

${image [--datatype=WI] -p x,y -s 120x120}

gdzie:
--datatype=WI - grafika stanu pogody
-p - położenie
x - prawo/lewo
y - góra/dół
W tym miejscu warto nadmienić, że conky pozycjonuje grafikę od lewej górnej krawędzi okna, które zajmuje oraz to, że grafika nie zwiększa rozmiarów okna.

-s 120x120 - rozmiar grafiki tutaj 120x120 pixeli.

Efekt:



Autorem tego skryptu jest Kaivalagi, a szereg dodatkowych informacji jak i super szczegółowy opis tego programu można znaleźć na jego stronie domowej


piątek, 23 stycznia 2009

rTorrent w Conky


Do napisania tego poradnika skłonił mnie artykuł o podobnej treści znajdujący się na szwedzkim forum Ubuntu.
http://ubuntu-se.org/phpBB3/viewtopic.php?f=19&t=30454
Jako, że osobiście byłem zainteresowany tematem postanowiłem zbadać sprawę i oto wyniki.
Aby conky mógł wyświetlać na pulpicie poczynania rTorrenta ten ostatni musi być zainstalowany ze źródeł i to chyba najtrudnieszy moment tej operacji, ale do dzieła.
Jeżeli w systemie mamy zainstalowanego rTorrenta to należy go usunąć, a zatem w konsoli:

apt-get remove rtorrent

Następnie należy zainstalować narzędzia niezbędne do dalszej pracy:


sudo apt-get install build-essential libsigc++-2.0-dev pkg-config libcurl3-openssl-dev libidn11-dev libkadm55 libkrb5-dev libssl-dev zlib1g-dev libncurses5 libncurses5-dev libxmlrpc-c3-dev

Następnie udajemy się na stronkę twórcy rTorrenta
i ściągamy najnowsze paczki.
Mój wybór padł na:libtorrent-0.12.4.tar.gz i rtorrent-0.8.4.tar.gz
Paczki należy rozpakować np. na Pulpit i w konsoli:

cd libtorrent-0.12.4
./configure
make
sudo make install

i dalej:

cd rtorrent-0.8.4
./configure --with-xmlrpc-c
make
sudo make install

Następny krokiem jest utworzenie w katalogu domowym folderu o nazwie rtorrent_rpc zatem

mkdir ~/rtorrent_rpc

następnie do pliku konfiguracyjnego rtorrenta czyli najczęściej ~/.rtorrent.rc w ostatniej linijce należy dopisać:

scgi_local =~/rtorrent_rpc/rpc.socket

Kolejnym krokiem będzie wizyta na stronie autora skryptu:
i pobranie dokładnie tego:
xmlrpc2scgi.py autorstwa glenn on 05/23/08 06:02:00.
Skrypt należy umieścić w utworzonym folderze, czyli ~/rtorrent_rpc i nadać mu prawo do wykonania bądź to graficznie bądź w konsoli.
Następny krok to instalacja paczki:

sudo apt-get install xmlstarlet

Teraz kopiujemy ten skrypt:

#!/bin/sh
test -S "$2" &&
"$@" d.multicall default \
d.get_name= \
d.get_up_rate= \
d.get_down_rate= \
d.get_completed_chunks= \
d.get_size_chunks= \
d.is_active= \
|
xmlstarlet sel -t -v / |
awk '/./ {
if (++i%6 == 1) name=$0
else if (i%6 == 2) up[name]=$0
else if (i%6 == 3) down[name]=$0
else if (i%6 == 4) done[name]=$0
else if (i%6 == 5) size[name]=$0
else if (i%6 == 0) active[name]=$0
} END {
for(name in up) {
if(active[name]) {
up_sum += up[name]
down_sum += down[name]
#if(++j<=4)
{
printf("Namn: %s\n", name)
printf("Klart: %d%%\n", 100 * done[name] / size[name])
printf("Upp: %.1f kB/s\n", up[name] / 1024)
printf("Ner: %.1f kB/s\n", down[name] / 1024)
printf("\n\b")
}
}
}
printf("Upp totalt: %.1f kB/s\n", up_sum / 1024)
printf("Ner totalt: %.1f kB/s\n", down_sum / 1024)
}' |
xargs -d'\b' -n1 printf '%s\0' |
sort -z |
xargs -0 -n1 printf '%s'

zapisujemy w folderze domowym pod nazwą skriptet.sh, nadajemy prawo do wykonania jako programu.
W dowolnym miejscu pliku configuracyjnego ~/.conkyrc dopisujemy (pamiętając o ewentualnym dopasowaniu ścieżek)linię:

${exec ~/skriptet.sh ~/rtorrent_rpc/xmlrpc2scgi.py ~/rtorrent_rpc/rpc.socket}

I to w zasadzie tyle, po uruchomieniu rTorrenta i dodaniu zadania otrzymamy widok pracującego rTorrenta.
W komentarzach do oryginalnego artykułu znajdują się jeszcze dwa przykładowe skrypty, których analiza pozwoli zorientować się jak najlepiej przystosować skrypt do własnych potrzeb.

Pozdrawiam i powodzenia.:-)