Thinkpad Fan Control

Z ThinkPad-Wiki

Przejdź do: nawigacja, szukaj

Spis treści

Wprowadzenie

Thinkpad Fan Control to oprogramowanie do sterowania wentylatorem dla Linuksa. W odróżnieniu od Thinkfan Thinkpad Fan Control zawiera graficzny interfejs do ustawiania progów temperatury.

Wymagania

Ponieważ rozwój Thinkpad Fan Control został wstrzymany jakiś czas temu, w PPA znajdują się tylko pakiety do Ubuntu 9.04 włącznie. Ten artykuł opisuje instalację i konfigurację dostępnych pakietów w:

  • Ubuntu 10.04 „Lucid Lynx”
  • Ubuntu 10.10 "Maverick Meerkat"
  • Ubuntu 11.04 "Natty Narwhal"

Obsługiwane są wszystkie modele ThinkPad, w których można załadować moduł jądra thinkpad_acpi. Wyjątki:

  • seria SL: brak obsługi thinkpad_acpi
  • Seria L, Edge, X100e: wymaga Ubuntu 10.10 z jądrem 2.6.35 lub 10.04 z jądrem tp 2.6.32

Instalacja

Ubuntu 10.04

Trzy pakiety przeznaczone dla 9.04 pobiera się ręcznie z PPA i instaluje:

Ubuntu 10.10

Aby używać ThinkPad Fan Control w Ubuntu 10.10, trzeba odpowiednio dostosować istniejące pakiety. Są ku temu dwa powody:

  • do określenia modelu ThinkPada tpfan używa interfejsu HAL, który od Ubuntu 10.10 nie jest już dostępny
  • tpfan-admin zależy od pakietu python-gnome2-desktop, który od Ubuntu 10.10 również nie jest już dostępny

Dla tych problemów istnieją następujące rozwiązania

  • Łatka dla tpfan sprawia, że rozpoznawanie modelu za pomocą lshw działa
  • zależność tpfan-admin od python-gnome2-desktop musi zostać zastąpiona przez python-rsvg

Wszystko to można wykonać w pełni automatycznie. Najpierw instaluje się pakiet patch:

sudo apt-get install patch

Następnie otwiera się wiersz poleceń i wpisuje następujące polecenia

cd ~
echo "Patching tpfan-admin"
wget http://ppa.launchpad.net/tp-fan/ppa/ubuntu/pool/main/t/tpfan-admin/tpfan-admin_0.96-ubuntu1_all.deb
dpkg-deb -x tpfan-admin_0.96-ubuntu1_all.deb tpfan-admin_0.96-ubuntu1_all_patched
dpkg-deb -e tpfan-admin_0.96-ubuntu1_all.deb tpfan-admin_0.96-ubuntu1_all_patched/DEBIAN
sed -i 's/python-gnome2-desktop (>= 2.22)/python-rsvg (>=2.30.0)/g' tpfan-admin_0.96-ubuntu1_all_patched/DEBIAN/control
dpkg-deb -b tpfan-admin_0.96-ubuntu1_all_patched
rm -r tpfan-admin_0.96-ubuntu1_all_patched tpfan-admin_0.96-ubuntu1_all.deb
echo "Patching tpfand"
wget http://ppa.launchpad.net/tp-fan/ppa/ubuntu/pool/main/t/tpfand/tpfand_0.95-ubuntu1_all.deb
dpkg-deb -x tpfand_0.95-ubuntu1_all.deb tpfand_0.95-ubuntu1_all_patched
dpkg-deb -e tpfand_0.95-ubuntu1_all.deb tpfand_0.95-ubuntu1_all_patched/DEBIAN
wget https://bugs.launchpad.net/tp-fan/+bug/575199/+attachment/1702159/+files/tpfan_nohal.patch
patch tpfand_0.95-ubuntu1_all_patched/usr/share/pyshared/tpfand/settings.py -i tpfan_nohal.patch -o tpfand_0.95-ubuntu1_all_patched/usr/share/pyshared/tpfand/settings_patch.py
mv tpfand_0.95-ubuntu1_all_patched/usr/share/pyshared/tpfand/settings_patch.py tpfand_0.95-ubuntu1_all_patched/usr/share/pyshared/tpfand/settings.py
dpkg-deb -b tpfand_0.95-ubuntu1_all_patched
rm -r tpfand_0.95-ubuntu1_all.deb tpfan_nohal.patch tpfand_0.95-ubuntu1_all_patched
wget http://ppa.launchpad.net/tp-fan/ppa/ubuntu/pool/main/t/tpfand-profiles/tpfand-profiles_20090309-ubuntu1_all.deb

Ostrzeżenia dpkg-deb można zignorować. Następnie w katalogu domowym znajdą się następujące pliki:

tpfand_0.95-ubuntu1_all_patched.deb
tpfan-admin_0.96-ubuntu1_all_patched.deb
tpfand-profiles_20090309-ubuntu1_all.deb

Należy je zainstalować dwukrotnym kliknięciem dokładnie w tej kolejności. Potem najlepiej zrestartować komputer, aby można było używać istniejących profili. Po restarcie uruchamia się konfigurację poprzez "System -> Preferencje systemowe -> ThinkPad Fan Control".

Kubuntu 10.10

Aby używać ThinkPad Fan Control w Kubuntu 10.10, trzeba odpowiednio dostosować istniejące pakiety. Są ku temu trzy powody:

  • do określenia modelu ThinkPada tpfan używa interfejsu HAL, który od Ubuntu 10.10 nie jest już dostępny
  • tpfan-admin zależy od pakietu python-gnome2-desktop, który od Ubuntu 10.10 również nie jest już dostępny
  • aby uzyskać uprawnienia roota, tpfan-admin używa gksu, co w KDE nie działa całkowicie bezproblemowo

Dla tych problemów istnieją następujące rozwiązania

  • Łatka dla tpfan sprawia, że rozpoznawanie modelu za pomocą lshw działa
  • zależność tpfan-admin od python-gnome2-desktop musi zostać zastąpiona przez python-rsvg
  • wywołania gksu w kodzie źródłowym muszą zostać zastąpione przez kdesudo.

Wszystko to można wykonać w pełni automatycznie. Najpierw instaluje się pakiet patch:

sudo apt-get install patch

Następnie otwiera się wiersz poleceń i wpisuje następujące polecenia

