Jak mogę wprowadzić zmiany Powertop na stałe?


75

Jestem na Compaq 615 i jego wentylator jest głośny. Niewiele możesz na to poradzić, ale staram się utrzymać CPU / GPU tak fajnie, jak to możliwe. Oto co Powertop ma do powiedzenia:

PowerTOP 1.97 - Przegląd - Statystyki bezczynności - Statystyki częstotliwości - Statystyki urządzeń - Tunery

Jeśli zmienię wszystkie z nich na „dobre”, zmiany nie przetrwają ponownego uruchomienia.

Dodałem wiersz do pliku „grub”, jak sugerowano tutaj

Jak sprawić, by Powertop zasugerował „tunery” na stałe?


Nie edytujesz pliku poprawnie. Prawdopodobnie zepsułeś ścieżkę lub zapomniałeś, że musisz użyć sudodo edycji pliku.
Chan-Ho Suh,

1
Tylko moje dwa centy: po wyłączeniu tego, co powiedział powertop, że było złe dla żywotności baterii, znalazłem się na etapie, w którym nie mogłem podłączyć żadnego urządzenia USB, ponieważ nie zostałoby to rozpoznane. Musiałem ręcznie załadować moduły do ​​jądra, a później podłączyć urządzenie. Pozostawienie opcji „Kontrolery USB” zmieniło się na „złe”, dzięki czemu działało zgodnie z oczekiwaniami.
Pedro Brito,


Najpierw sprawdź, czy każda sugerowana funkcja przestrajania naprawdę oszczędza energię. Uwaga 2: pomiary z powertopmogą być niedokładne z powodu ponownej kalibracji wewnętrznej baterii. Źródło: askubuntu.com/questions/161774/…
Pro Backup

Proszę zaakceptować rozwiązanie!
Elod

Odpowiedzi:


64

Jeśli i tak zmienisz je wszystkie na dobre, możesz po prostu użyć polecenia

sudo powertop --auto-tune

Zadzwoń do autotuningu powertop automatycznie podczas uruchamiania

1.

W systemach używających systemdjako menedżera uruchamiania (takich jak Ubuntu) zainstaluj go jako usługę:

cat << EOF | sudo tee /etc/systemd/system/powertop.service
[Unit]
Description=PowerTOP auto tune

[Service]
Type=idle
Environment="TERM=dumb"
ExecStart=/usr/sbin/powertop --auto-tune

[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload
systemctl enable powertop.service

2)

W systemach, które nie używają systemdlub jeśli chcesz używać starego stylu z /etc/rc.localplikiem, dodaj ten wiersz na końcu do /etc/rc.local:

powertop --auto-tune
exit 0

Uwaga: jeśli skrypt już zawiera, exit 0upewnij się, że umieściłeś wszystkie polecenia przed tym wierszem, ponieważ powoduje to wyjście ze skryptu

Jeśli chcesz ustawić wszystko na dobrą, ale jedną linię, możesz najpierw automatycznie dostroić, a następnie wyłączyć jedno ustawienie dodatkową linią, na przykład, jeśli chcesz ponownie włączyć urządzenie z ekranem dotykowym (na USB 2-7), dodaj to przed exit 0:

powertop --auto-tune
echo 'on' > '/sys/bus/usb/devices/2-7/power/control'
exit 0

Uwaga: w systemie Linux z systemdupewnij się, że /etc/rc.local jest uruchamiany podczas uruchamiania przez usługę zgodności

systemctl status rc-local.service

1
Zauważyłem, że wyłączenie połączenia WiFi oszczędza jeszcze więcej energii. Nawet z ustawioną opcją power_save karta WiFi nadal zużywa około 4 W na moim systemie, jeśli jest aktywna
rubo77

1
FYI: Z jakiegoś powodu odkryłem, że muszę dodać te polecenia do rc.local jako pojedynczą linię w formularzu powertop --auto-tune && echo 'on' > '/sys/bus/usb/devices/5-2/power/control', aby działało bezbłędnie podczas każdej sesji podczas uruchamiania.
Rich.T.

to powinna być najlepiej zweryfikowana odpowiedź!
Costin Gușă

