|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Andrey Sapozhnikov 2:5020/400 06 Mar 2002 14:55:53 To : Artem Chuprina Subject : Re: Пикнуть спикером.. -------------------------------------------------------------------------------- Artem Chuprina wrote: > Здравствуй, Mike Belov. > > MB> Hужно написать скpипт, котоpый пpи запуске будет пикать спикеpом с > MB> заданной частотой и долготой :)) > > MB> Писать можно на чем угодно (perl,php). Работать всё будет на > MB> LinuxMandrake7.2 > > MB> З.Ы. Пеpеpыл все доки, но ничего не нашел.. > > А это не сюда. Это в RU.LINUX. Сразу уточню, что для этого нужны рутовые права > и что такую программу проще написать на C. В RU.LINUX тебе расскажут, какие > именно ioctl дергать. К счастью под Линуксом это легко сделать и на Perl и без рутовых прав (если стандартный вывод уже направлен на линуксовый терминал или есть права писать в /dev/console). Вот скриптик для примера. Андрей #!/usr/bin/perl -w use strict; use POSIX; sub beep_to_fd { my ($fd, $hz, $msec) = @_; print $fd "\x1b[10;$hz]\x1b[11;$msec]\x07\x1b[10]\x1b[11]"; } sub beep { my ($hz, $msec) = @_; my $tty = POSIX::ttyname(fileno(STDOUT)); if ($tty =~ m{^/dev/(vc/|tty|console)\d*$}) { beep_to_fd \*STDOUT, $hz, $msec; } else { open CONSOLE, "> /dev/console" or warn("cannot open console: $!"), return; beep_to_fd \*CONSOLE, $hz, $msec; close CONSOLE; } } beep(2000, 200); --- ifmail v.2.15dev5 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/5284077981c6.html, оценка из 5, голосов 10
|