Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 07/05/2017, à 14:00

Alaingenieux

Ecrire un tout petit script [ RESOLU ]

Bonjour,
Pour afficher les niveaux d'encre de mon imprimante, je tape ink -p usb dans un terminal mais ça serait plus commode de le faire par un tout petit script que je lancerais par une icône sur mon bureau. Je sais faire un lanceur mais je dois rater quelque chose dans le script car ça ne marche pas. hmm Faut dire que je n'ai jamais écrit de script et que ça serait une occasion d'essayer. Si quelqu'un sait faire, merci pour son aide.

Dernière modification par Alaingenieux (Le 09/05/2017, à 22:32)

Hors ligne

#2 Le 07/05/2017, à 15:36

Nuliel

Re : Ecrire un tout petit script [ RESOLU ]

Bonjour,

ink -p usb, ça retourne quoi? Du texte ou une fenêtre?

Hors ligne

#3 Le 07/05/2017, à 17:09

ar barzh paour

Re : Ecrire un tout petit script [ RESOLU ]

@ ublender  : donne du texte

jpb@jpb-desktop:~$ ink -p usb
ink 0.5.2 (c) 2015 Markus Heinz

HP Photosmart C4500 series

Black:                                  80%
Color:                                  20%
jpb@jpb-desktop:~$ 

le résultat est surprenant
je n'utilise pratiquement pas la couleur sur cette imprimante !!!!!

je l'arrête et je relance

jpb@jpb-desktop:~$ ink -p usb
ink 0.5.2 (c) 2015 Markus Heinz

hp psc 1300 series

Black:                                   0%
Color:                                   0%
jpb@jpb-desktop:~$

tiens donc ink me voit maintenant ma deuxième imprimante (qui fonctionne bien) mais ne trouve pas d'encre


@ alaingenieux : une façon de faire

il y a certainement plus simple mais voilà ce que j'ai fait :
j'ai créé dans un répertoire personnel le bash suivant
pour l'exemple fichier créé dans /media/SH/exo

#!/bin/bash
/usr/bin/ink -p usb
read g

sur mon bureau j'ai créé le fichier ink.desktop suivant

[Desktop Entry]
Version=1.0
Type=Application
Terminal=true
Name[fr_FR]=ink
Exec=/media/SH/exo/ink
Name=ink
Icon=printer
Comment[fr_FR]=niveau d'encre

rendre les deux fichiers exécutable

jpb@jpb-desktop:~$ ls -ails /media/SH/exo/ink*
1348 4 -rwxrwxr-x 1 jpb jpb 44 mai    7 17:42 /media/SH/exo/ink
jpb@jpb-desktop:~$ ls -ails Bureau/ink.desktop
177011 4 -rwxrwxr-x 1 jpb jpb 175 mai    7 17:53 Bureau/ink.desktop

Dernière modification par ar barzh paour (Le 07/05/2017, à 17:10)


PC          : B760M DS3H DDR4,  12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 22.04, 22.04, 23.04
Portable1 : Intel(R) Core(TM)2 Duo CPU     T6570  @ 2.10GHz RAM 4GiB DDR2 667 MHz Ubuntu 23.04 ( en voyage )
Portable2 : T5750  @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )

Hors ligne

#4 Le 07/05/2017, à 18:55

Alaingenieux

Re : Ecrire un tout petit script [ RESOLU ]

Pour Ublender.
Ca retourne simplement 4 lignes de texte dans le terminal avec le contenu de chaque cartouche

Hors ligne

#5 Le 07/05/2017, à 19:09

Alaingenieux

Re : Ecrire un tout petit script [ RESOLU ]

@ar barzh paour

C'est surement parceque tu n'as pas spécifié ton autre imprimante.
Il aurait fallu, je crois, mettre -p usb -n 1 au lieu de usb pour avoir la seconde printer..
Par ailleurs, je suis très impressionné par ta solution mais je n'y pige vraiment rien...:(  lol
Je croyais qu'il était possible de faire ça BEAUCOUP + simplement. Du genre un petit script de 2 ou 3 lignes dans un tout petit fichier dans un tout petit coin  que j'aurais pu lancer avec un tout petit lanceur.  big_smile  Désolé, j'ai un esprit simple...Merci quand même.

Hors ligne

#6 Le 07/05/2017, à 19:45

Watael

Re : Ecrire un tout petit script [ RESOLU ]

ar barzh paour a écrit :

[...]

#!/bin/bash
/usr/bin/ink -p usb
read g

[...]

[Desktop Entry]
Version=1.0
Type=Application
Terminal=true
Name[fr_FR]=ink
Exec=/media/SH/exo/ink
Name=ink
Icon=printer
Comment[fr_FR]=niveau d'encre

ça me rappelle les immenses tickets de caisse du magasin de bricolage où j'achète quelques vis à la pièce : il y a presque plus cher de papier et d'encre, que de total à payer... :\


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#7 Le 08/05/2017, à 10:01

Alaingenieux

Re : Ecrire un tout petit script [ RESOLU ]

Ouais ! Mais tout ça ça ne me dit pas comment je peux faire mon petit script neutral J'arrive pas à croire qu'il n'y ait pas un geek capable de bricoler ça les doigts dans le nez (par exemple)...

Hors ligne

#8 Le 08/05/2017, à 11:15

kholo

Re : Ecrire un tout petit script [ RESOLU ]

salut,
je te propose ça :

#!/bin/bash
INFOS="$(ink -p "usb")"
COLOR=$(echo "$INFOS" | grep Color)
BLACK=$(echo "$INFOS" | grep Black)

COLOR="${COLOR##* }"
BLACK="${BLACK##* }"

COLOR=${COLOR%*%}
BLACK=${BLACK%*%}
echo "
couleur : $COLOR pourcents
noir : $BLACK pourcents
"

exit 0

à mettre dans ~/bin

la procédure simplifiée...
(en une fois, tu fais un copier coller de tout ça dans le terminal)

mkdir $HOME/bin
touch $HOME/bin/encre
echo '#!/bin/bash
INFOS="$(ink -p "usb")"
COLOR=$(echo "$INFOS" | grep Color)
BLACK=$(echo "$INFOS" | grep Black)

COLOR="${COLOR##* }"
BLACK="${BLACK##* }"

COLOR=${COLOR%*%}
BLACK=${BLACK%*%}
echo "
couleur : $COLOR pourcents
noir : $BLACK pourcents
"

exit 0' | tee $HOME/bin/encre
chmod +x $HOME/bin/encre
# 

si ~/bin est créé, il faut relancer l'utilisateur pour qu'il soit automatiquement ajouté au $PATH
ensuite tu tapes

encre

dans un terminal pour avoir ton résultat
et tu modifieras le script pour afficher le résultat à ta convenance

Hors ligne

#9 Le 08/05/2017, à 11:33

Nuliel

Re : Ecrire un tout petit script [ RESOLU ]

Je propose ça:

#!/bin/bash
res=`ink -p usb | grep -E 'Black|Color'`
xfce4-terminal -H --command="echo $res"

Tu peux remplacer la dernière ligne par

zenity --info --text="$res"

Bien évidemment, xfce4-terminal est à adapter en fonction de la distribution utilisée.

Hors ligne

#10 Le 08/05/2017, à 11:44

Christophe C

Re : Ecrire un tout petit script [ RESOLU ]

normalement ce script devrait marcher :
1/ tu crée un fichier avec gedit ou mousepad ...

#!/bin/bash
VAR=$(ink -p usb)
zenity	--info --text "$VAR"

Tu le sauvegardes ou tu veux (disons ton bureau), sous un nom quelconque, disons encre.sh (le .sh est important)

