Page 1 sur 1

Python au démarrage

Posté : lun. 29 juin 2015 19:31
par fred
Bonjour,
J'ai fais un "vulgaire" script Python, qui converti quelques touches en majuscule. J'utilise la library curses. Le script fonctionne quand je le lance avec python ce_script.py. Quand je mets cette ligne dans le script de demarrage /etc/rc.local, il se lance mais ne fonctionne pas, toutes les lettres sont en minuscule. Quand j'appuie sur Return, ce que je viens de tapper en minuscule se réaffiche en majuscule !!!?
Pourquoi 2 fonctionnements differents quand il est en demarrage auto et en demarrage manuel !!!?

Code : Tout sélectionner

#!/usr/bin/python
# coding: utf8


import curses


stdscr = curses.initscr()
curses.noecho()
curses.cbreak()

stdscr.keypad(1)



while 1:
	c=stdscr.getch()

	if c == curses.KEY_HOME:
		break
	elif chr(c).upper() in "ABCDEFGHIJKLMNOPQRSTUVWXYZ .0123456789":
		stdscr.addch(chr(c).upper())
		stdscr.refresh()



curses.nocbreak()
stdscr.keypad(0)
curses.echo()
curses.endwin()
Merci d'avoir pris le temps de me lire.
Cordialement
Fred

Re: Python au démarrage

Posté : lun. 29 juin 2015 19:54
par Manfraid
Salut,

petite question pourquoi cherche tu a faire cela ?

et l'autre soucis c'est que je ne suis pas sur que tu puisse lancer curses au démarrage, je te conseille plutôt au moment ou tu te logue avec ton user cela serai mieux

Re: Python au démarrage

Posté : lun. 29 juin 2015 20:37
par fred
Bien sur un script, juste pour passer en majuscule.... non! au final, si ça se termine, le raspi deviendra un terminal accroché a une machine qui tourne sous iRMX.

J'ai trouvé une solution. Je ne comprends pas pourquoi mais, le meme script Python, lancé au boot depuis:
/etc/rc.local ne fonctionne pas
/etc/profile fonctionne

Re: Python au démarrage

Posté : lun. 29 juin 2015 21:23
par Manfraid
cela est normal le /etc/profile et lancer a la connexion de l'utilisateur et non pas au démarrage de l'os comme dans le /etc/rc.local

Re: Python au démarrage

Posté : mar. 30 juin 2015 04:49
par fred
Merci pour les explications, mais je pense que c'est plus compliqué que ça, puisque dans les 2 cas mon script est lancé mais quand il est lancé a partir de /etc/rc.local il fonctionne différemment de quand il est lancé a partir de /etc/profile.
Dans les 2 cas il n'y a pas de plantage python qui ne trouverait une librairie...
Bon on va pas s'arracher, ça fonctionne en le lançant a partir de /etc/profile, tes explications me vont.
Si ça peut aider qq.

Merci encore

Re: Python au démarrage

Posté : mar. 30 juin 2015 11:48
par vague nerd
Bonjour.
Autres pistes :
-répertoires d'exécutions différents
-script s'appuyant sur des librairies différentes selon le mode de lancement
-script s'appuyant sur des variables d’environnements
-script fonctionnant différemment selon le user
-...
Il y a malheureusement plein de possibilités !

Si vous voulez chercher le fin mot de l'histoire, je pense que le plus simple serait d'essayer de reproduire les comportements "à la main" (en lançant le script avec différents users, depuis différents répertoires d'exécution, en relatif ou en absolu...).
Cdt.