To była dla mnie najbardziej pomocna odpowiedź. Uwaga: W moim systemie ( ubuntu 16.04 ) wyjście powyższego odczytu inactive (dead). Wykonanie rc.localprzez uruchomienie sudo chmod + x /etc/rc.local osiągnęło pożądany wynik po ponownym uruchomieniu.
eldad-a

1
Dodałem opcję systemową jako usługę
rubo77

24

Oto jak możesz wprowadzić zmiany na stałe:

sudo powertop --html

Spowoduje to wygenerowanie powertop-xxxxxxxxxx-xxxxxx.htmlpliku.

Teraz albo otwórz to w przeglądarce i skopiuj echopolecenia z „... potrzebującego strojenia” do /etc/rc.local.

Lub wypakuj polecenia, używając czegoś takiego:

echo "grep 'echo ' powertop-20120805-125538.html | sed 's/.*\(echo.*\);.*/\1/g'"

Jeśli rc.localzawiera exit 0, upewnij się, że umieściłeś polecenia przed tym wierszem.


1
Eliah, korzystam z Powertop 2.0, który skompilowałem. Uruchomiłem polecenie --html i nie mogę znaleźć, gdzie deponuje plik, a nawet jeśli go zapisuje. Również po uruchomieniu Powertop pojawia się następujący komunikat: Nie można załadować z pliku /var/cache/powertop/saved_parameters.powertop
Kendor

Wypróbowałem to podejście, ale mój plik powertop (@Kendor - zostaje zapisany w tym samym katalogu, w którym byłeś) nie zawiera żadnych poleceń echa (ani innych).
metakermit

@ kermit666 będziesz mieć „echo” tam, tylko jeśli są rzeczy do zmiany. więc jeśli zastosowałeś już ustawienia w Powertop, musisz to najpierw cofnąć. może po prostu ponowne uruchomienie byłoby łatwiejsze
pumpupthevolume

Ojej, dlaczego to takie cholernie skomplikowane? Jeśli powertop po prostu wypisze skrypt, jeśli tego chcę! Twoje rozwiązanie ignoruje fakt, że większa niż> jest zapisywana jako & gt; w ramach wyniku HTML ...
Zordid

2
Nie możesz po prostu żałować za „echo”, ponieważ niektóre sugestie zaczynają się od „dev dev ...”
Tom Chiverton

15

Musisz go pobrać i skompilować, ponieważ nikt nie ma najnowszej wersji

Pobierz powertop https://01.org/powertop/downloads/2013/powertop-v2.3

powertop-2.3.tar.gz <<< Kliknij i pobierz mnie

Przed kompilacją musisz zainstalować zależności

Instalowanie zależności (wystarczy skopiować i wkleić następujące polecenia)

sudo apt-get install libtool autoconf libnl-dev ncurses-dev pciutils-dev build-essential -y

Instalowanie Powertop

Aby zbudować i zainstalować PowerTOP, wpisz następujące polecenia:

cd Downloads/powertop*  # assuming that you have downloaded in Downloads folder in you home directory   
configure 
make        # use -j option if you want to see details below
make install

Możesz także użyć -j2 do określenia liczby rdzeni, których chcesz użyć w ./make .Replace -j2 z dowolną liczbą rdzeni procesora, których chcesz użyć w procesie kompilacji. na przykład użyłem ./make -j8

Powertop jest zainstalowany, możesz odłączyć zasilanie sieciowe i możesz uruchomić

sudo powertop

Jednak większość ustawień nie jest zapisywana i są one tracone po ponownym uruchomieniu. Możesz jednak ustawić je na stałe, używając poleceń zawartych w raporcie HTML PowerTOP. Aby wygenerować raport HTML, uruchom następującą komendę: webupd8.org

sudo powertop --html=powertop.html

Wdrażanie sugestii Powertop na bateriach iz powrotem w celu maksymalizacji wydajności przy zasilaniu prądem przemiennym

W tym celu musisz utworzyć skrypt, który uruchamia sugestię powertop na baterii i maksymalizuje wydajność przy zasilaniu prądem przemiennym

Umieść go w /etc/pm/power.d/ i daj uprawnienia wykonawcze