cd ~
echo "Patching tpfan-admin for Kubuntu"
wget http://ppa.launchpad.net/tp-fan/ppa/ubuntu/pool/main/t/tpfan-admin/tpfan-admin_0.96-ubuntu1_all.deb
dpkg-deb -x tpfan-admin_0.96-ubuntu1_all.deb tpfan-admin_0.96-ubuntu1_all_patched_KDE
dpkg-deb -e tpfan-admin_0.96-ubuntu1_all.deb tpfan-admin_0.96-ubuntu1_all_patched_KDE/DEBIAN
sed -i 's/python-gnome2-desktop (>= 2.22)/python-rsvg (>=2.30.0)/g' tpfan-admin_0.96-ubuntu1_all_patched_KDE/DEBIAN/control
sed -i 's/gksu (>= 2.0)/kdesudo (>= 2.5)/g' tpfan-admin_0.96-ubuntu1_all_patched_KDE/DEBIAN/control
sed -i 's/gksu/kdesudo/;s/--message/--comment/g' tpfan-admin_0.96-ubuntu1_all_patched_KDE/usr/share/pyshared/tpfanadmin/build.py
dpkg-deb -b tpfan-admin_0.96-ubuntu1_all_patched_KDE
rm -r tpfan-admin_0.96-ubuntu1_all_patched_KDE tpfan-admin_0.96-ubuntu1_all.deb
echo "Patching tpfand for Kubuntu"
wget http://ppa.launchpad.net/tp-fan/ppa/ubuntu/pool/main/t/tpfand/tpfand_0.95-ubuntu1_all.deb
dpkg-deb -x tpfand_0.95-ubuntu1_all.deb tpfand_0.95-ubuntu1_all_patched_KDE
dpkg-deb -e tpfand_0.95-ubuntu1_all.deb tpfand_0.95-ubuntu1_all_patched_KDE/DEBIAN
wget https://bugs.launchpad.net/tp-fan/+bug/575199/+attachment/1702159/+files/tpfan_nohal.patch
patch tpfand_0.95-ubuntu1_all_patched_KDE/usr/share/pyshared/tpfand/settings.py -i tpfan_nohal.patch -o tpfand_0.95-ubuntu1_all_patched_KDE/usr/share/pyshared/tpfand/settings_patch.py
mv tpfand_0.95-ubuntu1_all_patched_KDE/usr/share/pyshared/tpfand/settings_patch.py tpfand_0.95-ubuntu1_all_patched_KDE/usr/share/pyshared/tpfand/settings.py
dpkg-deb -b tpfand_0.95-ubuntu1_all_patched_KDE
rm -r tpfand_0.95-ubuntu1_all.deb tpfan_nohal.patch tpfand_0.95-ubuntu1_all_patched_KDE
wget http://ppa.launchpad.net/tp-fan/ppa/ubuntu/pool/main/t/tpfand-profiles/tpfand-profiles_20090309-ubuntu1_all.deb

Ostrzeżenia dpkg-deb można zignorować. Następnie w katalogu domowym znajdą się następujące pliki:

tpfand_0.95-ubuntu1_all_patched_KDE.deb
tpfan-admin_0.96-ubuntu1_all_patched_KDE.deb
tpfand-profiles_20090309-ubuntu1_all.deb

Należy je zainstalować dwukrotnym kliknięciem dokładnie w tej kolejności. Potem najlepiej zrestartować komputer, aby można było używać istniejących profili. Po restarcie uruchamia się konfigurację poprzez "KDE -> Aplikacje -> System -> ThinkPad Fan Control".

Ubuntu 11.04

Aby używać ThinkPad Fan Control w Ubuntu 11.04, trzeba odpowiednio dostosować istniejące pakiety. Jest ku temu kilka powodów:

  • do określenia modelu ThinkPada tpfan używa interfejsu HAL, który od Ubuntu 11.04 nie jest już dostępny
  • tpfan-admin zależy od pakietu python-gnome2-desktop, który od Ubuntu 11.04 również nie jest już dostępny

Dla tych problemów istnieją następujące rozwiązania

  • Łatka dla tpfan sprawia, że rozpoznawanie modelu odbywa się za pomocą dmidecode
  • zależność tpfan-admin od python-gnome2-desktop musi zostać zastąpiona przez python-rsvg

Wszystko to można wykonać w pełni automatycznie. Najpierw instaluje się pakiet patch:

sudo apt-get install patch

Następnie otwiera się wiersz poleceń i wpisuje następujące polecenia

