2011. február 21., hétfő

Spórolás az energiával - Ubuntu laptopon


Már régóta van a laptopomon Ubuntu, sajnos azonban nem bírja túl sokáig akkumulátorról. Ezért már a kezdeti idők óta használok bizonyos módosításokat, melyekkel le lehet csökkenteni egy linuxos gép fogyasztását. Ezeket a módosításokat hosszú idő alatt vadásztam össze több helyről (mint például: Bagoj úr blogja, lesswatts.org, és egy Patrick Voegeli nevű úr szkriptkezdeménye, amit továbbfejlesztettem - ezek voltak a fő források), ezeket egyesítettem, és kiegészítettem új dolgokkal, mely így most egy komplett "rendszert" alkot. :)
Az első és legfontosabb elem egy powersave nevű fájl [ITT letölthető], ez egy bash szkript, amely mindig le fog futni, ha a laptop energiaellátási módja megváltozik. Például, ha kihúzzuk a konnektorból a laptoptöltőt, magától át fog állni a gép energiatakarékos üzemmódba.
A fájl tartalma:
#!/bin/sh

# Acer 1810tz specific brightness key fix
#echo N > /sys/module/video/parameters/brightness_switch_enabled
# Disable wake on lan
ethtool -s eth0 wol d
# Turn screen off after 60 sec
xset dpms 0 0 60
# DPMS on
xset +dpms

# Go fast on AC power. Similar to default Ubuntu settings
if on_ac_power; then

# Remount ext3 filesystems so the journal commit only happens every 60
# seconds. By default this is 5 but, I prefer to reduce the disk
# activity a bit.
mount -o remount,commit=30,atime,diratime /
mount -o remount,commit=30,atime,diratime /home

# Disable SATA power saving
for foo in /sys/class/scsi_host/host*/link_power_management_policy;
do echo max_performance > $foo;
done

# Set the Intel wifi to no power savings.
iwconfig wlan0 power off

# Set kernel dirty page value back to default
echo 10 > /proc/sys/vm/dirty_ratio
echo 5 > /proc/sys/vm/dirty_background_ratio
echo 600 > /proc/sys/vm/dirty_writeback_centisecs

# Disable powersaving on disk
hdparm -B 255 /dev/sda

# Disable powersaving on soundcard (AC97)
#echo 0 > /sys/module/snd_ac97_codec/parameters/power_save
# Disable powersaving on soundcard (HDA)
echo 0 > /sys/module/snd_hda_intel/parameters/power_save
echo N > /sys/module/snd_hda_intel/parameters/power_save_controller

# Change cpu mode to ondemand
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

# Disable CD polling
hal-disable-polling --device /dev/scd0 --enable-polling

# Turn bluetooth on
modprobe hci_usb
hciconfig hci0 up

else # Save power

# Change the ext3 commit times to 10 minutes. This reduces disk
# activity
mount -o remount,commit=600,noatime,nodiratime /
mount -o remount,commit=600,noatime,nodiratime /home

# Enable SATA power saving
for foo in /sys/class/scsi_host/host*/link_power_management_policy;
do echo min_power > $foo;
done

# Set the intel wlan to save power
iwconfig wlan0 power on

# Reduce disk activity by waiting up to 10 minutes before doing writes
echo 90 > /proc/sys/vm/dirty_ratio
echo 1 > /proc/sys/vm/dirty_background_ratio
echo 60000 > /proc/sys/vm/dirty_writeback_centisecs

# Put down the controller when not in use
echo 10 > /sys/module/snd_hda_intel/parameters/power_save
echo Y > /sys/module/snd_hda_intel/parameters/power_save_controller

# Enable powersaving on disk after 20 min
hdparm -B 1 -S 240 /dev/sda

# Turn soundcard off when not in use (AC97)
#echo 1 > /sys/module/snd_ac97_codec/parameters/power_save
#echo 1 > /dev/dsp
# Turn soundcard off when not in use (HDA)
echo 10 > /sys/module/snd_hda_intel/parameters/power_save