sudo gedit /etc/pm/power.d/power

Skopiuj wklej następujące w pliku mocy

 #!/bin/sh

 # Shell script to reduce energy consumption when running battery. Place
 # it in /etc/pm/power.d/ and give execution rights.

 if on_ac_power; then

 # Start AC powered settings --------------------------------------------#


 # Disable laptop mode
 echo 0 > /proc/sys/vm/laptop_mode

 #NMI watchdog should be turned on
 for foo in /proc/sys/kernel/nmi_watchdog;
 do echo 1 > $foo;
 done

 # Set SATA channel: max performance
 for foo in /sys/class/scsi_host/host*/link_power_management_policy;
 do echo max_performance > $foo;
 done

 # CPU Governor: Performance
 for foo in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor;
 do echo performance > $foo;
 done 

 # Disable USB autosuspend
 for foo in /sys/bus/usb/devices/*/power/level;
 do echo on > $foo;
 done

 # Disable PCI autosuspend
 for foo in /sys/bus/pci/devices/*/power/control;
 do echo on > $foo;
 done

 # Disabile audio_card power saving
 echo 0 > /sys/module/snd_hda_intel/parameters/power_save_controller
 echo 0 > /sys/module/snd_hda_intel/parameters/power_save

 # End AC powered settings ----------------------------------------------#

 else

 # Start battery powered settings ---------------------------------------#

 # Enable Laptop-Mode disk writing
 echo 5 > /proc/sys/vm/laptop_mode

 #NMI watchdog should be turned on
 for foo in /proc/sys/kernel/nmi_watchdog;
 do echo 0 > $foo;
 done

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

 # Select Ondemand CPU Governor
 for foo in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor;
 do echo ondemand > $foo;
 done

 # Activate USB autosuspend
 for foo in /sys/bus/usb/devices/*/power/level;
 do echo auto > $foo;
 done

 # Activate PCI autosuspend
 for foo in /sys/bus/pci/devices/*/power/control;
 do echo auto > $foo;
 done

 # Activate audio card power saving
 # (sounds shorter than 5 seconds will not be played)
 echo 5 > /sys/module/snd_hda_intel/parameters/power_save
 echo 1 > /sys/module/snd_hda_intel/parameters/power_save_controller

 # End battery powered settings -----------------------------------------#

 fi

Teraz musisz przypisać uprawnienia do wykonywania skryptu zasilania

 sudo chmod +x /etc/pm/power.d/power

Teraz, kiedy Unplugged , powertop sugestia przejmie i zmaksymalizować żywotność baterii & you Podłączony zasilania sieciowego trzeba będzie Max Performance.

Pomocne linki

http://ubuntuforums.org/showthread.php?t=1855126&page=3 http://www.webupd8.org/2012/08/install-powertop-21-in-ubuntu-1204.html

Dla opcji -j http://dnscrypt.org/


1
Zamiast tego proponuję użyć checkinstall. Pozwoli to również utworzyć pakiet .deb, który można później odinstalować / zaktualizować. Można go zainstalować za pomocąsudo apt-get install
GuySoft

bash: ./make: brak takiego pliku lub katalogu - dlaczego tak jest? pastebin.com/bX3iLygx
Tracy Iquiña

@ TracyIquiña przepraszam, że ... sudo nie ./make .....
Qasim

1
@Qasim Zrozumiałem wczoraj ten błąd (i czytam teraz twój komentarz), więc zrobiłem makei sudo checkinstall. Działało zgodnie z oczekiwaniami. Plik README wymaga poprawek w tym pliku.
Tracy Iquiña,

@ TracyIquiña thats g8 również proszę spojrzeć na moją odpowiedź askubuntu.com/questions/285434/…
Qasim

9

To nie jest odpowiedź, o którą prosisz, ale możesz spróbować uruchomić laptop-mode. Aby to zrobić:

otwórz terminal i wpisz:

gksu gedit /etc/default/acpi-support

wpisz hasło, a następnie przejdź do dołu i w sekcji, w której mówi się o trybie laptopa, wpisz true zamiast fałszu, zamknij dokument i oczywiście zapisz

Następnie wprowadź:

gksu gedit /etc/laptop-mode/laptop-mode.conf

ten plik jest nieco dłuższy, ale oto jak go edytowałem. Dodałem # przed domyślną linią w tej linii, którą zmodyfikowałem, jak poniżej:

#
# Should laptop mode tools add the "noatime" option to the mount options when 
# laptop mode is enabled?
#
#CONTROL_NOATIME=0
CONTROL_NOATIME=1

domyślnie było 0 i zmieniłem na 1, modyfikuj tylko linie, które zmodyfikowałem. Jest tu kilka opcji, które będziesz chciał przejrzeć i przełączać według własnego uznania. Kiedy będziesz blisko i zapisz.

Po wykonaniu tej czynności będziesz chciał wpisać:

gksu gedit

teraz w edytorze tekstów kliknij otwórz i przejdź do folderu /etc/laptop-mode/conf.d/, są różne pliki, prawdopodobnie interesuje Cię automatyczne zawieszanie USB, hda audio, iwl intel wireless, intel sata i plan mc poweraving. Otwórz te pliki jeden po drugim i przeczytaj je, są napisane w doskonałym standardowym angielskim i wszystko wyjaśniają bardzo dobrze. Będziesz wiedział, co robić, pamiętaj, że 0 oznacza wyłączenie, a 1 - przez większość czasu.

Po zakończeniu zamknij i zapisz każdy plik.

Teraz uruchom ponownie i podziwiaj tryb laptopa w akcji, a następnie:

sudo powertop

i sprawdź zużycie energii, jeśli wszystko zrobiłeś poprawnie, powertop nie będzie miał żadnej dodatkowej sugestii do zrobienia, ponieważ poprawiłeś wszystko, co jest do poprawienia (mniej więcej).

Źródło: http://ubuntuforums.org/showthread.php?t=1157408&p=7271995#post7271995 (autor: Axx83 )


Dzięki. Ale nie ma sposobu, aby po prostu wprowadzić zmiany Powertop na stałe?
H3R3T1K

Przeprowadziłem wyszukiwanie na ten temat i najlepszym rozwiązaniem, jakie mogłem znaleźć (poza witryną), było włączenie trybu laptopa. Jest to obejście - jeśli znajdę lepsze rozwiązanie, dodam je również. Mam nadzieję, że na razie może to pomóc.
rlemon

2
W pliku acpi-support napisano o tym trybie laptopa: „# Uwaga: aby włączyć„ tryb laptopa ”(aby spowolnić dysk twardy przez dłuższy czas), zainstaluj pakiet laptop-mode-tools i skonfiguruj # it w /etc/laptop-mode/laptop-mode.conf. ” Zainstalowałem pakiet i otworzyłem plik. Zakładam, że jestem teraz w trybie laptopa? Mówi, że „narzędzia w trybie laptopa” są włączone. Wprowadziłem również inną zmianę, którą zasugerowałeś (noatime).
H3R3T1K,

ohh to był przykład edycji pliku. będziesz chciał przejrzeć funkcję każdej opcji i przełączać według własnego uznania. tryb laptopa powinien jednak osłabić wentylatora.
rlemon

6

Użyj reguł udev, aby uzyskać stałe oszczędności energii, skonfiguruj ustawienia bezpośrednio u źródła, zamiast tworzyć skrypty lub polegać na możliwych niezainstalowanych pakietach. Tak więc, jak tylko sprzęt zostanie dodany przez udevtwoje ustawienia są stosowane.

Prawidłowa udevreguła powoduje, że ustawienia nie mają zastosowania, gdy nie ma tam sprzętu, dzięki czemu konfiguracja jest bardziej przenośna. I dowiadujesz się więcej o wewnętrznych działaniach jądra Linux :-). Konfiguracja wykonana w ten sposób, obowiązuje również, gdy nie działa na baterii.

Przykład dostrajania Enable SATA link power Managmenet for host0. Sugeruje się:

# echo 'min_power' > '/sys/class/scsi_host/host0/link_power_management_policy'`

To już daje wyobrażenie o tym, gdzie znajduje się sprzęt: w / sys / class / scsi_host. Możesz to sprawdzić za pomocą:

# udevadm info -a -p /sys/class/scsi_host/host?
…
  looking at device '/devices/pci0000:00/0000:00:1f.2/ata1/host0/scsi_host/host0':
    KERNEL=="host0"
    SUBSYSTEM=="scsi_host"
…
    ATTR{eh_deadline}=="0"
    ATTR{link_power_management_policy}=="max_performance"
    ATTR{host_busy}=="0"

Lepiej nie dotykaj systemowych reguł udev w /lib/udev/rules.d/ i utwórz własny plik reguł udev na poziomie około 60 w /etc/udev/rules.d/. Na przykład za pomocą edytora nano:

$ nano /etc/udev/rules.d/60-power.rules

Niektóre inne przykłady piszą reguły, takie jak:

KERNEL=="host[0-5]", SUBSYSTEM=="scsi_host", ATTR{link_power_management_policy}="min_power"

Powiedziałbym „nie” i uczyń swoją regułę jeszcze lepszą, stosując ją tylko wtedy, gdy polityka zarządzania mocą łącza jest ustawiona na max_performance. Spójrz na małą różnicę (poszukaj znaku podwójnego równania):

KERNEL=="host[0-5]", SUBSYSTEM=="scsi_host", ATTR{link_power_management_policy}=="max_performance", ATTR{link_power_management_policy}="min_power"

Sprawdź, czy rządzisz udevadm test /devices/…:

# udevadm test /devices/pci0000:00/0000:00:1f.2/ata1/host0/scsi_host/host0/link_power_management_policy
calling: test
version 204
This program is for debugging only, it does not run any program
specified by a RUN key. It may show incorrect results, because
some values may be different, or not available at a simulation run.

=== trie on-disk ===
tool version:          204
file size:         5660180 bytes
header size             80 bytes
strings            1265196 bytes
nodes              4394904 bytes
load module index
read rules file: /lib/udev/rules.d/40-crda.rules
read rules file: /lib/udev/rules.d/40-gnupg.rules
read rules file: /lib/udev/rules.d/40-hyperv-hotadd.rules
read rules file: /lib/udev/rules.d/42-usb-hid-pm.rules
read rules file: /lib/udev/rules.d/50-firmware.rules
read rules file: /lib/udev/rules.d/50-udev-default.rules
read rules file: /lib/udev/rules.d/55-dm.rules
read rules file: /lib/udev/rules.d/60-cdrom_id.rules
read rules file: /lib/udev/rules.d/60-keyboard.rules
read rules file: /lib/udev/rules.d/60-persistent-alsa.rules
read rules file: /lib/udev/rules.d/60-persistent-input.rules
read rules file: /lib/udev/rules.d/60-persistent-serial.rules
read rules file: /lib/udev/rules.d/60-persistent-storage-dm.rules
read rules file: /lib/udev/rules.d/60-persistent-storage-tape.rules
read rules file: /lib/udev/rules.d/60-persistent-storage.rules
read rules file: /lib/udev/rules.d/60-persistent-v4l.rules
read rules file: /etc/udev/rules.d/60-power.rules
read rules file: /lib/udev/rules.d/61-accelerometer.rules
read rules file: /lib/udev/rules.d/64-btrfs.rules
read rules file: /etc/udev/rules.d/70-persistent-net.rules
read rules file: /lib/udev/rules.d/70-power-switch.rules
read rules file: /lib/udev/rules.d/70-uaccess.rules
read rules file: /lib/udev/rules.d/71-biosdevname.rules
read rules file: /lib/udev/rules.d/71-seat.rules
read rules file: /lib/udev/rules.d/73-idrac.rules
read rules file: /lib/udev/rules.d/73-seat-late.rules
read rules file: /lib/udev/rules.d/75-net-description.rules
read rules file: /lib/udev/rules.d/75-persistent-net-generator.rules
read rules file: /lib/udev/rules.d/75-probe_mtd.rules
read rules file: /lib/udev/rules.d/75-tty-description.rules
read rules file: /lib/udev/rules.d/78-graphics-card.rules
read rules file: /lib/udev/rules.d/78-sound-card.rules
read rules file: /lib/udev/rules.d/80-drivers.rules
read rules file: /lib/udev/rules.d/85-hdparm.rules
read rules file: /lib/udev/rules.d/85-keyboard-configuration.rules
read rules file: /lib/udev/rules.d/85-regulatory.rules
read rules file: /lib/udev/rules.d/95-udev-late.rules
rules contain 24576 bytes tokens (2048 * 12 bytes), 11335 bytes strings
1814 strings (22027 bytes), 1179 de-duplicated (11328 bytes), 636 trie nodes used
ATTR '/sys/devices/pci0000:00/0000:00:1f.2/ata1/host0/scsi_host/host0/link_power_management_policy' writing 'min_power' /etc/udev/rules.d/60-power.rules:1
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:1f.2/ata1/host0/scsi_host/host0
SUBSYSTEM=scsi_host
USEC_INITIALIZED=1203444595
unload module index

