Liczba postów: 93
Liczba wątków: 27
Dołączył: May 2019
Reputacja:
System: 21.3 Virginia
Środowisko graficzne: Xfce
Architektura CPU: 64bit
Miernik podziękowań 0%
27-09-2020, 17:07
(Ten post był ostatnio modyfikowany: 27-09-2020, 19:38 przez yahoob3.)
0 Witam,
wreszcie udało mi się rozwiązać problem opętanych wentylatorów w moim dellu. Niestety, aby zewnętrzny program mógł przejąć nad nimi kontrolę, na początku każdej sesji muszę ręcznie wpisać polecenie:
Kod: dell-bios-fan-control 0
Ponieważ polecenie wymaga uprawnień roota, przedtem muszę wpisać polecenie
i wklepać hasło.
Pewnie temat był już wielokrotnie opisywany, tylko ja nawet nie wiem, jak go nazwać i po jakim słowie kluczowym go szukać. Chodzi mi o to, by przy starcie systemu ta komenda automatycznie się uruchamiała. Nie wiem, czy to trzeba napisać jakiś skrypt (cokolwiek to jest), czy są na to inne sposoby.
Liczba postów: 4 206
Liczba wątków: 76
Dołączył: Dec 2018
Reputacja:
System: Inny
Środowisko graficzne: Xfce
Architektura CPU: 64bit
Inny System: Debian testing/sid
Miernik podziękowań 39%
0 Pamiętaj, że wyłączając kontrolę via BIOS przejmujesz odpowiedzialność za kontrolę i jakieś złe ustawienia mogą doprowadzić do problemów ze sprzętem.
Jak instalowałeś ten programik, może masz już też zainstalowaną usługę w systemd i wystarczy ją załączyć?
Liczba postów: 93
Liczba wątków: 27
Dołączył: May 2019
Reputacja:
System: 21.3 Virginia
Środowisko graficzne: Xfce
Architektura CPU: 64bit
Miernik podziękowań 0%
27-09-2020, 20:09
(Ten post był ostatnio modyfikowany: 27-09-2020, 20:12 przez akaiyuki.)
0 Nie miałem wyjścia. Wentylatory zachowywały się jak poje..ne, szału można było dostać... i8kutils nie przejmował kontroli nad wentylatorami - pracował, ale jakby go nie było. Ja na Allegro zacząłem szukać innego laptopa, a tego w wyobraźni rozwalałem już siekierą...
Nie do końca rozumiem pytanie, więc może niemądrze odpowiem. Dell-Bios-Fan-Control instalowałem przez terminal. Nie wiem, co to systemd, ale jeśli uruchamia się toto przez kliknięcie na "programy startowe" w menu, to tam tego programu do uruchomienia nie ma.
Pracę wentylatorów i temperatury ciągle monitoruję, jest cicho, bezpiecznie, miło i przyjemnie.
Liczba postów: 4 206
Liczba wątków: 76
Dołączył: Dec 2018
Reputacja:
System: Inny
Środowisko graficzne: Xfce
Architektura CPU: 64bit
Inny System: Debian testing/sid
Miernik podziękowań 39%
27-09-2020, 21:56
(Ten post był ostatnio modyfikowany: 27-09-2020, 21:58 przez dedito.)
0 Ok, coś już wiem, i8kutils teraz kontroluje wentylatory, ale dalej nie wiem jak instalowałeś Dell-Bios-Fan-Control.
Stwierdzenie "instalowałem przez terminal" mówi niewiele. Przez terminal można zrobić wiele rzeczy, zainstalować program z repozytorium, skompilować program z gita, skompilować program z archiwum tar.gz ... etc itd. Napisz coś więcej.
Liczba postów: 93
Liczba wątków: 27
Dołączył: May 2019
Reputacja:
System: 21.3 Virginia
Środowisko graficzne: Xfce
Architektura CPU: 64bit
Miernik podziękowań 0%
0 Kod: sudo snap install dell-bios-fan-control
Po instalacji komenda
Kod: dell-bios-fan-control 0
jeszcze nie działała, więc zgodnie ze wskazówkami ze strony https://snapcraft.io/dell-bios-fan-control wykonałem komendę
Kod: sudo snap connect dell-bios-fan-control:io-ports-control
Od tej chwili jest OK.
Liczba postów: 4 206
Liczba wątków: 76
Dołączył: Dec 2018
Reputacja:
System: Inny
Środowisko graficzne: Xfce
Architektura CPU: 64bit
Inny System: Debian testing/sid
Miernik podziękowań 39%
28-09-2020, 13:02
(Ten post był ostatnio modyfikowany: 28-09-2020, 18:09 przez dedito.)
0 W przypadku snapa to nie wiem jak się robi auto-connect, ale można użyć systemd.
https://better-coding.com/autostart-uruc...u-systemd/
Cytat:1. Przygotowanie pliku konfiguracyjnego definiującego usługę
Definiowanie nowej usługi rozpoczynamy od utworzenia pliku my-service.service w katalogu /etc/systemd/system:
sudo nano /etc/systemd/system/my-service.service
Poniższy listing zawiera najprostszą wymaganą konfigurację, którą należy wprowadzić aby usługa w ogóle wystartowała. Jak widać jest to bajecznie proste. Podajemy jedynie nazwę, oraz komendy do starowania i zatrzymywania naszej usługi.
[Unit]
Description=My Service
[Service]
ExecStart=/path/to/my/service start
ExecStop=/path/to/my/service stop
[Install]
WantedBy=default.target
Jeśli przedstawiona powyżej konfiguracja nie spełnia Twoich oczekiwań zapraszam do zapoznania się z oficjalną dokumentacją narzędzia systemd. Odnajdziesz tam bardziej zaawansowanie opcje, które być może rozwiążą twój problem. Jeśli będziecie zainteresowani tym tematem – mogę omówić go szerzej w osobnym wpisie.
2. Aktywowanie oraz zarządzanie nowo-powstałą usługą
Samo umieszczenie konfiguracji usługi w folderze /etc/systemd/system nie spowoduje jeszcze, że zostanie ona uruchomiona podczas startu systemu. Aby osiągnąć wspomniany efekt, należy aktywować daną usługę. Na poniższych listingach zaprezentowane są wybrane komendy, które odpowiedzialne są odpowiednio za aktywację, dezaktywację, manualne uruchamianie i zatrzymywanie oraz sprawdzanie aktualnego stanu usługi.
Aktywacja oraz dezaktywacja uruchamiania usługi podczas startu systemu:
sudo systemctl enable my-service.service
sudo systemctl disable my-service.service
Manualny start oraz zatrzymanie usługi:
sudo systemctl start my-service.service
sudo systemctl stop my-service.service
Sprawdzanie stanu usługi
systemctl status my-service.service
3. Przykład: autostart dowolnego kontenera Docker podczas startu systemu
Nadszedł czas na omówienie przedstawionej wcześniej teorii na jakimś konkretnym przykładzie. Niech to będzie uruchomienie kontenera Docker o nazwie my-container-name. Przyjmiemy, że nasza usługa nazywa się my-docker-service. Bazując na przedstawionym wcześniej sposobie należy utworzyć plik my-docker-service.service:
sudo nano /etc/systemd/system/my-docker-service.service
zawierający poniższą konfigurację usługi:
[Unit]
Description=My Docker container
Requires=docker.service
After=docker.service
[Service]
Restart=always
ExecStart=/usr/bin/docker start -a my-container-name
ExecStop=/usr/bin/docker stop -t 10 my-container-name
[Install]
WantedBy=default.target
Ostatnim krokiem jest aktywacja uruchamiania usługi podczas startu systemu. Dla sprawdzenia poprawności konfiguracji możemy ręcznie uruchomić naszą usługę oraz sprawdzić jej status. Całość przedstawia poniższy listing:
sudo systemctl enable my-docker-service.service
sudo systemctl start my-docker-service.service
sudo systemctl status my-docker-service.service
W Twoim przypadku plik by wyglądał tak (źródło https://aur.archlinux.org/cgit/aur.git/t...ontrol-git ) :
Kod: [Unit]
Description=Disables BIOS control of fans at boot.
Before=i8kmon.service
[Service]
Type=oneshot
ExecStart=/usr/bin/dell-bios-fan-control 0
RemainAfterExit=true
ExecStop=/usr/bin/dell-bios-fan-control 1
[Install]
WantedBy=multi-user.target
jedynie sobie te polecenia załącz wyłącz dostosuj.
Liczba postów: 655
Liczba wątków: 21
Dołączył: Feb 2019
Reputacja:
Miernik podziękowań 13%
0 Można także użyć programu Cron. Wykonaj to polecenie w terminalu i zrestartuj komputer:
Kod: printf '%s\n' 'SHELL=/bin/sh' \
'PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin' \
'@reboot root dell-bios-fan-control 0' \
| sudo tee /etc/cron.d/dell-fan-control
Teraz polecenie dell-bios-fan-control 0 powinno być wykonywane przy starcie komputera.
Liczba postów: 93
Liczba wątków: 27
Dołączył: May 2019
Reputacja:
System: 21.3 Virginia
Środowisko graficzne: Xfce
Architektura CPU: 64bit
Miernik podziękowań 0%
30-09-2020, 19:29
(Ten post był ostatnio modyfikowany: 30-09-2020, 19:30 przez akaiyuki.)
0 Pomysł Magnusa jest prostszy, ale nie zadziałał. Może źle zrobiłem, bo potraktowałem to wszystko jako jedną komendę i w całości wkleiłem do terminala. Protestów nie było... Propozycję Dedito będę musial rozkminiać przez weekend
Liczba postów: 4 206
Liczba wątków: 76
Dołączył: Dec 2018
Reputacja:
System: Inny
Środowisko graficzne: Xfce
Architektura CPU: 64bit
Inny System: Debian testing/sid
Miernik podziękowań 39%
0 Zauważ, że masz inne polecenie niż podał Magnus.
Liczba postów: 655
Liczba wątków: 21
Dołączył: Feb 2019
Reputacja:
Miernik podziękowań 13%
0 To było jedno polecenie. Żeby posprzątać usuń plik który został utworzony za pomocą tego polecenia:
Kod: cd /etc/cron.d
sudo rm dell-fan-control
@dedito, co masz na myśli pisząc: "Zauważ, że masz inne polecenie niż podał Magnus."
|