GUIs pour Hard Disk Sentinel - Puppy 32/64 bit

Post Reply
Message
Author
User avatar
Argolance
Posts: 3767
Joined: Sun 06 Jan 2008, 22:57
Location: PORT-BRILLET (Mayenne - France)
Contact:

GUIs pour Hard Disk Sentinel - Puppy 32/64 bit

#1 Post by Argolance »

Bonjour,
Sur la partie anglophone du Forum, un fil initié par puppy_apprentice :arrow: Hard Disk Sentinel 32-bit Linux Edition (FREE) fait l'annonce d'un petit programme fort utile: hdsentinel
  • Liste des fonctionnalités:
    • - afficher les informations du disque dur en console
      - créer un rapport complet sur le système de disque, incluant à la fois les caractéristiques spécifiques du disque dur et du SSD (par exemple, la vitesse de rotation du support, la commande TRIM, etc.)
      - affichage et gestion des paramètres acoustiques des disques durs (également sur les disques USB pris en charge)
      - offre des sorties pour les utilisateurs et les scripts/autres applications à traiter

      Les informations suivantes sont affichées:
      - le numéro du disque dur détecté et le nom du périphérique (par exemple /dev/sda)
      - taille, numéro de modèle, numéro de série, révision et interface de tous les disques durs détectés
      - les valeurs de température, de santé et de performance
      - mise sous tension à l'heure (jours, heures, minutes - si prise en charge)
      - [...]
    :arrow: Source
Voici deux interfaces graphiques à hdsentinel internationalisées. Langue disponible: fr:
  • -------------------------------------
    1 - hdsgui v0.3 (2019/04/12)

    Rapport COURT au format texte affiché dans le Visionneur de fichiers journaux
    Rapport COMPLET avec les paramètres S.M.A.R.T au format html affiché dans le Visionneur de fichiers html ou le Navigateur par défaut
    Un "veilleur", fonctionnant en arrière-plan, est exécuté au démarrage et:
    • - établit le réglage acoustique (si pris en charge et activé).
      - examine la configuration puis donne des informations sur l'état de santé du ou des disque(s) dur(s) IDE, S-ATA, SCSI et USB connecté(s) à la carte mère ou aux cartes contrôleur externes.
      - détecte si un périphérique de stockage externe est branché ou débranché (disque, clé USB ou carte mémoire, etc...) et affichera l'icône système de la barre (si activée) conformément à son état de santé (merci fabrice_035)
    hdsgui v0.1 (2019/03/23) doté d'un répertoire des fichiers journaux permettant à l'utilisateur de les consulter puis de noter tout changement suspect et d'une icône de notification pouvant être affichée dans la barre système lorsqu'un disque réclame une attention particulière.

    :!: IMPORTANT: hdsgui requiert une version de yad égale ou supérieure à 0.17 pour fonctionner: :arrow: téléchargement.
    -------------------------------------
    2 - hdsentinel_gui
    , adaptée de celle que puppy_apprentice à mise à disposition avec le fichier d'entrée de menu fonctionnel.
Liens vers les versions 32 ou 64 bit de hdsentinel à déballer dans /usr/bin comme "hdsentinel" et à rendre exécutable: Merci de vos retours.

Cordialement.
Attachments
hdsgui-0.3_all.pet
GUI uniquement. Fonctionne avec l'une ou l'autre des deux versions 32 ou 64 bit de hdsentinel
(134.34 KiB) Downloaded 249 times
190411_231327_416x419_easyshot.png
(37.55 KiB) Downloaded 302 times
190412_180026_786x608_easyshot.png
Rapports "COURT" (fichiers texte *.log) dans le visionneur dédié/Rapport "COMPLET" (fichier html dans le le visionneur de fichier html ou le navigateur par défaut)
(249.95 KiB) Downloaded 300 times
190318_124920_496x252_easyshot.png
(25.13 KiB) Downloaded 839 times
hdsentinel_gui_all.pet
GUI uniquement. Fonctionne avec l'une ou l'autre des deux versions 32 ou 64 bit de hdsentinel
(8.06 KiB) Downloaded 290 times
Last edited by Argolance on Sun 14 Apr 2019, 09:16, edited 10 times in total.

User avatar
fabrice_035
Posts: 765
Joined: Mon 28 Apr 2014, 17:54
Location: Bretagne / France

#2 Post by fabrice_035 »

Salut,
Très bonne initiative, j'avoue avoir hésité à le faire et j'ai bien fait de ne rien faire car ta contribution est (presque) excellente. Le petit bug qui remplace la cerise sur le gâteau est le systray inopérant chez moi.

Code: Select all

root# ./hdsgui.sh 
Unable parse command line: Unknown option --icon-size=24
Bon courage et merci.
Bionicpup64-8.0 _ Kernel 5.4.27-64oz _ Asus Rog GL752

User avatar
Argolance
Posts: 3767
Joined: Sun 06 Jan 2008, 22:57
Location: PORT-BRILLET (Mayenne - France)
Contact:

#3 Post by Argolance »

Bonsoir,
Merci pour le retour! :wink:
La version de yad que tu utilises n'est pas assez récente.
Il faut au moins la version 0.17 (ToOpPy a la version 0.40).

:!: Lien de téléchargement de yad dans le premier fil ci-dessus.

Cordialement.

User avatar
fabrice_035
Posts: 765
Joined: Mon 28 Apr 2014, 17:54
Location: Bretagne / France

#4 Post by fabrice_035 »

salut,

Oui c'est ça, un vieux yad (0.12.4) sur une Puppy récente, encore un mystère. J'ai recompilé la dernière version (0.40.0) avec la source ici

Code: Select all

https://sourceforge.net/projects/yad-dialog/
et l'iconification en systray fonctionne.
Ce qui serait vraiment bien c'est que HDS soit exécute automatiquement à l'insertion d'un disque externe usb.
Alors j'ai cherché et dans /etc/udev il y a mtp-probe, chez moi c'est un raccourci d'un exécutable qui ne mène à rien. Pour vérifier qu'il peut être détourné à des bonnes intentions j'ai crée un script qui se nom mtp-probe et renommé l'autre.

Code: Select all

#!/bin/sh
echo "$@" > /tmp/mtp_probe_execute
sleep 5
hdsentinel > /tmp/hdsentinel
Voilà, à l'insertion d'un disque usb alors hdsentinel est exécuté.

A+
Bionicpup64-8.0 _ Kernel 5.4.27-64oz _ Asus Rog GL752

User avatar
Argolance
Posts: 3767
Joined: Sun 06 Jan 2008, 22:57
Location: PORT-BRILLET (Mayenne - France)
Contact:

#5 Post by Argolance »

fabrice_035 wrote:Ce qui serait vraiment bien c'est que HDS soit exécute automatiquement à l'insertion d'un disque externe usb.
Ce serait effectivement un plus mais qui suppose que ce fichier /etc/udev/mtp-probe soit présent et surtout pris en charge (je présume qu'il faut qu'il soit appelé/exécuté par une commande tiers qui veille en arrière-plan?) ce qui ne semble pas être le cas de Puppy Precise et sans doute d'autres Puppies.

J'ai quand même créé le fichier /etc/udev/mtp-probe comme indiqué ci-dessus, l'ai rendu exécutable et bien évidemment, il ne se passe rien à l'insertion d'un disque usb.
:idea: Voir peut-être /tmp/udev/watch?

À suivre... :)

User avatar
fabrice_035
Posts: 765
Joined: Mon 28 Apr 2014, 17:54
Location: Bretagne / France

#6 Post by fabrice_035 »

D'après ce que j'ai pu voir, mtp-probe démarre grâce à une règle dictée par /etc/udev/rules.d/69-libmtp.rules

Donc, si j'ai bien compris il est possible d'ajouter une règle et de la personnaliser, suffit de l'ajouter dans /etc/udev/rules.d/

https://linuxconfig.org/tutorial-on-how ... s-in-linux

EDIT: voilà la solution avec ce super tuto

https://www.tecmint.com/udev-for-device ... -in-linux/

C'est vraiment facile à utiliser 8)

A+
Bionicpup64-8.0 _ Kernel 5.4.27-64oz _ Asus Rog GL752

User avatar
Argolance
Posts: 3767
Joined: Sun 06 Jan 2008, 22:57
Location: PORT-BRILLET (Mayenne - France)
Contact:

#7 Post by Argolance »

fabrice_035 wrote:Y'a plus qu'à chercher de ce coté
.
Merci, je vais jeter un œil.
D'un autre coté, en y réfléchissant, je me suis demandé s'il ne serait pas aussi possible de s'inspirer d'un script que SFS avait eu la gentillesse de faire pour ToOpPy, appelé 2Pc_watcher (une sorte de veilleur tournant en boucle en arrière-plan) et se trouvant dans /root/Startup.
En voici l'entête:

