Bonjour tout le monde,
Au démarrage de mon Raspberry Pi, je lance un script (start.sh). Ce script fait appel à une fonction toute bête que j’ai mise dans le fichier “~/.bashrc”. J’ai bien changé les droits sur le script avec un :
J’ai également ajouté le chemin vers le script dans la variable PATH : (dans ~/.bashrc)
La fonction dont j’ai besoin :
[code]function decode()
{
echo “$1” | base64 -d ; echo
}
export -f decode[/code]
J’ai essayé de rajouter la fonction dans le fichier “~/.bashrc” et ça n’a pas fonctionné. J’ai aussi essayé de l’ajouter dans le fichier “~/.bash_profile”, elle était alors accessible via SSH mais pas via la session locale ?
J’ai essayé également d’ajouter la fonction dans le fichier “/etc/bash.bashrc” pour qu’elle soit accessible à tout le monde. Elle est alors accessible pour tout le monde mais le script qui se lance au démarrage n’arrive pas à l’utiliser.
Le script se lance bien au démarrage. (J’ai rajouté une écriture dans un fichier pour m’en assurer.)
Le script fonctionne si je le lance manuellement. La fonction “decode” fonctionne et il lance la session RDP. ("$ start.sh" pour le lancer)
Le problème, pour moi, vient du fait que la fonction “decode” n’est pas chargée avant que le script se lance. Pourtant, le fichier “/etc/bash.bashrc” est lancé à l’ouverture de la session, non ?
Si non, quel est le bon endroit où écrire cette fonction ?
Merci d’avance,
Esprit
PS : L’objectif de la fonction est de ne pas mettre le code “en clair” dans le script. Je me rends bien compte qu’une simple conversion en base64 est loin d’être suffisante ou sérieuse mais c’était un premier essais. Si vous avez d’autres idées, je suis preneur.
Annexes :
pi@RPi:~$ cat scripts/start.sh
[code]#!/bin/bash
#test création dossier
mkdir /home/pi/test01
#recharger le fichier .bashrc
. /home/pi/.bashrc & #utile ? pas efficace en tout cas…
user=Rpi***
export user
domain=***
export domain
passwd=decode Um********
export passwd
echo $passwd | tee /home/pi/fichier.txt #au boot, le fichier est créé mais vide.
#quand je lance manuellement le script, le code est dedans
adresseIP=10.2**.***.***
export adresseIP
sleep 10
rdesktop -f -u $user -d $domain -p $passwd $adresseIP &
echo “fin script” | tee /home/pi/fichier2.txt
exit 0[/code]
Le script est lancé via le fichier suivant :
pi@RPi-TC50:~$ cat .config/autostart/start.desktop
[Desktop Entry]
Version=1.0
Name=Remmina Applet
Comment=Se connecter aux bureaux distants via le menu de l'applet
Icon=remmina
Exec=/home/pi/scripts/start.sh
Terminal=false
Type=Application
Hidden=false