Re: права для /sys/class
On Sat, Sep 26, 2009 at 05:07:55PM +0200, yuri.nefedov@gmail.com wrote:
> Можно, например, маленькую программку на С написать
> (в приложении). Компилируете, рутом копируете в
> /usr/local/bin и устанавливаете s-бит. Вроде всё.
>
> #include <stdlib.h>
> #include <stdio.h>
> #include <errno.h>
> #include <string.h>
>
> static void usage()
> {
> fprintf (stderr, "usage: mail_led [on/off]\n");
> fprintf (stderr, " switch on/off mail_led on asus-laptop\n");
> exit (1);
> }
>
> int main(int argc, char* argv[])
> {
> const char* mail_led="/sys/class/leds/asus::mail/brightness";
> int status = 0;
>
> if (argc == 1) usage();
>
> if( strcmp(argv[1],"off") == 0 ) {
> status = 0;
> } else if( strcmp(argv[1],"on") == 0 ) {
> status = 1;
> } else {
> usage();
> }
>
> FILE *f=fopen(mail_led,"r+");
> if (!f) {
> fprintf (stderr,
> "Error opening file: %s\n",
> strerror(errno));
> return 1;
> }
>
> if( status == 0 )
> fprintf(f,"0");
> else
> fprintf(f,"1");
>
> fclose(f);
>
> return 0;
> }
Юра, имхо, туда значение яркости пишется, а не 0/1, т.е. число от 0 до
содержимого max_brightness (в той же поддиректории). Соответственно, с
"r+" ты тоже начудил, пояснять не буду, сам сообразишь почему =)
--
Stanislav
Reply to: