Wie mache ich Powertop-Änderungen dauerhaft?

75

Ich bin auf einem Compaq 615 und sein Lüfter ist laut. Sie können nicht viel dagegen tun, aber ich versuche, die CPU / GPU so kühl wie möglich zu halten. Das sagt Powertop:

PowerTOP 1.97 - Übersicht - Leerlaufstatistik - Frequenzstatistik - Gerätestatistik - Abstimmbare Werte

Wenn ich alle auf "gut" ändere, überstehen die Änderungen einen Neustart nicht.

Ich habe die Zeile der "grub" -Datei hinzugefügt, wie hier vorgeschlagen

Wie mache ich den Powertop-Vorschlag "Tunables" dauerhaft?

H3R3T1K
quelle
Sie bearbeiten die Datei nicht richtig. Sie haben wahrscheinlich den Pfad durcheinander gebracht oder vergessen, dass Sie ihn sudozum Bearbeiten der Datei verwenden müssen.
Chan-Ho Suh
1
Nur meine zwei Cent: Nachdem ich das deaktivierte, was laut Powertop für die Akkulaufzeit schädlich war, befand ich mich in einem Stadium, in dem ich kein USB-Gerät anschließen konnte, da es nicht erkannt wurde. Ich musste die Module manuell in den Kernel laden und später das Gerät anschließen. Wenn die "USB-Controller" -Optionen "schlecht" eingestellt wurden, funktionierte sie wie erwartet.
Pedro Brito
Überprüfen Sie zuerst, ob jedes vorgeschlagene Tunable wirklich Strom spart. Hinweis Nr. 2: Die Messwerte von sind powertopmöglicherweise nicht genau, da der Akku neu kalibriert wurde. Quelle: askubuntu.com/questions/161774/…
Pro Backup
Bitte akzeptieren Sie eine Lösung!
Elod,

Antworten:

64

Wenn Sie sie trotzdem alle in gut ändern, können Sie einfach den Befehl verwenden

sudo powertop --auto-tune

Rufen Sie powertop auto-tune beim Booten automatisch auf

1.

Auf Systemen, die systemdals Startup-Manager (wie Ubuntu) verwendet werden, installieren Sie es als Dienst:

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.

Fügen Sie auf Systemen, die nicht verwendet werden systemd, oder wenn Sie den alten Stil mit /etc/rc.localfile verwenden möchten , diese Zeile am Ende hinzu /etc/rc.local:

powertop --auto-tune
exit 0

Hinweis: Wenn das Skript bereits enthält exit 0, stellen Sie sicher, dass Sie alle Befehle vor dieser Zeile platzieren, da dadurch das Skript beendet wird

Wenn Sie möchten, dass nur eine Zeile in Ordnung ist, können Sie zuerst eine Einstellung automatisch abgleichen und dann eine Einstellung mit einer zusätzlichen Zeile deaktivieren. Wenn Sie beispielsweise das Touchscreen-Gerät (bei USB 2-7) wieder aktivieren möchten, fügen Sie hinzu dies vor dem exit 0:

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

Hinweis:systemd Stellen Sie unter Linux mit sicher, dass /etc/rc.local beim Start vom Kompatibilitätsdienst ausgeführt wird

systemctl status rc-local.service
rubo77
quelle
1
Mir ist aufgefallen, dass das Deaktivieren der WiFi-Verbindung noch mehr Energie spart. Selbst wenn die Option power_save aktiviert ist, verbraucht die WLAN-Karte auf meinem System immer noch etwa 4 W, wenn sie
aktiviert ist
1
Zu Ihrer Information : Aus irgendeinem Grund musste ich rc.local diese Befehle als einzelne Zeile im Formular hinzufügen powertop --auto-tune && echo 'on' > '/sys/bus/usb/devices/5-2/power/control', damit dies bei jedem Start der Sitzung einwandfrei funktioniert.
Rich.T.
Dies sollte die am besten verifizierte Antwort sein!
Costin Gușă
Dies war die hilfreichste Antwort für mich. Hinweis: Auf meinem System ( Ubuntu 16.04 ) wird die Ausgabe der oben genannten gelesen inactive (dead). Wenn Sie rc.localsudo chmod + x /etc/rc.local ausführen, wird nach einem Neustart das gewünschte Ergebnis erzielt.
eldad-a
1
Ich habe die Option systemd als Service hinzugefügt
rubo77
24