2/ Clic doit sur le fichier > propriété > permissions > cocher "rendre le programme exécutable" (le libellé peut légèrement changer selon ton DE (XFCE, Unity, Gnome ...)

3/ Clic dessus pour lancer le script. Selon ton DE, il te posera une question genre "lancer, ..."

Normalement cela marche.

Dernière modification par Christophe C (Le 09/05/2017, à 12:13)


BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».

Hors ligne

#11 Le 08/05/2017, à 12:54

Watael

Re : Ecrire un tout petit script [ RESOLU ]

salut,

Alaingenu a écrit :

ça ne marche pas

quand tu vas au restaurant, tu te contentes de dire : « j'ai faim. » ?
« ça marche pas », c'est un constat, pas une description.

il faut fournir ce que tu as en entrée, ce que tu veux en sortie, ce que tu as essayé, et ce que tu obtiens.

et, quand on te propose des solutions, de dire ce qui ne te convient pas !

Dernière modification par Watael (Le 08/05/2017, à 13:10)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#12 Le 08/05/2017, à 13:01

serged

Re : Ecrire un tout petit script [ RESOLU ]

Christophe C a écrit :

normalement ce script devrait marcher :
1/ tu crée un fichier avec gedit ou mousepad ...

#!/bin/bash
VAR=$(ink -p usb)
zenity	--info --text "$VAR"

Tu le sauvegardes ou tu veux (disons ton bureau), sous un nom quelconque, disons encre.sh (le .sh est important)

Non, le .sh n'est pas important... Tous mes scripts persos n'ont pas d'extension... et ça marche.


LinuxMint Vera Cinnamon et d'autres machines en MATE, XFCE... 20.x , 21.x ou 19.x
Tour : Asus F2A55 / AMD A8-5600K APU 3,6GHz / RAM 16Go / Nvidia GeForce GT610 / LM21.1 Cinnamon
Portable : LDLC Mercure MH : Celeron N3450 /RAM 4Go / Intel HD graphics 500 i915 / biboot Win 10 (sur SSD) - LM21.1 MATE (sur HDD)

Hors ligne

#13 Le 08/05/2017, à 15:57

Christophe C

Re : Ecrire un tout petit script [ RESOLU ]

Oui, c'est vrai. L'habitude smile


BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».

Hors ligne

#14 Le 09/05/2017, à 08:17

ar barzh paour

Re : Ecrire un tout petit script [ RESOLU ]

@ Alaingenieux
en #3 je t'ai donné une solution un peu tarabiscotée je veux bien l'admettre mai ultra simple à mettre en oeuvre
création de deux fichiers (fichier1 qui est un tout petit bash et fichier2 qui est un lanceur desktop)
rendre ces fichiers exécutables
un clic sur le fichier2 qui est sur le bureau te donne le résultat !!!
je t'ai donné le contenu des fichiers , il n'y a qu'à recopier

peut être quelqu'un saurait-il faire uniquement avec le fichier 2 ( lanceur) mais je n'ai pas trouvé /cherché comment exécuter deux commandes dans la ligne exec

@ Watael #6 je n'ai pas compris
@christopheC #10 avec ta méthode j'obtiens avec zenity Could not get device id et Could not get ink level
comprends pas , maintenant c'est OK !!

moi j'ai répondu à
"le faire par un tout petit script que je lancerais par une icône sur mon bureau. "

Dernière modification par ar barzh paour (Le 10/05/2017, à 08:16)


PC          : B760M DS3H DDR4,  12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 22.04, 22.04, 23.04
Portable1 : Intel(R) Core(TM)2 Duo CPU     T6570  @ 2.10GHz RAM 4GiB DDR2 667 MHz Ubuntu 23.04 ( en voyage )
Portable2 : T5750  @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )

Hors ligne

#15 Le 09/05/2017, à 09:27

Watael

Re : Ecrire un tout petit script [ RESOLU ]

