[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: beep, question de permissions?



Bayrouni <bayrouni@brutele.be> writes:

> Leopold BAILLY wrote:
>> Bayrouni <bayrouni@brutele.be> writes:
>>
>>>Jean-Michel OLTRA wrote:
>>>
>>>>    bonjour,
>>>>Le jeudi 24 mars 2005, Astar0th a écrit...
>>>>
>>>>
>>>>>>./trig-alarm
>>>>>>Could not open /dev/console for writing.
>>>>>>open: Permission denied.
>>>>>>
>>>>>>Le programme s'exute pendant les 10 secondes de test mais sans aucun son.
>>>>>>
>>>>>>Je suis persiadé qu'il s'agit d'une question de droits mais sur quoi ?
>>>>
>>>>Essaye avec strace (man strace)
>>>>strace -e file ./trig-alarm
>>>
>>>
>>>Voici l'affichage de 	
>>>
>>>strace -e file ./bin/trig-alarm:
>>>
>>>execve("./bin/trig-alarm", ["./bin/trig-alarm"], [/* 23 vars */]) = 0
>>>access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
>>>open("/etc/ld.so.preload", O_RDONLY)    = -1 ENOENT (No such file or directory)
>>>open("/etc/ld.so.cache", O_RDONLY)      = 3
>>>fstat64(3, {st_mode=S_IFREG|0644, st_size=24361, ...}) = 0
>>>access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
>>>open("/lib/tls/libc.so.6", O_RDONLY)    = 3
>>>fstat64(3, {st_mode=S_IFREG|0644, st_size=1253924, ...}) = 0
>>>open("/dev/console", O_WRONLY)          = 3
>> J'ai lancé strace sur echo -e "\a", qui provoque un bip du haut-parleur, pour
>> voir dans quel périphérque il écrit.
>> Il écrit dans /dev/pts/0, qui est le terminal associé à mon shell comme je peux
>> le voir avec ps, sur lequel j'ai bien les droits d'écriture.
>> Je pense tout simplement que ton programme est buggé car il écrit
>> systématiquement dans /dev/console (réservé à root) au lieu de rechercher (par
>> un moyen que j'ignore) le terminal attaché à son processus.
>> Léo.
>>
> Voici la ligne qui est mise en cause dans mon programme C.
> (Je ne suis pas du tout specialiste du C)
>
> console_fd = open("/dev/console", O_WRONLY)

Vérifie que /dev/pts/0 t'appartient bien et remplace /dev/console par /dev/pts/0
juste pour voir si ça marche.


Léo.



Reply to: