# Problème lancement script autostart

**URL:** <https://www.debian-fr.org/t/probleme-lancement-script-autostart/32080>\
**Category:** Programmation\
**Created:** [Février 21, 2016, 2:04 UTC](https://www.debian-fr.org/t/probleme-lancement-script-autostart/32080 "2016-02-21T02:04:31Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Neo-MatriX](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/n/ecae2f/32.png) [@Neo-MatriX](https://www.debian-fr.org/u/Neo-MatriX)\
**Post date:** [Février 21, 2016, 2:04 UTC](https://www.debian-fr.org/t/probleme-lancement-script-autostart/32080/1 "2016-02-21T02:04:31Z")

</div>

Hello tout le monde,

j’ai un script qui doit être lancé grâce à l’autostart d’openbox, mais qui ne se lance pas.  
Il s’agit d’une sorte de “daemon” qui rafraichit l’arrière plan du bureau.  
C’est depuis l’ajout de la condition ci-dessous :

`if [["$1" = "start" || "$1" = "restart"]]
		then if ["$( ps aux | grep 'dyn_wp.sh execute' | grep -vc 'grep' )" = "0"]
			then ( $scr_dir execute > /dev/null 2>&1 & )
			echo "Dyn_wp [$1]"
			else echo "Dyn_wp est déjà démarré!"
		fi
	fi`  
Rien ne se passe au démarrage le grep ne ressort rien.

Auriez vous une idée svp ?  
Merci d’avance.

PS:

le script complet :

[code]#!/bin/bash  
PATH=/sbin:/bin:/usr/bin:  
scr\_dir=$( echo “$PWD$( echo $0 | sed ‘s/^.//’ )”)  
S\_act=$( date -u ‘+%s’ )  
if [“$1” = “configure”]  
then prog=$( which bc xplanet convert composite feh | grep -c ‘/’)  
if [“$prog” = “5”]  
then if [! -d “$HOME/.dyn\_wp/”]; then mkdir “$HOME/.dyn\_wp/”; fi  
cd "$HOME/.dyn\_wp/“  
if [-f “dyn\_wp.conf”]; then for i in `cat dyn_wp.conf | grep -P '[^#]'` ; do export $i ; done ; fi  
conf=( )  
sup=”“  
clear  
echo -e “--------Configuration de DYN\_WP--------\n\n"  
read -p “Résolution en x (largeur en px) [$res\_x]:” conf[0]  
read -p “Résolution en y (longueur en px) [$res\_y]:” conf[1]  
read -p “Temps de rechargement en minutes [$reload]:” conf[2]  
read -p “Faire une image à la taille de la résolution (0/1) [$full\_img]:” conf[3]  
if [[“${conf[3]}” = “1” || “${conf[3]}” = “” ]]  
then read -p “Couleur du dégradé circulaire en anglais [$color\_gradient]:” conf[4]  
read -p “hauteur en pixel de l’image satellite par rapport à l’écran [$gap\_y\_top]:” conf[5]  
read -p “hauteur en pixel entre le bas de l’écran et les informations spatiales (lune et information soleil) [$gap\_y\_bottom]:” conf[6]  
sup=”\ncolor\_gradient=${conf[4]:=$color\_gradient}\ngap\_y\_top=${conf[5]:=$gat\_y\_top}\ngap\_y\_bottom=${conf[6]:=$gat\_y\_bottom}”   
fi  
echo -e “res\_x=${conf[0]:=$res\_x}\nres\_y=${conf[1]:=$res\_y}\nreload=${conf[2]:=$reload}\nfull\_img=${conf[3]:=$full\_img}$sup” \> dyn\_wp.conf  
if [! -f “dl”]; then echo -n “0 0” \> dl; fi  
if [! -f “alert.conf”]; then echo -n “0 6” \> alert.conf; fi  
else echo "il vous manque des programmes essentiels: bc, xplanet, image-magick"  
fi

fi  
if [-f “$HOME/.dyn\_wp/dyn\_wp.conf”]  
then cd "$HOME/.dyn\_wp/"  
if [[“$1” = “execute”]]  
then echo $$ \> pid  
while true  
do  
function mkt {  
mois="January01February02March03April04May05June06July07August08September09October10November11December12"  
if [[“${#3}” = “1”]]; then j=“0$3”; else j=$3; fi  
date -d “$1$( echo “$mois” | sed -r “s/._$2([0-9]+)._/\1/”)$j $4” “+%s”  
}  
function lat2px {  
echo “$2\*(90-($1))/360” | bc | sed -r ‘s/…+//’  
}  
function long2px {  
echo “$2\*($1+180)/360” | bc | sed -r ‘s/…+//’  
}  
for i in `cat dyn_wp.conf | grep -P '[^#]'` ; do export $i ; done  
ddl=( $( cat dl ) )  
wget [http://www.swpc.noaa.gov/ftpdir/latest/curind.txt](http://www.swpc.noaa.gov/ftpdir/latest/curind.txt) -O kp  
wget [http://earthquake.usgs.gov/earthquakes/catalogs/eqs1day-M2.5.txt](http://earthquake.usgs.gov/earthquakes/catalogs/eqs1day-M2.5.txt) -O eq  
wget [http://www.swpc.noaa.gov/ftpdir/indices/events/events.txt](http://www.swpc.noaa.gov/ftpdir/indices/events/events.txt) -O se  
if (( “$(( $S\_act - ${ddl[0]} ))” \>= “$(( 3600 \* 3 ))” ))  
then wget [http://www.narrabri.atnf.csiro.au/operations/NASA/clouds\_2048.jpg](http://www.narrabri.atnf.csiro.au/operations/NASA/clouds_2048.jpg) -O clouds.jpg  
ddl[0]=$S\_act  
else echo "Sat picture: already up to date"  
fi  
if (( “$(( $S\_act - ${ddl[1]} ))” \>= “$(( 3600 \* 4 ))” ))  
then wget [http://tycho.usno.navy.mil/cgi-bin/phase.gif](http://tycho.usno.navy.mil/cgi-bin/phase.gif) -O phase.gif  
ddl[1]=$S\_act  
else echo "Lunar picture: already up to date"  
fi  
echo ${ddl[@]} \> dl   
mag\_max=( 0 0 )  
while read line; do  
eval “d=( “$line” )“  
dif=$(( $S\_act - ${d[0]} ))  
if [[$( echo ${d[3]}_10 | bc | sed -r ‘s/.[0]+$//’) -ge “60” ]]  
then LAB+=( " -draw “text $( echo ${d[2]}-10 | bc ),$( echo ${d[1]}+5 | bc ) ‘${d[3]}’”" )  
fi  
if [[$dif -lt “86400”]]  
then gf=$( echo $dif_128/86400 | bc )  
gs=$( echo $dif_128/86400+127 | bc )  
colf="rgb(255,$gf,0)"  
cols="rgb(255,$gs,0)"  
else colf="rgb(255,128,0)"  
cols="rgb(255,255,0)"  
fi  
COM\_eq=( “-fill ‘$colf’ -stroke ‘$cols’ -strokewidth 2% -draw 'circle ${d[2]},${d[1]} ${d[2]},”$( echo ${d[3]}^3_0.06+${d[1]} | bc )”’” “${COM\_eq[@]}” )  
if (( $( echo “${mag\_max[0]}\<${d[3]}” | bc ) == 1 )); then mag\_max=( ${d[3]} ${d[0]} ); fi

```
		done < <(sed -rn 's/.+\s+([a-zA-Z]+)\s+([0-9]+),\s+([0-9]+)\s+([0-9]+:[0-9]+:[0-9]+).+,(-?[0-9]+\.[0-9]+),(-?[0-9]+\.[0-9]+),([0-9]+\.[0-9]+),[0-9]+\.[0-9]+,.+/$( mkt \3 \1 \2 \4) $( lat2px \5 $res_x ) $( long2px \6 $res_x ) \7/p' eq )
		sup=""
		if [["$full_img" = "1"]]
			then COM_xfla=( )
			xfla_arr=( $( grep -Po '[ABCMX][0-9]{1,2}[\.][0-9]' se | sort -ur ) )
			kp_arr=( $( tail -1 kp ) )
			for i in {9..16}
					do
					if [[${kp_arr[$i]} < "4" ]]
					then col="green"
				elif [[${kp_arr[$i]} = "4" ]]
								then col="yellow"
				elif [[${kp_arr[$i]} > "4" ]]
								then col="red"
				else col="0"
				fi
				if [["$col" != "0"]]
					then COM_xfla+=( "-fill $col -draw 'rectangle $(( 20 + ( $i - 8 ) * 8 )),$(( $res_y - $gap_y_bottom - ${kp_arr[$i]} * 5 )) $(( 26 + ( $i - 8 ) * 8 )),$(( $res_y - $gap_y_bottom ))'" )
				fi
				
			done
			if [["$color_gradient" = "random"]]
				then rcol=( red orange yellow green cyan blue purple brown white grey violet)
				rand=$RANDOM
				let "rand %= 11"
				color_gradient=${rcol[$rand]}
			fi
			sup=$( date -d "1970-01-01 UTC + ${mag_max[1]} seconds" "+ -fill '${color_gradient:-white}' -gravity NorthEast -draw \"text 0,20 ' M ${mag_max[0]}: %d/%m/%y %T UTC'\"" )
			eval convert -size ${res_x}x${res_y} radial-gradient:${color_gradient}-black -strokewidth 0 ${COM_xfla[@]} -fill ${color_gradient} -draw "\"text $(( $res_x / 2 )),$(( $res_y - 50 - $gap_y_bottom ))'"$( date '+%d/%m/%y %T' )"'\"" -pointsize 14 -fill red "-draw \"text 100,$(( ${res_y} - 25 - $gap_y_bottom )) '${xfla_arr[0]}'\" -fill $color_gradient -gravity NorthEast -draw \"text 5,0 '"$(date -d "1970-01-01 UTC + ${mag_max[1]} seconds" "+M ${mag_max[0]}: %d/%m/%y %T UTC")"'\"" wallpaper.png
			composite -gravity SouthEast -geometry +30+$(( $gap_y_bottom - 10 )) phase.gif wallpaper.png wallpaper.png
			else convert -size ${res_x}x$(( ${res_x} / 2 )) xc:none wallpaper.png
		fi
		
		xplanet -num_times 1 -config overlay_clouds -projection rectangular -quality 100 -geometry ${res_x}x$(( ${res_x} / 2 )) -output sat.png
		COM_eq="convert -size ${res_x}x$(( ${res_x} / 2 )) xc:transparent ${COM_eq[@]} -channel RGBA -blur 3x3 -strokewidth 0 ${LAB[@]} eq.png"
		eval $COM_eq
		convert wallpaper.png \
		sat.png -gravity North -geometry +0+${gap_y_top:-0} -composite \
		eq.png -gravity North -geometry +0+${gap_y_top:-0} -composite wallpaper.png
		feh --bg-max wallpaper.png
		echo "done, next update: $reload minutes"
		sleep ${reload}m
	done
fi
if [["$1" = "stop" || "$1" = "restart"]]
	then if ["$( ps aux | grep 'dyn_wp.sh execute' | grep -vc 'grep' )" = "0"]
		then echo "Dyn_wp n'est pas démarré!"
		exit
		else kill -9 $( cat pid )
		echo "Dyn_wp [$1]"
	fi
fi
if [["$1" = "start" || "$1" = "restart"]]
	then if ["$( ps aux | grep 'dyn_wp.sh execute' | grep -vc 'grep' )" = "0"]
		then ( $scr_dir execute > /dev/null 2>&1 & )
		echo "Dyn_wp [$1]"
		else echo "Dyn_wp est déjà démarré!"
	fi
fi
else echo "executer dyn_wp.sh configure"

```

fi  
[/code]

---

<div class="post-metadata">

**Author:** ![MisterFreez](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/bb73d2/32.png) [@MisterFreez](https://www.debian-fr.org/u/MisterFreez)\
**Post date:** [Février 21, 2016, 2:08 UTC](https://www.debian-fr.org/t/probleme-lancement-script-autostart/32080/2 "2016-02-21T02:08:49Z")

</div>

Quand tu le lance manuellement il fonctionne ?

---

<div class="post-metadata">

**Author:** ![Neo-MatriX](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/n/ecae2f/32.png) [@Neo-MatriX](https://www.debian-fr.org/u/Neo-MatriX)\
**Post date:** [Février 21, 2016, 2:10 UTC](https://www.debian-fr.org/t/probleme-lancement-script-autostart/32080/3 "2016-02-21T02:10:01Z")

</div>

En manuel il n’y a aucun soucis.

Au pire j’essayerais de le retravailler en perl.  
Merci 😉
