Utiliser un onduleur sous GNU/Linux est facile sur GNU/Linux avec Network-UPS-Tools et un client. Je vous explique comment faire.
Sommaire
- Introduction
- Installations
- Configuration de Network UPS Tool
- Communiquer avec l’onduleur
- Configurer KNutClient
- Problème
Introduction
Network UPS Tools (NUT) fournit un support pour les onduleurs, les unités de distribution d’énergie, les commutateurs de transfert automatique, les blocs d’alimentation et régulateurs solaires.
Même si je vais m’attarder sur KNutClient, vous avez le choix du client.
Installations
Network UPS Tools
Network UPS Tools s’installe simplement avec le paquet nut
.
KNutClient
Vous pouvez installer KNutClient avec les dépôts Trinity Desktop (Trinity Desktop est un fork de KDE 3.5) avec certaines distributions :
Sous Debian 12 :
Installez la clé GPG :
wget http://mirror.ppa.trinitydesktop.org/trinity/deb/trinity-keyring.deb
sudo dpkg -i trinity-keyring.deb
Ajoutez les deux dépôts :
deb http://mirror.ppa.trinitydesktop.org/trinity/deb/trinity-r14.1.x <your-distribution-release-name> main deps
# Optional sources
deb-src http://mirror.ppa.trinitydesktop.org/trinity/deb/trinity-r14.1.x <your-distribution-release-name> main deps
Actualisez les dépôts et installez le paquet knutclient-trinity :
sudo apt update
sudo apt install knutclient-trinity
Plusieurs dépendances sont requises pour la bonne exécution de Knutclient :
sudo apt install compiz-core-trinity compiz-fusion-plugins-extra-trinity compiz-fusion-plugins-main-trinity compiz-plugins-trinity compiz-tde-trinity compiz-trinity libcompizconfig0-trinity libdecoration0-trinity libjasper1 libarts1c2a-trinity libartsc0-trinity libavahi-tqt-1 libdbus-1-tqt libdbus-tqt-1-1c2 libr0 libtqt3-mt libtqt3-mt-data libtqtinterface tdelibs-data-trinity tdelibs14-trinity twin-trinity
Vous pouvez lancer le logiciel avec la commande suivante :
/opt/trinity/bin/knutclient
Il existe un lanceur ici :/opt/trinity/share/applications/kde/knutclient.desktop
Sous Ubuntu 22.04 :
Ajoutez la clé GPG :
wget http://mirror.ppa.trinitydesktop.org/trinity/deb/trinity-keyring.deb
sudo dpkg -i trinity-keyring.deb
Ajoutez les deux dépôts :
deb http://mirror.ppa.trinitydesktop.org/trinity/deb/trinity-r14.0.x jammy main
deb http://mirror.ppa.trinitydesktop.org/trinity/deb /trinity-builddeps-r14.0.x jammy main
Actualisez les dépôts et installez le paquet knutclient-trinity :
sudo apt update
sudo apt install knutclient-trinity
Vous lancez le logiciel avec la commande suivante :
/opt/trinity/bin/knutclient
Il existe un lanceur ici : /opt/trinity/share/applications/kde/knutclient.desktop
Sous openSUSE Leap 15.4 :
Installez le dépôt additionnel et installez KNutClient :
sudo rpm --import http://mirror.ppa.trinitydesktop.org/trinity/rpm/opensuse15.4/RPM-GPG-KEY-trinity
sudo zypper ar http://mirror.ppa.trinitydesktop.org/trinity/rpm/opensuse15.4/trinity-r14/RPMS/x86_64 trinity
sudo zypper ar http://mirror.ppa.trinitydesktop.org/trinity/rpm/opensuse15.4/trinity-r14/RPMS/noarch trinity-noarch
sudo zypper install trinity-knutclient
Vous pouvez lancer le logiciel avec la commande suivante :
/opt/trinity/bin/knutclient
Il existe un lanceur ici :/opt/trinity/share/applications/kde/knutclient.desktop
Le dépôt Trinity existe pour ArchLinux mais KNutClient n’y est pas présent.
Installation maison
J’ai créé une archive zip compilé par mes soins de la version 1.1.1, vous pouvez la télécharger ici : knutclient.zip (1,4 Mo) (somme de contrôle SHA256 : 4621899a5abb0934c9680389ac7abd2ecb71ba36ea64fb4ee9d370727f55cec2). Pour l’installer, ce n’est pas très compliqué. Dans votre navigateur de fichiers, vous dézippez l’archive (là suivant votre navigateur de fichiers, vous pourrez ou non dézipper avec un clic droit et choisir « Extraire ici »). Ainsi, vous vous retrouvez avec un beau répertoire knutclient.
Faites un clic droit sur le répertoire et choisissez : « Ouvrir un terminal ici » ou quelque chose du genre. Vous voilà dans le terminal.
Tapez la commande suivante avec une ArchLinux ou une Manjaro Linux :
./install-archlinux.sh
Maintenant avec une Debian, Ubuntu ou Mint :
./install-deb.sh
Pour finir, avec une distribution fondée sur RPM.
./install-rpm.sh
Le script va faire appel à votre gestionnaire de paquet en ligne de commandes pour installer les dépendances (pacman pour ArchLinux et Manjaro Linux), (apt-get pour les paquets deb) (et yum pour les paquets RPM). Comme vous le voyez, ç’a tout copié dans le répertoire /usr/local/
pour bien différencier le logiciel installé à la main de ceux installés avec un gestionnaire de logiciel.
Faites un « Alt+ F2 » et tapez knutclient.
Voilà, c’est fini pour cette partie installations.
Configuration de Network UPS Tools
Configurer, démarrer le pilote
Pour trouver le pilote de votre onduleur, regardez la liste des onduleurs supportés par NUT avec le nom des pilotes à utiliser.
Une fois que vous avez le nom du pilote de votre onduleur, éditez le fichier /etc/nut/ups.conf
eaton
, c’est l’identifiant que j’ai donné à mon onduleur. usbhid-ups
, c’est le nom du pilote de l’onduleur. Le port = auto
, c’est le port utilisé par l’onduleur, ici, comme c’est comme c’est de l’USB, on laisse en auto. Alors, on ajoute ainsi desc = "Eaton Protection Station 800"
, c’est la marque et le modèle de mon onduleur donc, mettez celle et celui de votre onduleur.
Ajoutez ceci à la fin du fichier.
[ONDULEUR]
driver = usbhid-ups
port = auto
desc = "Eaton Ellipse PRO 1600"
Remplacez ONDULEUR
par un identifiant pour votre onduleur.
Testez le pilote :
sudo upsdrvctl start
Activez et lancez le service nut-driver-enumerator.service
sudo systemctl enable nut-driver-enumerator.service
sudo systemctl start nut-driver-enumerator.service
Configurer, activer et démarrer upsd
On va dire à upsd quelles adresses il doit écouter pour le commander, et alors pouvoir passer le pilote au démon. Pour passer les adresses IP à upsd, il faut donc les trouver, pour ça on va donc ouvrir un fichier en lecture seule (donc pas besoin de terminal ni de sudo) on ouvre le fichier /etc/hosts
ce qui pour moi me donne ça :
⋕ Host addresses
127.0.0.1 localhost
127.0.1.1 ignace-pc
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Éditez le fichier /etc/nut/upsd.conf
On ajoute à la fin du fichier ces trois éléments qui composent une ligne, et l’on peut ajouter autant de ligne que nécessaire. Attention tout de même, on ne s’occupe pas de adresses en IPv6.
LISTEN : ÉCOUTEZ en anglais qui dit à upsd d’écouter.
X.X.X.X : l’adresse IP qui doit être écoutée par upsd.
YYYY : le port TCP/IP utilisé par upsd pour écouter, 3493, est le port par défaut.
Ce qui donne ça pour mon fichier personnel :
LISTEN 127.0.0.1 3493
Éditez le fichier /etc/nut/upsd.users
Ce fichier permet de configurer les accès au démon upsd.
Seuls les utilisateurs présents dans le fichier seront habilités à connaitre l’état de l’onduleur.
À la fin du fichier, ajoutez ce qui suit :
[UTILISATEUR]
password = MOT_DE_PASSE
upsmon master
actions = SET
instcmds = ALL
Remplacez UTILISATEUR
par un nom d’utilisateur et MOT_DE_PASSE
par un mot de passe.
Configurer le mode de fonctionnement de NUT
NUT peut être utilisé selon quatre modes de fonctionnement qui sont les suivants :
none (aucun) : NUT n’est pas configuré, ou utilise la gestion intégrée de l’alimentation, ou utilise un système externe pour démarrer les composants de NUT. Rien ne doit donc être démarré.
standalone (autonome) : Ce mode s’adresse à une configuration locale uniquement, avec 1 onduleur protégeant le système local. Cela implique de démarrer les 3 couches de NUT (driver, upsd et upsmon) et les fichiers de configuration correspondants. Ce mode permet également de gérer la redondance des onduleurs.
netserver : même chose que pour la configuration autonome, mais il faut aussi plus de contrôles d’accès au réseau (firewall, tcp-wrappers) et éventuellement une directive LISTEN spécifique dans upsd.conf.
Puisque ce MODE est ouvert au réseau, une attention particulière doit être portée aux questions de sécurité.
netclient : ce mode ne nécessite qu’upsmon.
Pour définir le mode de fonctionnement de NUT, vous devez éditer le fichier /etc/nut/nut.conf :
MODE=standalone
Activez et lancez le service NUT :
sudo systemctl enable nut-server.service
sudo systemctl start nut-server.service
Configurer, activer et démarrer upsmon
upsmon permet d’interroger à travers le réseau les différents démons upsd pour connaître l’état du réseau ondulé. upsmon permet également de lancer des commandes spécifiques à distance lorsque certains événements surviennent, comme l’extinction des machines lorsque la batterie des onduleurs devient trop faible.
Éditez le fichier /etc/nut/upsmon.conf
Ajoutez la ligne suivante avec l’identifiant de l’onduleur défini dans ups.conf
, l’utilisateur et le mot de passe définit dans le fichierupsd.users
MONITOR ONDULEUR@MACHINE_DISTANTE 1 UTILISATEUR MOT_DE_PASSE master
Les variables :
SHUTDOWNCMD
, upsmon exécute cette commande quand le système doit être arrêté (la commande configurée éteint proprement l’ordinateur).NOTIFYCMD
, upsmon exécute cela pour envoyer des messages quand des événements se produisent.POLLFREQ
défini la fréquence d’interrogation de l’état de l’onduleur (par défaut toutes les 5 secondes).POLLFREQALERT
permet de réduire la fréquence d’interrogation quand l’onduleur est sur batterie.DEADTIME
défini au bout de combien de secondes sans réponse l’onduleur doit être considéré comme mort (par défaut 15 secondes), doit être un multiple dePOLLFREQ
et dePOLLFREQALERT
.FINALDELAY
, délai avant l’exécution deSHUTDOWNCMD
après la notification d’extinction.NOCOMMWARNTIME
, délai d’attente avant de notifier la perte de communication avec l’onduleur.RBWARNTIME
, fréquence d’envoi de notification lorsque l’onduleur signale que la batterie doit être changée.
Pour les autres variables, visitez cette page :
https://networkupstools.org/docs/man/upsmon.conf.html
sudo systemctl enable nut-monitor.service
sudo systemctl start nut-monitor.service
Activer et démarrer les cibles systemd
Lancez les commandes suivantes :
sudo systemctl enable nut.target
sudo systemctl start nut.target
sudo systemctl enable nut-driver.target
sudo systemctl start nut-driver.target
Communiquer avec l’onduleur
Interroger l’onduleur
C’est une évidence, vous pouvez interroger l’onduleur pour connaitre son état. C’est le minimum.
upsc ONDULEUR
Pas besoin d’ajouter @localhost
, upsc comprend que vous êtes en local.
Pour l’exemple, voilà ce que cela donne pour mon onduleur :
[ignace@ignace-PC ~]$ upsc eaton
battery.charge: 100
battery.charge.low: 20
battery.runtime: 2367
battery.type: PbAc
device.mfr: EATON
device.model: Ellipse PRO 1600
device.serial: P363J49NLM
device.type: ups
driver.name: usbhid-ups
driver.parameter.pollfreq: 30
driver.parameter.pollinterval: 2
driver.parameter.port: auto
driver.parameter.synchronous: auto
driver.version: 2.8.0
driver.version.data: MGE HID 1.46
driver.version.internal: 0.47
driver.version.usb: libusb-1.0.26 (API: 0x1000109)
input.frequency: 50.0
input.transfer.high: 285
input.transfer.low: 165
input.voltage: 229.0
input.voltage.extended: no
outlet.1.desc: PowerShare Outlet 1
outlet.1.id: 2
outlet.1.status: on
outlet.1.switchable: no
outlet.2.desc: PowerShare Outlet 2
outlet.2.id: 3
outlet.2.status: on
outlet.2.switchable: no
outlet.desc: Main Outlet
outlet.id: 1
outlet.switchable: no
output.frequency: 50.0
output.frequency.nominal: 50
output.voltage: 227.0
output.voltage.nominal: 230
ups.beeper.status: enabled
ups.delay.shutdown: 20
ups.delay.start: 30
ups.firmware: 01.16.0020
ups.load: 13
ups.mfr: EATON
ups.model: Ellipse PRO 1600
ups.power: 139
ups.power.nominal: 1600
ups.productid: ffff
ups.realpower: 134
ups.serial: P363J49NLM
ups.status: OL
ups.timer.shutdown: -1
ups.timer.start: -1
ups.vendorid: 0463
Si vous êtes distant de l’onduleur, adaptez la commande suivante :
upsc ONDULEUR@MACHINE_DISTANTE
MACHINE_DISTANTE
peut être une adresse IP ou l’alias de la machine distante.
Pour connaitre le status de l’onduleur :
upsc ONDULEUR ups.status
Si la commande vous répond OL
, l’onduleur est en ligne (On Line).
Envoyer une commande à l’onduleur
Lister les commandes supportées par le pilote :
upscmd -l ONDULEUR
Envoyer une commande à l’onduleur :
upscmd -u UTILISATEUR -p MOT_DE_PASSE ONDULEUR@MACHINE_DISTANTE COMMANDE
Configurer KNutClient
Lancez KNutClient par la combinaison des touches Alt+F2, dans la fenêtre qui s’ouvre, tapez knutclient
et cliquez sur Lancer.
La fenêtre de KNutClient s’ouvre :
C’est bien gris tout ça, comme vous avez (avec la commande upsc) tout ce qu’il vous faut pour bien configurer KNutClient.
On y va, cliquez sur « Configurer KNutClient… ». Alors, vous arrivez à cette fenêtre :
À gauche, vous avez le menu avec six icônes nommées sur le premier « Paramètres », vous ne devriez rien avoir à changer.
Passons au suivant :
Ajouter un onduleur
Là, cela devient intéressant, ici, on peut ajouter, enlever ou modifier un onduleur. Ici, j’ai déjà le mien qui a déjà été ajouté. Cliquez sur « Ajouter », vous avez la fenêtre de configuration des paramètres de l’onduleur :
Il reste plus qu’à configurer l’onduleur, vous lui donnez un nom. L’adresse, c’est le nom d’hôte ou l’IP de l’onduleur, le délai en ms, on n’y touche pas, le port, c’est bon aussi. Indiquez l’utilisateur et son mot de passe (défini dans le fichier upsd.users
de la machine hôte). Pour les variables, vous sélectionnez vos variables disponibles et les ajouter, une variable après l’autre, vous en sélectionnez une et vous cliquez sur la flèche vers la droite pour la passer dans la colonne de droite. Dans les valeurs sélectionnées, vous pouvez faire varier l’ordre de chaque valeur avec les boutons vers le haut et vers le bas et l’on fait « ok » quand c’est fini. Voilà ce que donne ma configuration avec mon onduleur :
Configuration du panneau
Maintenant, voyons les paramètres du panneau (sur l’interface principale, c’est le panneau à gauche), c’est explicite, vous cochez, vous cliquez sur « Appliquer » puis sur « OK » pour finir.
Le menu « Polices » donne la possibilité d’utiliser des polices de caractères personnalisées. Le menu « Analogique » propose la possibilité de modifier les couleurs des cadrans analogiques de l’interface.
Configuration du dock
Maintenant, vous configurerez le dock (c’est l’icône dans la zone d’état) :
Voilà l’interface principale de KNutClient une fois NUT et KNutClient configurées :
Résultat
Bonus : les données dans Conky
Pour consommer encore moins, plutôt qu’utiliser KNutClient, vous pouvez utiliser les données dans Conky sur le bureau. Cela prend beaucoup moins de surface sur les petits écrans.
Reprenez la commande vu plus haut : upsc eaton@localhost
Vous avez des lignes avec des variables avec les données après.
Ouvrez le fichier .config/conky/conky.conf et ajoutez après conky.text = [[
par exemple :
Onduleur ${hr 2}
${color1}Charge de la batterie : ${exec upsc eaton@localhost battery.charge} %
${color1}Charge de l’onduleur : ${exec upsc eaton@localhost ups.load} %
${color1}Charge de l’onduleur : ${exec upsc eaton@localhost ups.power} VA
${color1}Status : ${exec upsc eaton@localhost ups.status}
Problèmes
Le lanceur ne démarre pas KNutClient
Il peut arriver que KNutClient ne démarre pas avec un lanceur.
Dans les arguments du lanceur, vous pouvez avoir -caption %c %i %m
.
Supprimez cela et KNutClient devrait maintenant se lancer normalement.
Impossible de réclamer le périphérique USB
Si vous recevez un message d’erreur comme celui-ci :
Can't claim USB device [XXXX:YYYY]: could not detach kernel driver from
interface 0: Operation not permitted
Driver failed to start (exit status=1)
Ou une autre moins spécifique :
USB communication driver 0.33
No matching HID UPS found
Driver failed to start (exit status=1)
Il s’agit probablement d’un problème d’autorisations d’accès au périphérique. Vous pouvez y remédier en spécifiant une règle udev
qui définit le groupe correct.
Créez le fichier suivant : /etc/udev/rules.d/50-ups.rules
:
SUBSYSTEM=="usb", ATTR{idVendor}=="XXXX", ATTR{idProduct}=="YYYY", GROUP="nut"
XXXX
et YYYY
sont les identifiants du fabricant et du produit. Vous pouvez les voir dans la sortie d’erreur ([XXXX:YYYY]
) ou grâce à lsusb
.
Après cela, rechargez et réenclenchez les règles udev
en exécutant :
sudo udevadm control --reload
sudo udevadm trigger
Voilà, ce tutoriel est terminé. Voici les liens des sites officiels pour des deux logiciels :
Excellent ! Je voulais mettre 5 mais mon gros doigt a rippé, et a mis 3. Impossible à corriger ?
Bonjour, Frquey.
Je vous remercie pour votre intérêt.
Si mon tutoriel a pu servir à une personne, je suis ravi et récompensé mille fois.
N’hésitez pas à le partager et à le modifier à l’envie.
Il m’a été impossible de corriger votre vote, car j’ignore comment faire.
En revanche, j’ai pu le supprimer.
Vous pouvez donc revoter.
Bonne journée à vous.
Bonjour, déjà merci pour ce tutoriel !
Je voulais savoir, pour executer un script personnalisé (shutdown particulier de conteneurs), c’est bien dans SHUTDOWNCMD qu’il faut le mettre ?
Merci de votre réponce.
Bonjour, enter.
De rien, j’ai fait ce tutoriel juste pour que mon expérience soit utile à d’autres personnes.
Pour répondre à votre question, oui, c’est bien après SHUTDOWNCMD qu’il faut mettre shutdown comme ceci :
Je vous remercie pour votre intérêt et vous souhaite une bonne année.
Bonjour,
J’essaye d’appliquer se magnifique tuto sur debian ou ubuntu et je n’y arrive pas du tout je suis bloquer sur Alt +F2 knutclient rien ne s’éxecute Si vous pouvez m’aider sur discord etc
mon discord braox0001
Sinon merci d’avoir fait un tuto
Bonjour, Matheo.
Merci pour votre intérêt pour mon tuto.
Je préfère vous aider ici pour que tous les lecteurs de ce tuto puissent en profiter.
Si rien ne se passe, le plus simple est d’ouvrir un terminal et de taper la commande « knutclient ».
Les lignes qui suivront dans votre terminal ont de grandes chances d’indiquer ce qui ne va pas.
N’hésitez pas à les copier ici après mon commentaire pour que je puisse voir le problème.
Merci de préciser dans votre message la Distribution GNU/Linux que vous utilisez.
Bonne journée à vous.
Je viens d’ouvrir un terminale et il me dit failed to start knutclient unit knutclient.service not found.
Je suis sur debian 11 j’ai aussi essayer sur ubuntu 22.04 et j’ai aussi essayer sur debian 12.
Je viens de tester sur mon serveur Debian 12 avec les dépôts Trinity et cela fonctionne, mais Knutclient a maintenant besoin de certaines dépendances qui ne sont pas sélectionnées à l’installation du paquet « knutclient-trinity » pour se lancer correctement.
Cela m’a permis de constater que l’URL du dépôt à mettre dans le source.list a changé avec le changement de version de Trinity.
Mon tuto n’est donc plus à jour pour l’installation de Knutclient avec les dépôts de Trinity.
Vous seriez bien aimable de me laisser quelques jours pour mettre cela au propre dans le tuto ce qui pourrait bien résoudre votre souci.
Je pense faire cela dimanche ou lundi.
Quand cela sera fait, je répondrai à nouveau à votre commentaire pour que vous soyez prévenue que la mise à jour est faite.
Je vous remercie par avance.
Bonjour, Matheo.
Je viens de mettre à jour mon tuto pour l’installation de Knutclient pour Debian 12 avec les dépôts Trinity pour que vous ayez une solution le plus rapidement possible plutôt qu’attendre la mise à jour complète du tuto.
https://ignace72.eu/utiliser-un-onduleur-sur-gnu-linux.html#debian
Pouvez-vous essayer cela sur votre Debian 12 et me dire si cela fonctionne chez vous ?
J’ai commencé par la procédure avec les dépôts Trinity, car l’installation de programmes par le gestionnaire de paquets quand des versions empaquetées existent est toujours préférable à une installation manuelle sauf besoins spécifiques.
Je vous remercie par avance.
Bonjour,
J’ai fait ce que vous avez fait et quand je lance knutclient en fessant /opt/trinity/bin/knutclient il s’éxecute sans fenetre mais quand je fait /opt/trinity/share/applications/kde/knutclient.desktop ou bien systemclt start knutclient il me dit aucun fichier ou dossier de ce type et pour le systemctl il me dit failed to start knutclient.service Unit knutclient.service not found
Bonjour, Matheo.
Quand vous dites : « il s’exécute sans fenêtre », est-il réduit dans la zone de notification avec une icône ? Si oui, en cliquant sur l’icône, avez-vous la fenêtre qui s’ouvre ? Sinon, qu’indique le terminal ?
Les fichiers « .desktop » ne sont pas faits pour être lancé dans un terminal. Il faut utiliser votre gestionnaire de fichier et double-cliquer sur le fichier.
Ce sont ces fichiers qui sont utilisés dans votre menu des applications de votre environnement de bureau.
Pour ce que j’en sais, systemctl ne connait pas knutclient, car il n’y a pas de service knutclient.
Knutclient n’est qu’une simple interface graphique au service NUT.
Si vous me permettez un conseil, je vous encouragerai à mettre à niveau votre Debian 11 vers la version 12.
Vous pouvez aussi sans crainte mettre à niveau votre Ubuntu 22.04 pour la 24.04 qui est aussi une version LTS (support à long terme). Les versions LTS sont réputées pour privilégier la stabilité à la fraicheur des logiciels.
Personnellement, pour faire mes tutos, je n’ai pas l’espace disque pour avoir des machines virtuelles pour de précédentes versions des distributions, car j’utilise déjà 6 machines virtuelles avec chacune une distribution différente.
Bonjour,
Je viens de tester sur debian 11 et 12 des nouvelles machine VM et sa ne fonctionne toujours pas sa me marque quand je le fait dans le terminal systemctl start knutclient il m’écrit failed to start knutclient.service Unit knutclient.service not found.
et quand je f ait Alt+F2 et knutclient sa m’affiche rien
Je n’arrive pas à comprendre pourquoi knutclient fait appel à une commande qui ne peut fonctionner qu’avec les droits administrateur, surtout pour démarrer un service qui n’existe pas, d’autant plus que Knutclient ne fait qu’interroger le service NUT régulièrement.
C’est un non-sens total.
Avec le paquet du dépôt Trinity, knutclient ne peut pas être lancé avec Alt+F2 sauf à mettre /opt/trinity/bin/ dans votre variable $PATH.
Pouvez-vous lancer /opt/trinity/bin/knutclient dans un terminal et me faire une capture d’écran, car si je décris cela sur un forum sans preuve, on va me rire au nez.
Je vous remercie par avance.
Bonjour enfaite il me fait sa ..https://imgur.com/a/oWWnHRM
Bon, pour la première commande, tout va bien, il y a juste une erreur car il ne peut pas ouvrir un fichier en écriture qui se trouve dans le répertoire parent /etc/ ce qui est normal puisqu’il est protégé en écriture car c’est le répertoire ou sont mis les configurations du système et des programmes.
Pour la seconde commande, j’ignore d’où elle vient, mais pas de moi. systemctl, c’est pour les services, pas pour les programmes.
Pour la troisième, tout va bien, il vous dit que Knutclient est déjà en fonctionnement.
Vous n’avez pas répondu à une précédente question :
Dans votre zone de notification, avez-vous l’icône de Knutclient puisque knutclient est en fonctionnement ?
L’icône ressemble à ça : https://ignace72.eu/wp-content/uploads/2024/04/knutclient.zonedenotification.webp
Voici la capture d’écran pour les notifications mais non je n’ai rien en fonctionnement rien de visible … https://imgur.com/a/gJLeWUX
Argh, c’est Gnome. Désolé, je suis allergique.
Blague à part, en haut à droite dans la zone de notification, il y a un petit triangle pointant vers le bas.
En cliquant dessus, ça devrait vous faire apparaitre des icônes qui sont masquées par défaut.
Y voyez-vous l’icône de Knutclient ?
Oupss désoler 😉
Non je ne vois rien :/ https://imgur.com/a/Hy2oLkP
Détestant Gnome, je ne connais pas son fonctionnement, mais je subodore une incompatibilité.
Il faut que j’explore le fonctionnement de Gnome pour en savoir plus.
Avez-vous un autre environnement de bureau d’installé pour essayer Knutclient ?
De toute façon, je reviens vers vous, dès que j’en saurai plus.
Non c’est pas grave il faut que j’utilise quoi au lieu de gnome pour l’installation ? car je crée une nouvelle installation 🙂
Pas grave, je n’aime pas avoir de question sans réponse.
Vous pouvez essayer avec Xfce qui utilise GTK comme gnome, mais qui a l’avantage d’être très léger, c’est vieille école, mais j’aime beaucoup, c’est celui que j’utilise tous les jours.
Rien ne vous empêche d’installer Xfce en plus de votre Gnome, pas besoin de refaire une installation.
Une petite liste d’environnements de bureau : https://doc.ubuntu-fr.org/environnements
Oh Sa fonctionne sur Xfce merci beaucoup de votre aide !!! <3
Ouf, je suis content.
Ce qui ne va pas m’empêcher de chercher à comprendre pourquoi ça ne fonctionne pas sous Gnome.
Bonne journée (il y a toujours quelque part ou c’est la journée).
bon knutclient maintenant j’ai l’interface ça c’est nickel par contre quand je fait upsc eaton sa ne fonctionne pas sa m’écrit connection failed je vous envoie les screen de tout mes fichiers que j’ai du modifier comme écrit sur le tuto https://imgur.com/a/xxBRu6D
Encore désoler pour le dérangement
Merci de ne pas vous excuser, car vous n’avez rien fait de mal, car l’espace commentaire est fait aussi pour résoudre les soucis des utilisateurs de mes tutos.
Je ne peux pas me prononcer sur votre première capture de terminal, car elle est rognée sur la droite.
La seule chose que je peux en dire, c’est que le pilote NUT fonctionne et détecte votre onduleur.
J’ai regardé vos autres captures et je ne vois rien d’anormal dans vos fichiers de configuration, SAUF que vous avez créé une faille de sécurité en utilisant votre nom utilisateur NUT comme mot de passe.
On ne fait jamais cela.
Bon, on va refaire ensemble les étapes du tuto expurgé de la configuration qui est bonne pour être sûr qu’une étape n’a pas été oubliée, ce qui éliminera des causes possibles. Ne rigolez pas, ça m’est arrivé.
Il n’y a aucun risque à refaire une étape qui a déjà été faite.
Pour le pilote, il faut que le service nut-driver-enumerator.service soit actif et lancé :
sudo systemctl enable nut-driver-enumerator.service
sudo systemctl start nut-driver-enumerator.service
Puis le service NUT :
sudo systemctl enable nut-server.service
sudo systemctl start nut-server.service
Pareil pour upsmon :
sudo systemctl enable nut-monitor.service
sudo systemctl start nut-monitor.service
Puis pour finir les cibles systemd :
sudo systemctl enable nut.target
sudo systemctl start nut.target
sudo systemctl enable nut-driver.target
sudo systemctl start nut-driver.target
Maintenant, refaites :
upsc eaton
Si le problème persiste, c’est vraisemblablement un souci de permission.
Dans un terminal, faites ceci :
sudo chown nut /etc/nut/*
Redémarrez GNU/Linux et refaites un essai :
upsc eaton
Mon commentaire étant déjà long, je m’arrête là avant d’explorer d’autres pistes.
J’attends votre retour de ces manipulations.
Bonjour, en plus des commandes que vous m’avez dit de faire j’ai fait aussi un systemctl status nomduservices
Et même en fessant des systemctl start nomduservice le service est inactif je vous laisse regarder les capture par vous même https://imgur.com/a/C4svM8a
Et mon mot de passe j’ai mis matheo car c’est des screen biensur que de mon côter ce n’est pas ce mot de passe 😉
Belle journée a vous
Bonjour, Matheo.
Le coupable est donc upsd.
La ligne tronquée de votre capture dit :
upsd disabled, please adjust the configuration to your needs. Then set MODE to a suitable value in /etc/nut/nut.conf to enable it.
Ce qui veut dire en français :
upsd désactivé, veuillez adapter la configuration à vos besoins.
Définissez ensuite MODE à une valeur appropriée dans le fichier /etc/nut/nut.conf pour l’activer.
Comme la configuration de upsd.conf est bonne, allez dans le fichier /etc/nut/nut.conf et définissez le mode qui vous convient.
Il existe quatre modes :
none (aucun) : NUT n’est pas configuré, ou utilise la gestion intégrée de l’alimentation, ou utilise un système externe pour démarrer les composants de NUT. Rien ne doit donc être démarré.
standalone (autonome) : Ce mode s’adresse à une configuration locale uniquement, avec 1 onduleur protégeant le système local. Cela implique de démarrer les 3 couches de NUT (driver, upsd et upsmon) et les fichiers de configuration correspondants. Ce mode permet également de gérer la redondance des onduleurs.
netserver : même chose que pour la configuration autonome, mais il faut aussi plus de contrôles d’accès au réseau (firewall, tcp-wrappers) et éventuellement une directive LISTEN spécifique dans upsd.conf.
Puisque ce MODE est ouvert au réseau, une attention particulière doit être portée aux questions de sécurité.
netclient : ce mode ne nécessite qu’upsmon.
Il est plus probable que vous deviez choisir standalone.
J’ai déjà mis à jour mon tuto pour intégrer cette configuration.
Désolé, c’est une faute de ma part, mais comme je n’avais jamais été confronté à cette configuration, mais cela n’excuse rien, car j’aurai dû voir cela à la création de mon tuto.
Bonjour,
Merci encore ça fonctionne nickel tout fonctionne j’espère que grâce a mes question plusieurs personne serons débloquer 😉
Merci à vous, car vous avez mis le doigt sur l’absence de la configuration de ups.conf dans mon tuto.
Je ne vais pas m’immoler par le feu pour cela, mais je ne suis pas fier de ça, car le tuto a quand même deux ans.
J’espère aussi que vos difficultés et leurs résolutions pourront servir à d’autres.
Bonne journée à vous.
Par contre j’aurais une question, je ne sait pas si vous auriez une réponse.
Enfaite je veux que sur mon serveur une fois que mon onduleur est sur batterie qu’il éteigne mon serveur a partir par exemple de 20% restant sur l’onduleur je sait que c’est possible sur windows avec l’application Eaton Companion mais c’est seulement sur l’ordinateur local pas en réseaux moi je veux qu’il éteigne mon serveur proxmox.
Merci en tout cas
C’est le rôle de UPSMON de décider des actions sur l’ordinateur, mais je n’ai pas trouvé dans la documentation de upsmon.conf le moyen de régler cela.
Si vous voulez pouvoir monitorer votre serveur à distance, pensez à configurer NUT dans le mode netserver.
Bonjour,
Je l’ai fait ducoup en mode faut le mettre en netserver etc etc j’ai fait un code un peux galere qui s’execute toutes les minutes.
Bonjour, Matheo.
C’est parfait. 🙂