So können Sie die Änderungen dauerhaft vornehmen:

sudo powertop --html

Dadurch wird eine powertop-xxxxxxxxxx-xxxxxx.htmlDatei generiert .

Öffnen Sie das nun entweder im Browser und kopieren Sie die echoBefehle von "... Tuning nötig" nach /etc/rc.local.

Oder extrahieren Sie die Befehle wie folgt:

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

Wenn rc.localenthält exit 0, müssen Sie sicherstellen, dass die Befehle vor dieser Zeile stehen.

dreh die Lautstärke auf
quelle
1
Eliah, ich verwende Powertop 2.0, das ich kompiliert habe. Ich habe den Befehl --html ausgeführt und kann nicht feststellen, wo die Datei abgelegt wird oder ob sie gerade geschrieben wird. Auch wenn Powertop gestartet wird, wird die folgende Meldung angezeigt: Kann nicht aus der Datei /var/cache/powertop/saved_parameters.powertop
Kendor
Versuchte diesen Ansatz, aber meine Powertop-Datei (@Kendor - sie wird in demselben Verzeichnis gespeichert, in dem Sie sich befanden) enthält keine Echo-Befehle (oder andere Befehle).
Metakermit
@ kermit666 du wirst dort nur "Echo" haben, wenn es tatsächlich Dinge zu ändern gibt. Wenn Sie also die Einstellungen in Powertop bereits angewendet haben, müssen Sie diese zuerst rückgängig machen. vielleicht wäre es einfacher, nur neu zu
starten
Gee, warum ist das so kompliziert? Wenn Powertop nur ein Skript ausgeben würde, wenn ich das will! Ihre Lösung ignoriert, dass der Wert größer als> als & gt; innerhalb der HTML-Ausgabe ...
Zordid
2
Sie können nicht einfach nach "Echo"
greifen
15

Sie müssen es herunterladen und kompilieren, da niemand die neueste Version hat

Laden Sie powertop https://01.org/powertop/downloads/2013/powertop-v2.3 herunter

powertop-2.3.tar.gz <<< Klicken und herunterladen

Vor dem Kompilieren müssen Sie Abhängigkeiten installieren

Abhängigkeiten installieren (Kopieren Sie einfach die folgenden Befehle und fügen Sie sie ein)

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

Powertop installieren

Geben Sie zum Erstellen und Installieren von PowerTOP die folgenden Befehle ein:

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

Sie können auch -j2 für die Anzahl der Kerne verwenden, die Sie in ./make verwenden möchten. Ersetzen Sie -j2 mit einer beliebigen Anzahl von CPU-Kernen, die Sie für den Kompilierungsprozess verwenden möchten. Ich habe zum Beispiel ./make -j8 verwendet

Ist Powertop installiert, können Sie den Netzstecker ziehen und loslegen

sudo powertop

Die meisten Einstellungen werden jedoch nicht gespeichert und gehen nach einem Neustart verloren. Sie können sie jedoch mit den Befehlen im PowerTOP-HTML-Bericht dauerhaft machen. Führen Sie den folgenden Befehl aus, um einen HTML-Bericht zu generieren: webupd8.org

sudo powertop --html=powertop.html

Implementieren von Powertop-Vorschlägen im Akkubetrieb und zurück, um die Leistung bei Wechselstrom zu maximieren

Dazu müssen Sie ein Skript erstellen, das Powertop-Vorschläge für Akkus ausführt und die Leistung bei Wechselstrom maximiert

Platziere es in /etc/pm/power.d/ und gib Ausführungsrechte

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

Kopieren Sie Folgendes, und fügen Sie Folgendes in die Power-Datei ein

 #!/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

Jetzt müssen Sie die Ausführungsberechtigung des Power- Skripts zuweisen

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

Nun , wenn Sie Unplugged , wird Powertop Vorschlag übernehmen und zur Maximierung der Akkulaufzeit und Sie Angeschlossen Netz Sie Max Leistung haben.

Hilfreiche Links

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

Für die Option -j http://dnscrypt.org/

Qasim
quelle
1
Stattdessen schlage ich vor, Sie verwenden checkinstall. Außerdem können Sie ein .deb-Paket erstellen, das Sie später deinstallieren / aktualisieren können. Sie können es mitsudo apt-get install
GuySoft 27.05.13
bash: ./make: Keine solche Datei oder kein solches Verzeichnis - Warum ist das so? pastebin.com/bX3iLygx
Tracy Iquiña
@ TracyIquiña sorry its ... sudo nicht machen ./make .....
Qasim
1
@ Qasim Mir ist dieser Fehler gestern aufgefallen (und ich habe gerade Ihren Kommentar gelesen), also habe ich makeund sudo checkinstall. Es hat wie erwartet funktioniert. In der README-Datei müssen Korrekturen vorgenommen werden.
Tracy Iquiña
@ TracyIquiña das ist g8 auch bitte einen Blick auf meine Antwort askubuntu.com/questions/285434/…
Qasim
9

Es ist nicht die Antwort, die Sie verlangen, aber Sie können versuchen, hereinzulaufen laptop-mode. Um dies zu tun:

Öffne ein Terminal und tippe:

gksu gedit /etc/default/acpi-support

Geben Sie das Passwort ein und gehen Sie dann zum Ende und schreiben Sie in dem Abschnitt, in dem es um den Laptop-Modus geht, "true" statt "false", schließen Sie das Dokument und speichern Sie es natürlich

Dann geben Sie ein:

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

Diese Datei ist etwas länger, aber so habe ich meine bearbeitet. Ich habe vor der Standardzeile in der Zeile, die ich geändert habe, ein # hinzugefügt:

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

Der Standardwert war 0 und ich habe ihn auf 1 gesetzt. Ändere nur die Zeilen, die ich geändert habe. Hier gibt es einige Optionen, die Sie überprüfen und nach Belieben umschalten möchten. Wenn Sie nah und sicher sind.

Danach möchten Sie Folgendes eingeben:

gksu gedit

Klicken Sie jetzt im Texteditor auf Öffnen und wechseln Sie in den Ordner /etc/laptop-mode/conf.d/. Es gibt verschiedene Dateien, die Sie wahrscheinlich interessieren: USB-Autosuspend, HDA-Audio, Intel Wireless, Intel SATA und SchedMc Powersaving. Öffnen Sie diese Dateien nacheinander und lesen Sie sie, sie sind in einem perfekten Standard-Englisch verfasst und erklären alles sehr gut. Sie werden wissen, was zu tun ist. Denken Sie daran, dass 0 die meiste Zeit für Aus und 1 für Ein steht.

Wenn Sie fertig sind, schließen und speichern Sie jede Datei.

Jetzt neu starten und Laptop-Modus in Aktion bewundern, dann:

sudo powertop

und überprüfen Sie den Stromverbrauch, wenn Sie alles richtig gemacht haben, wird Powertop keinen zusätzlichen Vorschlag machen müssen, weil Sie alles optimiert haben, was zu optimieren ist (mehr oder weniger).

Quelle: http://ubuntuforums.org/showthread.php?t=1157408&p=7271995#post7271995 (von Axx83 )

Rlemon
quelle
Vielen Dank. Aber gibt es keine Möglichkeit, die Powertop-Änderungen dauerhaft zu machen?
H3R3T1K,
Ich habe nach dem Thema gesucht und die beste Lösung, die ich (außerhalb des Standorts) finden konnte, war die Aktivierung des Laptop-Modus. Es ist eine Problemumgehung - wenn ich eine bessere Lösung finde, werde ich sie auch hinzufügen. Hoffentlich kann dies vorerst helfen.
Rlemon
2
In der acpi-Support-Datei heißt es über den Laptop-Modus: "# Hinweis: Um den" Laptop-Modus "zu # aktivieren (um die Festplatte für längere Zeit herunterzufahren), installieren Sie das Paket" Laptop-Modus-Tools "und # konfigurieren Sie es in /etc/laptop-mode/laptop-mode.conf. " Ich habe das Paket installiert und die Datei geöffnet. Ich gehe mal davon aus, dass ich jetzt im Laptop-Modus bin? Es heißt, dass "Laptop-Modus-Tools" aktiviert ist. Ich habe auch die andere Änderung vorgenommen, die Sie vorgeschlagen haben (noatime).
H3R3T1K
ohh das war ein beispiel zum bearbeiten der datei. Sie sollten die Funktion jeder Option überprüfen und nach Belieben umschalten. Der Laptop-Modus sollte Ihren Lüfter jedoch ausschalten.
Rlemon
6