Nie mogę znaleźć sposobu na zastosowanie reguły, więc w tym przypadku zrestartowałem komputer, aby zastosować nowo utworzoną regułę udev.


jak mogę znaleźć identyfikator właściwości i możliwych wartości, skoro powertop pokazuje je jako długą nazwę na liście „Tunables”? dzięki
Cristiano

3

systemd ułatwia:

# /etc/systemd/system/powertop-autotune.service
[Unit]
Description=Auto-tune power savings (oneshot)

[Service]
Type=oneshot
ExecStart=/usr/bin/powertop --auto-tune
RemainAfterExit=true

[Install]
WantedBy=multi-user.target

Zapisz plik jednostki, kill -HUP 1, systemctl enable --now powertop-autotune.service, gotowe!


PS, jeśli potrzebujesz wyjątków od tego --auto-tune, co robi, po prostu dodaj więcej ExecStartwierszy, aby ustawić własne ustawienia.

#...
ExecStart=/usr/bin/powertop --auto-tune
ExecStart=/bin/sh -c "echo on > /sys/bus/usb/devices/2-7/power/control"

#...

Na Ubuntu powertopjest /usr/sbin, nie jest /usr/bin.
rustyx

2

Rozwiązałem to, tworząc skrypt kreskowy /root/power_save.sh:

#!/bin/dash
find /sys/devices/pci* -path "*power/control" -exec bash -c "echo auto > '{}'" \;

Ustaw jako plik wykonywalny:

sudo chmod u+x /root/power_save.sh

I dodaj go do root crontab za pomocą sudo crontab -e:

@reboot /root/power_save.sh

@dago Oto, jak wdrożyłem rozwiązania w twojej odpowiedzi.
Seppo Erviälä

Kilka pytań, które chcą mnie pouczyć: Po pierwsze, dlaczego nie drażnić, różnica? Jaka jest zaleta umieszczenia w /root/power.sh? CRON to kolejna wersja terminala? Czy Twoje rozwiązanie wymaga podania hasła?
dago

dash to kolejna powłoka używana w Ubuntu do uruchamiania wszystkich skryptów startowych, ponieważ uruchamia się szybciej niż bash. Zobacz wiki.ubuntu.com/DashAsBinSh aby uzyskać więcej informacji.
Seppo Erviälä

cron to narzędzie do tworzenia zadań na czas (np. uruchamiaj ten skrypt co n godzin). Można go również używać do uruchamiania skryptów podczas uruchamiania systemu.
Seppo Erviälä

To nie wymaga hasła.
Seppo Erviälä

2

Ten link mówi o tym samym Mówi o tym samym problemie:

https://bbs.archlinux.org/viewtopic.php?pid=860406

Jestem zainteresowany rozwiązaniem samodzielnie i spróbuję później. Powiedz mi, czy potrafisz wdrożyć to rozwiązanie.

Nie mogłem uruchomić go, ponieważ system zawsze mówił mi, że odmówiono uruchomienia pliku wykonywalnego.

Wydaje się to jednak działać:

http://philatwarrimoo.blogspot.com/2011/06/powertop-howto-enable-device-power.html

Użyłem krótkiego polecenia i uruchomiłem je z sudo.

Jako półautomatyczne rozwiązanie stworzyłem program uruchamiający:

wprowadź opis zdjęcia tutaj

skrypt jest następujący:

wprowadź opis zdjęcia tutaj

Czy istnieje sposób, aby zapobiec pytaniu o moje hasło?


@dago - przyczyną błędów „odmowy uprawnień” jest to, że musisz uruchomić „chmod + x setauto.sh”, tzn. ustawić skrypt wykonujący filtrowanie.
fossfreedom

1
@dago - powiązaj rozwiązanie ze skryptem i użyj tego rozwiązania, aby skrypt działał automatycznie, a nie ręcznie - askubuntu.com/questions/9806/…
fossfreedom

Zrozumiałem pierwszą uwagę. Jednak drugie podejście wydaje mi się łatwiejsze. Próbowałem wykonać polecenie tis za pomocą programu uruchamiającego, umieszczając xterm -e na początku. Pyta mnie o hasło, ale tak naprawdę nie działa. Możesz mi pomóc? Chciałbym uruchomić go częściowo ręcznie, ponieważ potrzebuję go tylko na baterii.
dago

@dago - zaproponuj utworzenie pliku na pulpicie i uruchom skrypt za pomocą gksudo. W razie wątpliwości - posprzątaj swoją odpowiedź, kopiując i wklejając kod z philatwarrimoo opisujący twój nowy plik skryptu, a ja edytuję twoją odpowiedź sugerowanym plikiem newfile.desktop, który możesz uruchomić z natty launchera
fossfreedom

Zrobiłem zgodnie z zaleceniami. Utrata wybranego symbolu podczas dodawania ikony programu uruchamiającego do programu uruchamiającego.
dago

0

Za odpowiedź rubo77 za, biegnę powertop --auto-tunew /etc/rc.local, a następnie cofając niechcianą zmianę domyślnej.

Ponieważ jednak urządzenie, dla którego chcę wyłączyć automatyczną kontrolę zasilania, jest zewnętrznym urządzeniem USB, które może potencjalnie pojawić się z innym /sysnumerem urządzenia drzewa, zrobiłem trochę więcej skryptów, aby dynamicznie go zidentyfikować:

/usr/local/sbin/powertop --auto-tune

export VENDOR=aaaa
export PRODUCT=bbbb

for d in /sys/bus/usb/devices/*; do
        if [ -f $d/idVendor ] && \
           [ "$(cat $d/idVendor)" == "${VENDOR}" ] && \
           [ -f $d/idProduct ] && \
           [ "$(cat $d/idProduct)" == "${PRODUCT}" ]; then
                echo 'on' > $d/power/control
        fi   
done

exit 0

gdzie VENDORi PRODUCTsą ustawione na dostawcę USB i identyfikatory produktu małymi literami szesnastkowymi.

Są one dostępne przez

  • identyfikacja urządzenia na lsusbwyjściu (identyfikatory pojawiają się tam w formularzu aaaa:bbbb), lub

  • przestrzeganie polecenia uruchamianego przez powertop podczas przełączania ustawienia zasilania, przechodzenie do bieżącego /sys/bus/usb/devices/*katalogu urządzenia i pobieranie wartości z prądu idProducti idVendorplików.


-1

Mam podobny problem i po przeczytaniu pytania na tej stronie dowiedziałem się, że program „powertop” jest najwyraźniej bardziej odpowiedni dla programistów.

Jak zainstalować powertop 1.13?

Bardziej przydatna wersja dla użytkowników to „powertop-1.13” znaleziony w repozytoriach. Pokazuje sugestie dotyczące oszczędzania energii, a także polecenie, którego używa do wykonania tej sugestii.

W tej witrynie Red Hat Docs znajdują się dalsze instrukcje dotyczące wprowadzenia tych zmian na stałe.

Konkretnie:

Aby pomóc Ci wprowadzić zmiany w sposób trwały, PowerTOP wyświetla dokładne polecenie uruchomione w celu przeprowadzenia tej optymalizacji. Dodaj polecenie do /etc/rc.localpliku za pomocą preferowanego edytora tekstu, aby zadziałał przy każdym uruchomieniu komputera.

Powodzenia!

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.