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 08/12/2017, à 21:50

ar barzh paour

[Résolu] code autostart

voir post 5 la résolution , c'est le .desktop qui était en cause , pas le code lui même !!!
le shell suivant fonctionne en double-clic mais pas en autostart
je sèche sur ce qui ne marche pas
j'ai ajouté des echo $LINENO pour effectuer des traces
j'ai bricolé le shell pour avoir des infos supplémentaires  , réduire les boucles
le code du shell
N0 ligne   code

225        i=-1
226        echo "$LINENO =>: $i"              >> "$fich_conf"
227        X="a"
228        echo "$LINENO X : $X"              >> "$fich_conf"
229        ((i++))
230        echo "$LINENO I : $i"              >> "$fich_conf"
231        echo "$LINENO" $(date) "udisksctl sda"       >> "$fich_conf"
232        tmp=$(udisksctl info -b /dev/sda  | grep drive) 
233        code=$?
234        echo "$LINENO $code : $i : $tmp"   >> "$fich_conf"

239        tmp=$(sed "s/'//g" <<< "$tmp")                # enlève les '
240        echo "$LINENO  tmp : $tmp"                     >>"$fich_conf"
241        tmp=$(echo ${tmp##*/})                        # ST3500418AS_9VM14WAQ
242        echo "$LINENO"                     >>"$fich_conf"
243        drive[$i]="$tmp"                              # drive_a=ST3500418AS_9VM14WAQ
244        echo "$LINENO $code : $i pour drive $drive[$i]"                    >> "$fich_conf"

via un double clic sur le shell j'obtiens ceci (conforme à ce que j'attends)
============================================================================

226 =>: -1
228  X : a
230 I : 0
231 vendredi 8 décembre 2017, 19:45:52 (UTC+0100) udisksctl sda
234 0 : 0 :     Drive:                      '/org/freedesktop/UDisks2/drives/ST1000DM003_1ER162_Z4Y7YE2Q'
240 tmp :     Drive:                      /org/freedesktop/UDisks2/drives/ST1000DM003_1ER162_Z4Y7YE2Q
242 : ST1000DM003_1ER162_Z4Y7YE2Q
244 0 : 0 pour drive ST1000DM003_1ER162_Z4Y7YE2Q

============================================================================


MAIS
ce shell étant mis dans .config/autostart j'obtiens ceci
=============================================================================

=>: -1
  X : a
 I : -1
vendredi 8 décembre 2017, 19:48:52 (UTC+0100) udisksctl sda
 0 : -1 :     Drive:                      '/org/freedesktop/UDisks2/drives/ST1000DM003_1ER162_Z4Y7YE2Q'

=============================================================================
puis plus rien
 
1- $LINENO n'est pas imprimé dans le fichier dès la ligne 226 ( =>: -1 ) au lieu de (226 =>: -1)
2- en ligne 230 je vois que I=0 en double clic (230 I : 0)
    mais que I=-1 en autoexec                   (    I : -1 ) ((i++)) n'a pas fonctionné ???
3- la dernière ligne tracée en autostart est la ligne 234   
    trois problèmes
     1 concernant $LINENO en autostart
     2 concernant ((i++)) en autostart
     3 concernant la ligne 239     tmp=$(sed "s/'//g" <<< "$tmp")  en autostart génèrerait une erreur ?

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


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

#2 Le 08/12/2017, à 23:24

Watael

Re : [Résolu] code autostart

salut,

il a un shebang ton script ?


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

Hors ligne

#3 Le 09/12/2017, à 05:35

ar barzh paour

Re : [Résolu] code autostart

bonjour Watael
oui mais à priori c'est le bon

 #! /bin/bash

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 09/12/2017, à 06:04

ar barzh paour

Re : [Résolu] code autostart

mais ça m'a donné l'idée de faire un essai plus simple
l'essai complet réel
le code

#!/bin/bash
echo $(date)                    >> ~/fich-affiche-essai.txt
echo "affichage ligne : $LINENO" >> ~/fich-affiche-essai.txt
i=0
echo "i avant incrément : $i"   >> ~/fich-affiche-essai.txt
((i++))
echo "i après incrément : $i"   >> ~/fich-affiche-essai.txt
echo "fin du shell"             >> ~/fich-affiche-essai.txt 
jpb@jpb-desktop:/media/SH$ ls -ails affiche-essai 
1040 4 -rwxrwxr-x 1 jpb jpb 328 déc.   9 04:46 affiche-essai
jpb@jpb-desktop:/media/SH$ 

le.desktop dans autostart qui permet de lancer ce shell

[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Icon[fr_FR]=www
Name[fr_FR]=affiche-essai-ligne
Exec=sh /media/SH/affiche-essai
Comment[fr_FR]=Affiche-ligne
Comment=essai-commandes-autostart
Icon=preferences-system
jpb@jpb-desktop:~/.config/autostart$ ls -ails affiche-ligne.desktop 
549257 4 -rwxrwxr-x 1 jpb jpb 227 déc.   9 04:49 affiche-ligne.desktop
jpb@jpb-desktop:~/.config/autostart$ 



et le résultat
[code]
lancé par autostart
samedi 9 décembre 2017, 04:52:35 (UTC+0100)
affichage ligne : 
i avant incrément : 0
i après incrément : 0
fin du shell

lancé par double-clic
samedi 9 décembre 2017, 04:56:01 (UTC+0100)
affichage ligne : 3
i avant incrément : 0
i après incrément : 1
fin du shell
[/code]

Dernière modification par ar barzh paour (Le 09/12/2017, à 06:07)


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

#5 Le 09/12/2017, à 06:28

ar barzh paour

Re : [Résolu] code autostart

AHH ! une piste ? :
si je clique sur le fichier qui est dans autostart , l'incrément ne se fait plus !!!!!!

mais par double clic sur le fichier de autostart (le .desktop) :
PID : 3121
samedi 9 décembre 2017, 05:23:20 (UTC+0100)
affichage ligne : 
i avant incrément : 0
i après incrément par ((i++)) : 0
fin du shell

ni incrément
ni N° ligne
(entre temps j'ai ajouté le PID)

@Watael shabang du shell non mais
ne serait-ce pas le .desktop de lancement qui n'est pas bon  !!!!
ligne
Exec=sh /media/SH/afficheconfigjpb16_04
je la remplace par
Exec=bash /media/SH/afficheconfigjpb16_04
et je refais l'essai

BINGO
le résultat

LIGNE_1 226 =>: -1
LIGNE_2 228  X : a
LIGNE_3 231 I : 0
samedi 9 décembre 2017, 09:08:12 (UTC+0100) udisksctl sda
LIGNE_4 235 0 : 0 :     Drive:                      '/org/freedesktop/UDisks2/drives/ST1000DM003_1ER162_Z4Y7YE2Q'
241 tmp :     Drive:                      /org/freedesktop/UDisks2/drives/ST1000DM003_1ER162_Z4Y7YE2Q
243 : ST1000DM003_1ER162_Z4Y7YE2Q
245 0 : 0 pour drive ST1000DM003_1ER162_Z4Y7YE2Q

dans ma version précédente qui fonctionnait bien , je ne devais utiliser que des instructions sh , il faudrit que je
vérifie mais c'est sur

reste plus qu'à affiner le code

je marque résolu
merci Watael pour la piste de sh

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


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

#6 Le 09/12/2017, à 11:11

Watael

Re : [Résolu] code autostart

mais pourquoi ton script n'est-il pas simplement exécutable, pour ne pas avoir besoin d'être exécuté par un appel au shell :

Exec=/chemin/tonScript

contre

Exec=(ba)sh tonScript

c'est toute l'utilité du shebang : indiquer au noyau quel interpréteur utiliser pour le fichier exécutable courant.

Dernière modification par Watael (Le 09/12/2017, à 14:33)


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

Hors ligne

#7 Le 09/12/2017, à 14:15

ar barzh paour

Re : [Résolu] code autostart

Watael a écrit :

mais pourquoi ton script n'est-il pas simplement exécutable, pour ne pas avoir besoin d'être exécuté par un appel au shell :

c'est rectifié


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