# Change cpu mode to powersave
echo powersave > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

# Disable CD polling
hal-disable-polling --device /dev/scd0

# Turn bluetooth off
hciconfig hci0 down
rmmod hci_usb
fi
A második elem, egy lekérdező szkript, amivel lekérdezhetjük, hogy az energiaspóroló beállítások érvénybe léptek-e. Futtatása manuális tehát, ezt a parancsot kell kiadni majd:
powersave\?
[ITT letölthető a lekérdező szkript]
A beállító szkript és a lekérdező szkript természetesen ízlés szerint módosítható, vannak opciók, melyek nem minden gépen szükségesek, amikre nem volt szükségem azokat kicommenteltem, ha vki ezeket is végre akarja hajtani, a # jeleket kell kiszedni az adott sorok elől.
Az utolsó elem pedig egy telepítő szkript, amivel a fentebb leírt műveleteket automatikusan végrehajthatjuk. Terminálban futtathatóvá kell tenni a telepítő szkriptet, majd futtatni kell:
sudo chmod +x install.sh && ./install.sh
[ITT letölthető a telepítő szkript]

A fájl tartalma:
#!/bin/bash
# Fájlok futtathatóvá tétele, és bemásolás:
sudo chmod -v +x powersave powersave\?
sudo cp -v powersave\? /usr/bin/
sudo cp -v powersave /etc/pm/
# Függőségek telepítése:
sudo apt-get install acpi ethtool
# Módosított power.sh készítése:
cd /etc/acpi/
sudo mv -v power.sh ideiglenes_power.sh
echo '#!/bin/sh' | sudo tee power.sh
echo '/etc/pm/powersave' | sudo tee -a power.sh
sudo tail -n +2 ideiglenes_power.sh | sudo tee -a power.sh
sudo rm -v ideiglenes_power.sh
sudo chmod +x power.sh
Nos ezzel cikkem végére értem; a helyzet az, hogy a fent leírtak nem egy átlagfelhasználónak lettek megírva, de remélem a leírás segíthet kevésbé hozzáértő Linux használóknak is végrehajtani a műveleteket. Bármilyen kérdést örömmel várok! :)

2011. február 3., csütörtök

Firefox Ubuntu laptopon - optimalizálás kisképernyőre


Ha az embernek laptopja van és sokat netezik egy idő után feltűnik neki, hogy a képernyőn kevesebb dolog fér el, mintha egy asztali gép monitora előtt ülne. Persze lehet ezen segíteni egyes Firefox kiegészítőkkel:


Amint a fenti képen is látszik, a megjelenítendő terület magasságban több, mint egy centiméterrel megnőtt. Ezt a Böngésző eszköztár és az Állapotsor eltüntetésével értük el. Elsőre nem tűnhet olyan nagy dolognak ez az 1 cm, de egy kis kijelzős laptopnál ez mégis soknak számít.
Böngésző eszköztár eltüntetése
Ehhez rakjuk fel a Tiny Menu-t, mely a felső menüsort rakja át egy gombba. A Tiny Menu beállításaiban állítsuk át a megjelenítést szövegről képre. Ezután a Tiny Menu gomb mellé rakjuk át a Böngésző eszköztárból a dolgokat, majd tüntessük azt el.
Állapotsor eltüntetése
Ehhez rakjuk fel az autoHide Statusbar kiegészítőt, beállításaiban állítsuk be, hogy only if hovered for more than 300 milliseconds, és a page is loading-nál szedjük ki a pipát
Az állapotsorban található betöltődés jelző nem túl hasznos kis mérete miatt, ráadásul sokkal látványosabb az Apple Safari böngészőjéből lenyúlt megoldás. Ha feltesszük a Fission kiegészítőt a címsorban láthatjuk az oldalak betöltődését, hogy ez illeszkedjen az Ubuntu témájához, készítettem egy képet, amit a Fission beállításainál lehet betallózni. Itt letölthető.
A címsor mellett jobbra található searchbarnak alapból fix mérete van, azonban ez teljesen fölösleges a címsor sokkal fontosabb, szerencsére ez is orvosolható a Searchbar Autosizer kiegészítővel.
Ezekután már csak egy Ubuntu Ambiance-hez illő téma kell, mert az eredeti eléggé elüt az Ubuntu megjelenésétől. Ehhez én a Dustfox témát használom.

Kiegészítés:
Ezek a kiegészítők Winen is működnek, ott is nyerhetünk vele területet, itt telepíthető pedig egy jó aeros Firefox téma Win7hez.

2011. január 7., péntek

Samsung Galaxy 3 (i5800) 0.00B internal storage

Nemrég én is Android tulajdonos lettem. Rövid felfedezés, próbálgatás után persze elkezdtem kipróbálni újabb rom-okat, mint a gyári. A 2.1es Eclair tudásban szerényebb, mint a lassan elterjedő 2.2es Froyo, ezért is akartam frissíteni. Fel is tettem a samfirmware.com-ról az I5800XXJPB-t, azonban a Marketből való telepítés közben mindig befagyott a teló az "Installing..." résznél. Ezért visszaraktam egy régebbi 2.1es rom-ot, de a 0.00B internal storage hiba fogadott. Egy ideig azt hittem, hogy sikerült brickelni a telómat, de rövid keresgélés után a neten rátaláltam, hogy több féleképpen is előjöhet ez a hiba. Végül sikerült megoldani a problémát, és most ennek leírását fogom bemutatni. Lényegében egy custom rommal sikerült megoldanom, hogy újra legyen belső memória, és fent legyen a Froyo is.

1) Ments le minden fontos adatot, mert a telepítés során el fognak veszni. (Névjegyzék, smsek, programok, ha kellenek)
2) Csinálj egy hard resetet (*2767*3855# tárcsázóban) Ekkor újra indul a teló.
3) Ha betöltődött kapcsold ki
4) Töröld a cache partíciót (Egyszerre kell lenyomni a hangerő fel + hangerő le + Home gomb (középső) + Kikapcsolás gombot, és addig kell lenyomva tartani míg újraindul, aztán pedig a megjelenő menüben a hangerő gombokkal kell Wipe cache partition menüpontot kiválasztani a Home gombbal)
5) Ha kész kapcsold ki a telót
6) A firmware frissítéshez Windows fog kelleni. Töltsd le az Odin programot, és a telefonhoz tartozó .ops fájlt
7) Töltsd le innen a custom rom-ot. Ez már rootolva van eleve, és néhány fölösleges program ki van szedve belőle.
8) Indítsd el az Odint (újabb Wineknél rendszergazda módban), az OPS gombnál tallózd be a letöltött .ops fájlt, kapcsolj a One Package gombra, és keresd ki a letöltött custom romot.
9) Kapcsold a telót Download módba (hangerő le + Home gomb + Kikapcsolás gomb), majd kösd rá a gépre. Ekkor az Odinban meg fog jelenni a Com portnál, egy sárga keretben.
10) Ha minden ok, kapcsolj rá a Start gombra, és várd meg míg befejeződik a telepítés, és az Odin a "PASS" feliratot írja ki.
11) Nincs több lépés :D Elvileg mostmár működik egy rootolt 2.2 Froyo a Galaxy 3-adon.

2010. december 30., csütörtök

Audacious Docky helper

Már többször próbálkoztam különféle dokkoló programokkal, de rövid idő után mindig elment tőlük a kedvem. Nemrég találtam rá azonban a Docky nevű programra, amit azonnal megszerettem és azóta is használom.
Telepítés, megtalálható az Ubuntu Szoftverközpontban, vagy Terminálból:
sudo apt-get install docky
Rengeteg kiegészítő van a Dockyhoz, csak sajnos a kedvenc lejátszómhoz, az Audacioushoz nem találtam semmilyen kiegészítőt. Most vizsgaidőszak van az egyetemen így volt időm megírni hozzá egy saját helpert. :D