Verwenden Sie udev-Regeln für permanente Energieeinsparungen, um Einstellungen direkt an der Quelle zu konfigurieren, anstatt Skripte zu erstellen oder sich auf möglicherweise nicht installierte Pakete zu verlassen. So wird, sobald Hardware durch udevIhre Einstellungen hinzugefügt wird, übernommen .

Eine korrekte udevRegel bewirkt, dass die Einstellungen nicht angewendet werden, wenn die Hardware nicht vorhanden ist, wodurch die Konfiguration portabler wird. Und Sie erfahren mehr über die Funktionsweise Ihres Linux-Kernels :-). Die auf diese Weise vorgenommene Konfiguration gilt auch, wenn keine Batterie verwendet wird.

Ein Beispiel für Tunable Enable SATA link power Managmenet for host0. Der Vorschlag ist:

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

Dies gibt Ihnen bereits eine Vorstellung davon, wo sich die Hardware befindet: in / sys / class / scsi_host. Sie können dies überprüfen mit:

# 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"

Berühren Sie besser nicht die System-udev-Regeln in /lib/udev/rules.d/ und erstellen Sie Ihre eigene udev-Regeldatei ungefähr auf Stufe 60 in /etc/udev/rules.d/. Zum Beispiel mit dem Nano-Editor:

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

Einige andere Beispiele schreiben Regeln wie:

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

Ich würde nicht sagen und Ihre Regel noch verbessern, indem Sie sie nur anwenden, wenn die Link-Energieverwaltungsrichtlinie auf max_performance festgelegt ist. Schauen Sie sich den kleinen Unterschied an (achten Sie auf das Doppelgleichungszeichen):

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

Testen Sie Ihre Regel mit 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

Ich kann die Regel nicht anwenden. In diesem Fall habe ich einen Neustart durchgeführt, um die neu erstellte udev-Regel anzuwenden.

Pro Backup
quelle
Wie kann ich die ID der Eigenschaften und möglichen Werte ermitteln, da Powertop sie in der Liste "Tunables" als langen Namen anzeigt? Danke
Cristiano
3

systemd macht es einfach:

# /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

Speichern Sie die Unit - Datei, kill -HUP 1, systemctl enable --now powertop-autotune.service, fertig!


PS: Wenn Sie Ausnahmen benötigen --auto-tune, fügen Sie einfach weitere ExecStartZeilen hinzu, um Ihre eigenen Einstellungen vorzunehmen.

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

#...
ulidtko
quelle
Auf Ubuntu powertopgeht das in /usr/sbin, nicht /usr/bin.
Rustyx
2

Ich habe das gelöst, indem ich ein Bindestrich-Skript erstellt habe /root/power_save.sh:

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

Setze es als ausführbar:

sudo chmod u+x /root/power_save.sh

Und füge es zu root crontab hinzu mit sudo crontab -e:

@reboot /root/power_save.sh
Seppo Erviälä
quelle
@dago So habe ich Lösungen in Ihre Antwort implementiert.
Seppo Erviälä
Einige Fragen, in der Hoffnung, mich zu erziehen: Zuerst, warum nicht zuschlagen, Unterschied? Was ist der Vorteil von /root/power.sh? CRON ist eine andere Version eines Terminals? Fordert Ihre Lösung ein Passwort an?
Dago
dash ist eine weitere Shell, die in Ubuntu zum Ausführen aller Startskripte verwendet wird, da sie schneller als bash startet. Weitere Informationen finden Sie unter wiki.ubuntu.com/DashAsBinSh .
Seppo Erviälä
cron ist ein Tool zum Erstellen zeitgesteuerter Aufgaben (z. B. Ausführen dieses Skripts alle n Stunden). Es kann auch zum Ausführen von Skripten verwendet werden, wenn das System gestartet wird.
Seppo Erviälä
Dies erfordert kein Passwort.
Seppo Erviälä
2

In diesem Link wird über dasselbe Thema gesprochen:

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

Ich bin selbst an der Lösung interessiert und werde es später versuchen. Sagen Sie mir, ob Sie diese Lösung implementieren können.