Code: Select all

# By SFR for ToOpPy linux - 2013 January

# This line stores in OLD variable the current state of /dev/block/ folder
# (except ram* and loop*, only sd* etc.), where appropriate links
# are being created in case of device insertion/removal.
# BTW, this line is taken from /sbin/pup_event_frontend_d and the whole
# detection mechanism is very simplified here, so may not work with some devices.
# For details see pup_event_frontend_d around lines 680-.
Je crois en tout cas que je pourrais, en ce qui concerne ToOpPy, combiner 2Pc_watcher et hdsgui_systray de HDS GUI dans /root/Startup.
En gros:

Code: Select all

OLD="`ls -1 --hide=ram* --hide=loop* /sys/block`"

# Infinite loop, executed every 2 seconds
while true; do
# Store the state of /dev/block/ in NEW variable, for comparsion
	NEW="`ls -1 --hide=ram* --hide=loop* /sys/block`"
 
# If the lenght of NEW is greatest than OLD, most likely a new device
# was plugged in...
	if [ "${#NEW}" -gt "${#OLD}" ]; then
[...]
	fi
[EDIT1]: Bien le tutoriel, ça a l'air relativement simple en effet...
[EDIT2]: En ajoutant juste une ligne appelant hdsgui_systray dans 2Pc_watcher, ça marche! 8)
Tout nouveau disque usb inséré est non seulement détecté comme avant mais en plus sa configuration est vérifiée par hdsentinel et l’icône de la barre lancée si anomalie...

User avatar
fabrice_035
Posts: 765
Joined: Mon 28 Apr 2014, 17:54
Location: Bretagne / France

#8 Post by fabrice_035 »

Salut,

A chercher la meilleur solution pour exécuter HDS_GUI quand un disque est branché je crois tenir le bon bout.
Après avoir lu le tuto sur la façon d'utiliser udev voici la solution fonctionnelle, en particulier pour exécuter un programme avec une interface graphique, limitation rencontrée dans un premier temps qui interdisait cela mais google est notre ami.
Donc, si vous souhaiter exécuter une action à l'insertion d'une clef usb et à l'extraction voici un exemple
Créer une règle dans le dossier /etc/udev/rules.d
Pour ce faire créez-y un fichier texte nommé 80-test.rules qui contient ceci
(par exemple)

Code: Select all

SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device",  RUN+="/bin/sh -c '/bin/device_added.sh'"
SUBSYSTEM=="usb", ACTION=="remove", ENV{DEVTYPE}=="usb_device", RUN+="/bin/sh -c '/bin/device_removed.sh'"
Et si le script device_added.sh doit lancer un programme dans X (donc l' interface graphique) il doit contenir ceci

Code: Select all

#!/bin/sh
#device_added.sh dans /bin/
#
# on trace les logs, ça aide pour le débugage
exec >>/var/log/my-udev-script.log 2>&1; echo; date
#
set -x 
export DISPLAY=:0.0
xmessage "[ DISQUE USB ]" &

source de la solution : https://ubuntuforums.org/showthread.php?t=994233

Voilà, y'a plus qu'à continuer :)
Bionicpup64-8.0 _ Kernel 5.4.27-64oz _ Asus Rog GL752

User avatar
Argolance
Posts: 3767
Joined: Sun 06 Jan 2008, 22:57
Location: PORT-BRILLET (Mayenne - France)
Contact:

#9 Post by Argolance »

Bonjour fabrice_035 et merci beaucoup pour ces commandes sur la façon d'utiliser udev ou de tracer un script en créant un fichier log, complètement nouvelles pour moi et que je regrette d'ailleurs de ne pas avoir connues plut tôt car elles auraient résolu d'un coup bien des petits problèmes auxquels j'ai été parfois confronté.
Encore qu'il y a des choses qui restent dans le flou.
Ça marche très bien en effet lorsqu'il s'agit d'afficher une fenêtre xmessage mais ça ce complique sérieusement lorsqu'il s'agit d'un script contenant des variables de langue et de configuration par exemple, car elles ne sont pas prises en compte et cela fausse évidemment les réactions du script.
Et même, je me retrouve au bout du compte avec hssentinel qui refuse de faire les rapports et se plaint d'une erreur de segmentation... subsistant de session en session. :shock:
J'ai donc été obligé de supprimer la règle crée dans /etc/udev/rules.d pour que tout rentre dans l'ordre.
fabrice_035 wrote:Voilà, y'a plus qu'à continuer :)
Eh ben, voilà où j'en suis pour l'instant. :?