ITT LETÖLHETŐ a megírt kiegészítő.

A helper egy .tar fájlba van csomagolva, telepítése egyszerű: Jobb klikk a Docky ikonján >> Beállítások >> Segédek >> Telepítés, és itt meg kell keresni a letöltött .tar fájlt.
Ezután megjelenik a segédek közt már az Audacious kiegészítő.

Mit is tud ez a program? Ha elindítunk egy zeneszámot, a program megkeresi, hogy van-e a mappában még egy lemezborító (cover vagy folder nevű kép; jpg, gif, png formátumban) és berakja azt a Dockyban az Audacious ikonjának. Ezenkívűl van egy pozíció visszajelző ikon. Bekerült még a Jobb klikk menübe egy kis kontrollálási lehetőség (lejátszás/szünet, számváltás).


Röviden a kiegészítő megírásáról: a helper Python nyelven íródott, működése teljesen ugyanolyan, mint a "gyári" zenelejátszó kiegészítőknek, mivel azok forráskódja alapján írtam, sok módosítással, javítással. A lemezborító keresésést és beállítását azonban teljesen újraírtam, mert az eredeti elég bugos volt. Ha valaki kipróbálná, ötleteket, észrevételeket, és főként hibákat szívesen fogadok! :)

(Megjegyzés: Ha elindítunk egy zeneszámot, lekapcsoljuk a lejátszót és egy újabbat indítunk el az Audacious Jobb klikk menüjében többszöröződnek az irányító gombok. Ez NEM a kiegészítő hibája, minden ilyen típusú lejátszónál pl.: Rhythmbox, Banshee is tapasztalható a hiba. A hiba magában a Dockyban van, és elvileg már javították is a hibát, hamarosan bekerül a programba a javítás.)

Audacious helper Launchpad branch
Audacious helper Gnome-Look.org-on
Docky hivatalos honlapja
Docky Wiki
Docky Launchpad oldala

2010. december 23., csütörtök

Firefox könyvjelzők szinkronizálása Dropboxban

Ebben az írásomban megmutatom, amit korábban már megígértem, hogy mire használható még a konkrét fájlszinkronizálás/átvitelen kívűl a Dropbox. Egy korábbi cikkben már írtam a PuTTY profilok szinkronizálásáról, most jöjjön egy következő felhasználási terület: a Firefox könyvjelzők szinkronizálása.

Erre a feladatra már rengeteg megoldás született, dehát ezért Linux a Linux, hogy bárki kiválaszthatja, hogy melyik tetszik neki a legjobban. Az UbuntuOne jó dolog azonban nem multiplatform ezért is választottam a Dropboxot.

Először is telepítsük a Dropbox legfrisebb verzióját:
sudo apt-key adv --keyserver pgp.mit.edu --recv-keys 5044912E
sudo sh -c 'echo "deb http://linux.dropbox.com/ubuntu/ maverick main" >> /etc/apt/sources.list.d/dropbox.list'
sudo apt-get update && sudo apt-get install nautilus-dropbox
Ezután foglalkozhatunk már a könyvjelzzők szinkronizálásával. A Firefox a könyvjelzőket a places.sqlite fájlban tárolja a profile könyvtárban (pontosabban nem csak a könyvjelzőket tárolja ebben az adatbázisban, hanem az előzményeket és még számtalan dolgot, bővebben olvashatunk róla itt) tehát elég ezt a fájlt szinkronizálnuk. Pontosabban ha több gépet használunk és mindegyiken szinkronizálni akarjuk a könyvjelzőinket, és ha valamelyiken új könyvjelzőt rakunk be és azt akarjuk, hogy a többi gépen is frissüljenek a könyvjelzők, akkor az előbb említett profil könyvtárban a places.sqlite fájl szimbolikus linkjét kell elhelyeznünk ami a Dropbox könyvtárban lévő szinkronizálandó places.sqlitera mutat.
Először hozzunk létre egy könyvtárat a Firefox számára a Dropbox mappában:
mkdir ~/Dropbox/firefox
Ezután elhelyezzük a places.sqlite fájlt ebben a könyvtárban ennek a szkriptnek a segítségével.Majd töröljük az eredeti places.sqlite fájlt, és létrehozunk helyette egy szimbolikus linket, ehhez is írtam egy szkriptet.[A szkripteket Terminálból a ./szkriptneve utasítással kell futtatni.]Innentől kezdve automatikusan szinkronizálódnak Firefox könyvjelzőink.