le contenu du lanceur est plus long que le script lui-même. big_smile
c'est cette disproportion entre le lanceur et le script, qui me fait penser à ces tickets de caisses longs comme le bras quand j'achète trois vis à Casto.

Dernière modification par Watael (Le 09/05/2017, à 09:28)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#16 Le 09/05/2017, à 10:54

ar barzh paour

Re : Ecrire un tout petit script [ RESOLU ]

Alaingenieux a écrit :

Je croyais qu'il était possible de faire ça BEAUCOUP + simplement. Du genre un petit script de 2 ou 3 lignes dans un tout petit fichier dans un tout petit coin  que j'aurais pu lancer avec un tout petit lanceur

lol lol lol
bon d'accord alors voilà plus court

le bash en deux lignes

#!/bin/bash
/usr/bin/ink -p usb & read g

le lanceur en 4 lignes mais toujours plus long que le bash lui même ....

[Desktop Entry]
Type=Application
Terminal=true
Exec=/media/SH/exo/ink

Dernière modification par ar barzh paour (Le 09/05/2017, à 10:58)


PC          : B760M DS3H DDR4,  12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 22.04, 22.04, 23.04
Portable1 : Intel(R) Core(TM)2 Duo CPU     T6570  @ 2.10GHz RAM 4GiB DDR2 667 MHz Ubuntu 23.04 ( en voyage )
Portable2 : T5750  @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )

Hors ligne

#17 Le 09/05/2017, à 13:43

Alaingenieux

Re : Ecrire un tout petit script [ RESOLU ]

J'ai bien créé le script de Christophe , je l'ai nommé Encre et je l'ai mis dans usr/bin car sur mon bureau il aurait fini par être effacé. Je l'ai rendu exécutable et il s'exécute très bien en cliquant dessus. Emporté par mon élan, j'ai aussi fait un lanceur : 
1494333372.png
qui me répond  Impossible d'exécuter la commande « ~/usr/bin/Encre ». et ne lance rien du tout. Je ne vois pas ce qui cloche avec ma commande. Si quelqu'un a une idée ??

Hors ligne

#18 Le 09/05/2017, à 14:06

Watael

Re : Ecrire un tout petit script [ RESOLU ]

le tilde n'est peut-être pas compris par Gnome(?).


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#19 Le 09/05/2017, à 22:30

Alaingenieux

Re : Ecrire un tout petit script [ RESOLU ]

@ Watael            Excellente remarque !!! Je viens de le virer et ça marche.  big_smile

Et à tous merci pour votre patience!!

Hors ligne

#20 Le 10/05/2017, à 12:47

Christophe C

Re : Ecrire un tout petit script [ RESOLU ]

Ce n'est pas que le ~ n'est pas compris par gnome, c'est justement qu'il est compris. Car ~ signifie : /home/utilisateur/.

Donc /home/utilisateur/usr/bin, cela n'existe pas smile.

A noter que bricoler en root dans les répertoire système n'est pas une super idée. Le mieux est à mon sens de mettre cela dans ~/Documents/ ou un répertoire créé pour l'occasion, genre ~/script/. Mais bon, c'est juste une remarque.

Heureux que mon script ait pu aider.


BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».

Hors ligne

#21 Le 20/06/2017, à 16:48

ar barzh paour

Re : Ecrire un tout petit script [ RESOLU ]

je viens de changer ma cartouche noire
effectivement le script fonctionne bien mais je ne sais pas comment j'arrive à imprimer en couleur avec ce résultat !!!

ink 0.5.2 (c) 2015 Markus Heinz
hp psc 1300 series
Black:                                  98%
Color:                                   0%

PC          : B760M DS3H DDR4,  12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 22.04, 22.04, 23.04
Portable1 : Intel(R) Core(TM)2 Duo CPU     T6570  @ 2.10GHz RAM 4GiB DDR2 667 MHz Ubuntu 23.04 ( en voyage )
Portable2 : T5750  @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )

Hors ligne