Ich konnte es nicht zum Laufen bringen, da das System mir immer mitteilte, dass die Berechtigung zum Ausführen der ausführbaren Datei verweigert wurde.

Dies scheint jedoch zu funktionieren:

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

Ich habe den kurzen Befehl verwendet und ihn mit sudo ausgeführt.

Als halbautomatische Lösung habe ich einen Launcher erstellt:

Bildbeschreibung hier eingeben

Das Skript sieht wie folgt aus:

Bildbeschreibung hier eingeben

Kann ich verhindern, dass ich nach meinem Passwort frage?

Kanake
quelle
@dago - der Grund, warum die Fehler "Berechtigung verweigert" sind, ist, dass Sie "chmod + x setauto.sh" ausführen müssen, dh das Skript, das die Filterung ausführbar macht.
fossfreedom
1
@dago - Binden Sie die Lösung auch in ein Skript und verwenden Sie diese Lösung, damit das Skript automatisch und nicht manuell ausgeführt wird - askubuntu.com/questions/9806/…
fossfreedom
Verstand die erste Bemerkung. Der zweite Ansatz scheint mir jedoch einfacher zu sein. Ich habe versucht, diesen Befehl über den Launcher auszuführen, indem ich xterm -e in den Vordergrund gestellt habe. Es fragt mich nach meinem Passwort, funktioniert aber nicht. Können Sie mir helfen? Es möchte es halb manuell ausführen, da ich es nur im Akkubetrieb benötige.
Dago
@dago - Schlagen Sie vor, eine Desktop-Datei zu erstellen und Ihr Skript mit gksudo auszuführen. Im Zweifelsfall - ordentlich Ihre Antwort mit einer Kopie und Paste des Codes von philatwarrimoo zur Beschreibung Ihrer neuen Skript - Datei und ich werde Ihre Antwort mit einem empfohlenen newfile.desktop Datei bearbeiten , die Sie aus dem natty Launcher starten können
fossfreedom
Hat wie empfohlen. Verlieren des ausgewählten Symbols, wenn das Startersymbol zum Starter hinzugefügt wird.
Dago
0

Per rubo77 Antwort, ich laufe powertop --auto-tunein /etc/rc.localund dann eine unerwünschte Standard Änderung rückgängig gemacht.

Da es sich bei dem Gerät, für das ich die automatische Stromversorgungssteuerung deaktivieren möchte, um ein externes USB-Gerät handelt, das möglicherweise mit einer anderen /sysBaum-Gerätenummer angezeigt wird, habe ich etwas mehr Skripts erstellt, um es dynamisch zu identifizieren:

/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

wobei VENDORund PRODUCTauf die USB-Hersteller- und Produkt-IDs in hexadezimaler Kleinschreibung gesetzt sind.

Diese sind bei erhältlich

  • Identifizieren des Geräts in der lsusbAusgabe (IDs werden dort im Formular angezeigt aaaa:bbbb) oder

  • den Befehl zu beobachten , dass powertop ausgeführt wird, wenn Sie die Leistungseinstellung umzuzuschalten, an das Gerät des aktuellen gehen /sys/bus/usb/devices/*Verzeichnis, und die Werte aus den aktuellen bekommen idProductund idVendorDateien.

Rakslice
quelle
-1

Ich habe ein ähnliches Problem und nach dem Lesen einer Frage auf dieser Website herausgefunden, dass das Programm "powertop" anscheinend eher für Entwickler geeignet ist.

Wie installiere ich Powertop 1.13?

Die für Benutzer nützlichere Version ist "powertop-1.13", die in den Repositorys gefunden wird. Es werden Vorschläge zum Energiesparen sowie der Befehl angezeigt, mit dem der Vorschlag ausgeführt wird.

Diese Red Hat Docs- Site enthält weitere Anweisungen, um diese Änderungen dauerhaft zu speichern .

Speziell:

PowerTOP zeigt den genauen Befehl zur Durchführung dieser Optimierung an, damit Sie die Änderungen dauerhaft speichern können. Fügen Sie den Befehl /etc/rc.localmit Ihrem bevorzugten Texteditor zu Ihrer Datei hinzu, damit er bei jedem Start des Computers wirksam wird.

Viel Glück!

Neil
quelle