Megjegyzés:
Ha több gép fut egyszerre és mindegyiken szinkronizálunk, akkor úgynevezett conflicted copy-k jönnek létre. Ezeket néha töröljük a következő paranccsal (egy Rob Wilkerson nevű úriember találmánya):
find . -type f -name "*conflicted*" -exec rm -f {} \;
Kiegészítés (könyvjelzők winen):
Ha már elhelyeztük a places.sqlite fájlt, a Dropbox könyvtárunk firefox mappájában, akkor létrehozhatunk egy hardlinket, a Firefox mappájában. A kiadandó parancs a következő:
mklink /d "C:\Users\felhasználónév\AppData\Roaming\Mozilla\Firefox\Profiles\profilmappanév.default\places.sqlite" "C:\Users\felhasználónév\Dropbox\firefox\places.sqlite"
Felhasználónév helyett természetesen írjuk be a sajátunkat, és a leírt helyen nézzük meg a profilmappa nevünket ami *.default alakú.

Nemsokára elkészül a következő cikkem, amely a Nautilus szkriptekről fog szólni (azokat is lehet szinkronizálni :)

Dropbox PPA
Link

2010. december 17., péntek

Skype telepítése Maverickben


A Maverick Meerkatban az Ubuntu archive repositoryjából telepíthetjük a legfrisebb Skype verziót. Ehhez nem kell mást tennünk mint:

1. Megnyitni a Szoftverforrások listáját:
sudo gedit /etc/apt/sources.list
2. Kikommentelni a következő sorokat (# jel törlése), ezzel hozzáadtuk az archive repositoryt:
deb http://archive.canonical.com/ubuntu maverick partner
deb-src http://archive.canonical.com/ubuntu maverick partner
3. Mentsük el a változtatásokat és lépjünk ki a Geditből
4. Telepítsük a Skype-ot:
sudo apt-get update && sudo apt-get install skype
Forrás

Ronda bootsplash kijavítása

Az új Ubuntuban a bootsplash nem mindenkinél néz ki szépen, ennek megoldására a Grub és a splash felbontását kell az asztalunkon használt felbontásra beállítani. Én 1280x1024-es felbontást használok ezt mindenki állítsa át, a saját gépén használtra a következők végrehajtásakor:

1. Telepítsük fel a v86d csomagot:
sudo apt-get update && sudo apt-get install v86d
2. Nyissuk meg a Grub beállításait:
sudo gedit /etc/default/grub
3. Keressük ki a következő sort: “GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash” és változtassuk meg erre:
GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash nomodeset video=uvesafb:mode_option=1280×1024-24,mtrr=3,scroll=ywrap”
4. Keressük meg ezt a sort: #GRUB_GFXMODE=640×480 és változtassuk meg erre:
GRUB_GFXMODE=1280×1024
5. Mentsük el a változtatásokat és zárjuk be a Geditet
6. Nyissuk meg az initramfs modult:
sudo gedit /etc/initramfs-tools/modules
7. Illesszük be a végére a következő sort, majd mentsük el a változtatásokat és zárjuk be a Geditet
uvesafb mode_option=1280×1024-24 mtrr=3 scroll=ywrap
8. Végül futassuk le a következő parancsokat:
echo FRAMEBUFFER=y | sudo tee /etc/initramfs-tools/conf.d/splash
sudo update-grub2 && sudo update-initramfs -u
Ha mindent jól csináltunk visszanyertük az eredeti bootsplasht. Körülbelül így kell kinéznie:

Forrás