[EDIT]: je crois avoir trouvé ce qui coince. En remplaçant les $HOME par /root dans les scripts, tout semble fonctionner correctement. Mais j'aimerais bien en connaître la raison. :roll:

Cordialement.

User avatar
fabrice_035
Posts: 765
Joined: Mon 28 Apr 2014, 17:54
Location: Bretagne / France

#10 Post by fabrice_035 »

hello

as-tu pensé à ajouté l'user avant d’exécuter la commande comme il est expliqué ici https://ubuntuforums.org/showthread.php?t=994233

ça devrait donner cela

Code: Select all

#!/bin/sh
# on trace les logs, ça aide pour le débugage
exec >>/var/log/my-udev-script.log 2>&1; echo; date
#
export DISPLAY=:0.0
sleep 5
su root -c '/root/Startup/hdsgui_systray'
Remarque l'ajout de sleep 5 afin de donner le temps au système de monter le disque. Ça fonctionne mais effectivement sans la traduction FR.


Le log indique

Code: Select all

/usr/local/bin/gettext.sh: line 21: b: No such file or directory
A investiguer. Pour le reste tout est ok

Cdt.
Bionicpup64-8.0 _ Kernel 5.4.27-64oz _ Asus Rog GL752

User avatar
Argolance
Posts: 3767
Joined: Sun 06 Jan 2008, 22:57
Location: PORT-BRILLET (Mayenne - France)
Contact:

#11 Post by Argolance »

as-tu pensé à ajouté l'user avant d’exécuter la commande comme il est expliqué ici
Si je fais ça plus rien ne fonctionne. :(
Le script d'ajout de disque lancé directement en cliquant dessus fonctionne normalement, et l’icône de la barre s'affiche, avec la traduction en français mais appelée par le biais de la règle, elle est effectivement lancée mais tout en anglais.
Et puis je me retrouve avec cette fichue erreur de segmentation qui empêche le rapport d'être effectué.
Décidément, je finis par me demander, quoique beaucoup moins élégante, si la solution de SFR donnée plus haut ne ferait pas l'affaire?
Reste que le vrai problème c'est que j'aimerais bien comprendre.

User avatar
fabrice_035
Posts: 765
Joined: Mon 28 Apr 2014, 17:54
Location: Bretagne / France

#12 Post by fabrice_035 »

Je ne puis te dire par quels mystères tu as tant de problèmes. Ne serait-ce pas ta Tooppy qui ne tourne pas rond ? :roll: Heu c'est pour rire.
Perso l'idée de faire tournée un script façon 2Pc_watcher, non merci. Y'a des events c'est pas fait pour les chiens! (chien <-> puppy , lol)
Bionicpup64-8.0 _ Kernel 5.4.27-64oz _ Asus Rog GL752

User avatar
Argolance
Posts: 3767
Joined: Sun 06 Jan 2008, 22:57
Location: PORT-BRILLET (Mayenne - France)
Contact:

#13 Post by Argolance »

Perso l'idée de faire tournée un script façon 2Pc_watcher, non merci.
Je suis un peu du même avis mais un script façon 2Pc_watcher qui est tout de même assez ingénieux et surtout marche parfaitement (c'est l'expérience que j'en ai quotidiennement, il ne m'a jamais fait faux bond!) c'est mieux qu'une méthode que j'ai moi-même qualifiée de "plus élégante" mais qui, pour l'instant en tout cas, complique les choses plus qu'elle ne les simplifie.
Ce qui ne m'empêche pas d'insister de mon côté, mais sans succès.
Et crois bien que je serais ravi que la solution soit trouvée.

User avatar
Argolance
Posts: 3767
Joined: Sun 06 Jan 2008, 22:57
Location: PORT-BRILLET (Mayenne - France)
Contact:

#14 Post by Argolance »

Bonjour,
Mise en ligne de hdsgui v0.3 (voir le premier message de ce fil)
:idea: Disponible prochainement pour les utilisateurs de ToOpPy sous forme de mise à jour (2P23update190412).

Cordialement.

Post Reply