cd ~
# Patching tpfan-admin
wget http://ppa.launchpad.net/tp-fan/ppa/ubuntu/pool/main/t/tpfan-admin/tpfan-admin_0.96-ubuntu1_all.deb
dpkg-deb -x tpfan-admin_0.96-ubuntu1_all.deb tpfan-admin_0.96-ubuntu1_all_patched
dpkg-deb -e tpfan-admin_0.96-ubuntu1_all.deb tpfan-admin_0.96-ubuntu1_all_patched/DEBIAN
sed -i 's/python-gnome2-desktop (>= 2.22)/python-rsvg (>=2.30.0)/g' tpfan-admin_0.96-ubuntu1_all_patched/DEBIAN/control
# This is needed to make our package pass the lintian-check
sed -i 's/# Please also look if there are files or directories which have a//g' tpfan-admin_0.96-ubuntu1_all_patched/usr/share/doc/tpfan-admin/copyright
sed -i 's/# different copyright\/license attached and list them here.//g' tpfan-admin_0.96-ubuntu1_all_patched/usr/share/doc/tpfan-admin/copyright
chmod +x tpfan-admin_0.96-ubuntu1_all_patched/usr/share/tpfan-admin/open-url.sh
cd tpfan-admin_0.96-ubuntu1_all_patched
find usr/ -type f -print0 | xargs -0 md5sum > DEBIAN/md5sums 
cd ~
# Building the package
fakeroot dpkg-deb -b tpfan-admin_0.96-ubuntu1_all_patched
rm -r tpfan-admin_0.96-ubuntu1_all_patched tpfan-admin_0.96-ubuntu1_all.deb
# Patching tpfand
wget http://ppa.launchpad.net/tp-fan/ppa/ubuntu/pool/main/t/tpfand/tpfand_0.95-ubuntu1_all.deb
dpkg-deb -x tpfand_0.95-ubuntu1_all.deb tpfand_0.95-ubuntu1_all_patched
dpkg-deb -e tpfand_0.95-ubuntu1_all.deb tpfand_0.95-ubuntu1_all_patched/DEBIAN
cd tpfand_0.95-ubuntu1_all_patched/usr/share/pyshared/
wget https://launchpadlibrarian.net/70852691/tpfan_dmidecode.patch
patch -p0 < tpfan_dmidecode.patch
rm tpfan_dmidecode.patch
cd ~
sed -i 's/python-dbus (>= 0.82)/python-dbus (>= 0.82), python-dmidecode (>= 3.10)/g' tpfand_0.95-ubuntu1_all_patched/DEBIAN/control
# This is needed to make our package pass the lintian-check
cd tpfand_0.95-ubuntu1_all_patched
find usr/ -type f -print0 | xargs -0 md5sum > DEBIAN/md5sums 
cd ~
sed -i 's/Required-Start:    $syslog $time/Required-Start:    $remote_fs $syslog $time/g' tpfand_0.95-ubuntu1_all_patched/etc/init.d/tpfand
sed -i 's/Required-Stop:     $syslog $time/Required-Stop:     $remote_fs $syslog $time/g' tpfand_0.95-ubuntu1_all_patched/etc/init.d/tpfand
sed -i 's/*)/force-reload)\n        $0 restart\n        ;;\n&\n /g' tpfand_0.95-ubuntu1_all_patched/etc/init.d/tpfand
sed -i 's/restart}/restart|force-reload}/g' tpfand_0.95-ubuntu1_all_patched/etc/init.d/tpfand
# Building the package
fakeroot dpkg-deb -b tpfand_0.95-ubuntu1_all_patched
rm -r tpfand_0.95-ubuntu1_all.deb tpfand_0.95-ubuntu1_all_patched
wget http://ppa.launchpad.net/tp-fan/ppa/ubuntu/pool/main/t/tpfand-profiles/tpfand-profiles_20090309-ubuntu1_all.deb

Ostrzeżenia dpkg-deb można zignorować. Następnie w katalogu domowym znajdą się następujące pliki:

tpfand_0.95-ubuntu1_all_patched.deb
tpfan-admin_0.96-ubuntu1_all_patched.deb
tpfand-profiles_20090309-ubuntu1_all.deb

Należy je zainstalować dwukrotnym kliknięciem dokładnie w tej kolejności. Potem najlepiej zrestartować komputer, aby można było używać istniejących profili. Po restarcie uruchamia się konfigurację poprzez "System -> Preferencje systemowe -> ThinkPad Fan Control".

Konfiguracja

Po instalacji uruchamia się konfigurację poprzez "System -> Preferencje systemowe -> ThinkPad Fan Control".

Narzędzia osobiste
Think-Wiki