OT: mit Skript (Perl, bash) einen Ton ausgeben ohne geöffnete Shell (als at-Job)
Hi Folks, da hier auch schon des öfteren Perl-Fragen beantwortet wurden, versuche ich es auch einmal. Ich möchte per atd ein Skript laufen lassen, welches unter anderem auch 4 x "beep" ;-) machen soll. Das Skript selbst klappt ganz gut. Und wird es in einer shell ausgeführt, "beept" der Rechner auch. Nur eben als "at-Job" nicht nicht :-( Irgendwelche Ideen? Danke Timothy -- Intuition ist das Fehlen von Information -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
hallo Timothy, was meinst Du mit <"at-Job"> ?? viele grüße benedikt -------- Original-Nachricht --------
Datum: Mon, 20 Aug 2007 15:33:45 +0200 Von: Timothy Kesten
An: opensuse-de@opensuse.org Betreff: OT: mit Skript (Perl, bash) einen Ton ausgeben ohne geöffnete Shell (als at-Job)
Hi Folks,
da hier auch schon des öfteren Perl-Fragen beantwortet wurden, versuche ich es auch einmal. Ich möchte per atd ein Skript laufen lassen, welches unter anderem auch 4 x "beep" ;-) machen soll. Das Skript selbst klappt ganz gut. Und wird es in einer shell ausgeführt, "beept" der Rechner auch. Nur eben als "at-Job" nicht nicht :-(
Irgendwelche Ideen?
Danke Timothy -- Intuition ist das Fehlen von Information -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
-- Psssst! Schon vom neuen GMX MultiMessenger gehört? Der kanns mit allen: http://www.gmx.net/de/go/multimessenger -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Mon, 20 Aug 2007, Benedikt Schackenberg schrieb:
was meinst Du mit <"at-Job"> ??
man at, man atd -dnh -- Braucht Ihr ab oder zunehmen ??? Ich benutze zur Zeit ein total tolles Zeug um abzunehmen. Es geht irre schnell und ist wunderbar. Es ist auch gebrauchlich zum zunehmen. Ihr koenntet auch business tun.....interestan nicht war ??? ['disa_linn@my-deja.com spammt mit viel Hirn in dag°] -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Moin moin, Am Montag, 20. August 2007 schrieb Timothy Kesten:
da hier auch schon des öfteren Perl-Fragen beantwortet wurden, versuche ich es auch einmal. Ich möchte per atd ein Skript laufen lassen, welches unter anderem auch 4 x "beep" ;-) machen soll. Das Skript selbst klappt ganz gut. Und wird es in einer shell ausgeführt, "beept" der Rechner auch. Nur eben als "at-Job" nicht nicht :-(
Irgendwelche Ideen?
Bist Du Dir sicher, dass dein Skript unter "at" die gleiche Umgebung hat wie dein User (login-shell)? Ansonsten poste doch mal dein Skript! Ciao Andre -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Montag 20 August 2007 15:47 schrieb Andre Heine:
Bist Du Dir sicher, dass dein Skript unter "at" die gleiche Umgebung hat wie dein User (login-shell)?
Ansonsten poste doch mal dein Skript!
#!/usr/bin/perl -w print "\a\n"; sleep(1); print "\a\n"; sleep(1); print "\a\n"; sleep(1); print "\a\n"; exec("shutdown -r now"); Shutdown wird ausgeführt. Nur "beepen" tut er nicht (at-Job). Timothy @Benedickt: Das Skript soll durch den at-Deamon gestartet werden. Daher "at-Job" -- Intuition ist das Fehlen von Information -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Montag, 20. August 2007 schrieb Timothy Kesten:
Am Montag 20 August 2007 15:47 schrieb Andre Heine:
Bist Du Dir sicher, dass dein Skript unter "at" die gleiche Umgebung hat wie dein User (login-shell)?
Ansonsten poste doch mal dein Skript!
#!/usr/bin/perl -w
print "\a\n"; sleep(1); print "\a\n"; sleep(1); print "\a\n"; sleep(1); print "\a\n"; exec("shutdown -r now");
Hmm, ich mach das mit system in der einser Konsole so kann man auch eine Melodie spielen ;) system ("echo -en \"\033[10;524]\a\" >/dev/tty1"); system ("usleep 125000"); system ("echo -en \"\033[10;295]\a\" >/dev/tty1"); Die Zaheln habe ich hiervon:
Shutdown wird ausgeführt. Nur "beepen" tut er nicht (at-Job).
Timothy
@Benedickt: Das Skript soll durch den at-Deamon gestartet werden. Daher "at-Job"
-- Intuition ist das Fehlen von Information
-- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Montag, 20. August 2007 schrieb Timothy Kesten:
Am Montag 20 August 2007 15:47 schrieb Andre Heine:
Bist Du Dir sicher, dass dein Skript unter "at" die gleiche Umgebung hat wie dein User (login-shell)?
Ansonsten poste doch mal dein Skript!
#!/usr/bin/perl -w
print "\a\n"; sleep(1); print "\a\n"; sleep(1); print "\a\n"; sleep(1); print "\a\n"; exec("shutdown -r now");
uups falsche Taste: Hmm, ich mach das aus Perl mit system in der einser Konsole so kann man auch eine Melodie spielen ;) system ("echo -en \"\033[10;524]\a\" >/dev/tty1"); system ("usleep 125000"); system ("echo -en \"\033[10;295]\a\" >/dev/tty1"); Die Zahlen habe ich hiervon: #!/bin/bash #if [ 1 ] ; #then # fein, ist da.. chg=15000 usl=125000 for tone in 249 295 328 393 440 491 524; do echo -en "\033[10;${tone}]\a" #>/dev/tty2 usleep $usl echo "$usl ($chg)" let "usl -= chg" done sleep 5 chg=15000 usl=35000 for tone in 524 491 440 393 349 328 295; do echo "$usl ($chg)" let "usl += chg" echo -en "\033[10;${tone}]\a" #>/dev/tty1 usleep $usl done Viel Spass, Calli
Shutdown wird ausgeführt. Nur "beepen" tut er nicht (at-Job).
Timothy
@Benedickt: Das Skript soll durch den at-Deamon gestartet werden. Daher "at-Job"
-- Intuition ist das Fehlen von Information
-- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Mon, 20 Aug 2007, gooly@gmx.at schrieb:
system ("echo -en \"\033[10;524]\a\" >/dev/tty1");
Das wird nur bedingt klappen! $ echo -en '\a' >/dev/tty1 bash: /dev/tty1: Permission denied *ups* Zur Lösung siehe meine andere Antwort. -dnh -- Außendienstmitarbeiter landet mit seinem Mobil-PC in der Zentrale an und steckt das TR-Kabel in seine "Fritz Card PCMCIA" --> alle fünf "NT-Server" im Segment verrecken. -- Irgendwie war mir AVM schon immer sympathisch. (Hans Bonfigt, Till Potinius) -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, On 20-Aug-2007 Timothy Kesten wrote:
Irgendwelche Ideen?
Weil du dem Ton keine Konsole gegoennt hast. Ich poste hier mal einen Tip von David: "Das braucht eine Konsole. echo -e '\a' > /dev/tty12 sollte funktionieren." Beste Gruesse, Heinz. -- Reisefuehrer Bulgarien, Slowakei: http://www.erlebnis-osteuropa.de Reiseberichte Osteuropa: http://www.pahlke-online.de Barrierefreies Webdesign: http://www.Pahlke-KunstWebDesign.de -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Montag 20 August 2007 15:52 schrieb Heinz W. Pahlke:
Weil du dem Ton keine Konsole gegoennt hast.
Ich poste hier mal einen Tip von David:
"Das braucht eine Konsole.
echo -e '\a' > /dev/tty12
sollte funktionieren."
Danke für die Tipps. Aber keiner funzt :-( Muss es halt ohne Pieps gehen. Timothy -- Intuition ist das Fehlen von Information -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Montag, 20. August 2007 schrieb Timothy Kesten:
Am Montag 20 August 2007 15:52 schrieb Heinz W. Pahlke:
Weil du dem Ton keine Konsole gegoennt hast.
Ich poste hier mal einen Tip von David:
"Das braucht eine Konsole.
echo -e '\a' > /dev/tty12
sollte funktionieren."
Danke für die Tipps. Aber keiner funzt :-( Muss es halt ohne Pieps gehen.
Timothy -- Intuition ist das Fehlen von Information
Kann es sein dass Dein Script nicht in der Konsole selber läuft und auch nicht über root-Rechte verfügt, könnte es daran liegen? Calli -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Moin moin, Am Montag, 20. August 2007 schrieb Timothy Kesten:
Danke für die Tipps. Aber keiner funzt :-( Muss es halt ohne Pieps gehen.
Nun, das piepsen geht dir bald eh auf den Sack:) Hat deine Büchse 'ne Soundkarte? Dann nimm "playwave", gehört zu Paket "SDL_mixer-1.2.6-17". So long... andre -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Mon, 20 Aug 2007, Andre Heine schrieb:
Am Montag, 20. August 2007 schrieb Timothy Kesten:
Danke für die Tipps. Aber keiner funzt :-( Muss es halt ohne Pieps gehen.
Nun, das piepsen geht dir bald eh auf den Sack:)
Hat deine Büchse 'ne Soundkarte?
Dann nimm "playwave", gehört zu Paket "SDL_mixer-1.2.6-17".
oder 'play' oder 'wavplay' oder ... Dazu müssen aber an der Soundkarte aber auch Boxen hängen und an sein. Ich 'beep'e hier auch und das auch ohne Boxen :P -dnh -- We call this principle 'Plug and Play'. Or at least Microsoft calls it that because it hasn't got it yet. In the Mac World, we've had it for so long we didn't even think of giving it a name. -- Douglas Adams in "Little Dongly Things" -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Mon, 20 Aug 2007, Timothy Kesten schrieb:
da hier auch schon des öfteren Perl-Fragen beantwortet wurden, versuche ich es auch einmal. Ich möchte per atd ein Skript laufen lassen, welches unter anderem auch 4 x "beep" ;-) machen soll. Das Skript selbst klappt ganz gut. Und wird es in einer shell ausgeführt, "beept" der Rechner auch. Nur eben als "at-Job" nicht nicht :-(
In der bash: beep -r 4 Siehe 'man beep'. Sollte sich selber ein Terminal schnappen (bzw. AFAIK nimmt es '/dev/console', bei Problemen also dessen Rechte prüfen). In Perl: ==== #!/usr/bin/perl -w use strict; use Time::HiRes; open(T, ">/dev/console") or die "$!\n"; for(1..4) { print T "\a\n"; Time::HiRes::sleep(0.5); } close(T) or die "$!\n"; ==== zum 'sleep' siehe 'perldoc Time::HiRes', das CORE::sleep kann nämlich nur ganze Sekunden. Alternativ 'usleep' verwenden: Time::HiRes::usleep(500000); Die Funktionen von Time::HiRes kann man natürlich auch importieren, hier hielt ich's so für sinnvoller. -dnh -- Ich habe da eine Theorie: Betriebssysteme melden Fehler und wollen, dass sie behoben werden. Bei Systemen wie Windows 9x sind die Fehler wesentlicher Bestandteil und kein Grund, sich Sorgen zu machen. -- Steffen Lauterkorn -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Montag 20 August 2007 22:35 schrieb David Haller:
Sollte sich selber ein Terminal schnappen (bzw. AFAIK nimmt es '/dev/console', bei Problemen also dessen Rechte prüfen).
In Perl:
==== #!/usr/bin/perl -w use strict; use Time::HiRes; open(T, ">/dev/console") or die "$!\n"; for(1..4) { print T "\a\n"; Time::HiRes::sleep(0.5); } close(T) or die "$!\n"; ====
Tut's auch nicht. Hat sich aber mittlerweile erledigt. Trotzdem Danke an alle für Eure Mühe. Timothy -- Intuition ist das Fehlen von Information -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Mit, 22 Aug 2007, Timothy Kesten schrieb:
Am Montag 20 August 2007 22:35 schrieb David Haller: [beep]
Sollte sich selber ein Terminal schnappen (bzw. AFAIK nimmt es '/dev/console', bei Problemen also dessen Rechte prüfen). [..] Tut's auch nicht. Hat sich aber mittlerweile erledigt. Trotzdem Danke an alle für Eure Mühe.
Und wenn du 'beep' verwendest? Aus perl z.B.: ==== UNGETESTET ==== system('beep', '-r', '3', '-l', '300'); if( $? == -1 ) { die "Cannot execute \"beep\": $!\n"; } elsif ( $? & 127 ) { die "beep died with signal " . ( $? & 127 ) . "\n"; } ==== -dnh -- $max = [$a => $b] -> [ $a <= $b ]; ## Simon Cozens -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Donnerstag 23 August 2007 01:48 schrieb David Haller:
Und wenn du 'beep' verwendest? Aus perl z.B.:
"beep" gibt's bei mir nicht (CentOS 4.4 -> ich weiß, ist 'ne Suse-Liste). Timothy -- Intuition ist das Fehlen von Information -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Don, 23 Aug 2007, Timothy Kesten schrieb:
Am Donnerstag 23 August 2007 01:48 schrieb David Haller:
Und wenn du 'beep' verwendest? Aus perl z.B.:
"beep" gibt's bei mir nicht (CentOS 4.4 -> ich weiß, ist 'ne Suse-Liste).
Ja und? http://johnath.com/beep/ rpmbuild --rebuild http://johnath.com/beep/beep-1.2.2-1.src.rpm Noch Fragen? -dnh -- Jack O'Neill: What do you want? Apophis: To live. Jack O'Neill: I can't help you there. That's between you and your god. Oh, wait a minute. You are your god. That's a problem. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Freitag 24 August 2007 06:32 schrieb David Haller:
"beep" gibt's bei mir nicht (CentOS 4.4 -> ich weiß, ist 'ne Suse-Liste).
Ja und?
rpmbuild --rebuild http://johnath.com/beep/beep-1.2.2-1.src.rpm
Noch Fragen?
Natürlich nicht. Aber wie ich schon schrieb, es hat sich (eigentlich) schon erledigt. Aber vielleicht werde ich am Wochenende "die Mühe" auf mich nehmen, und es trotzdem noch einmal probieren. Denn es könnte ja sein, dass ich dieses "Feature" doch noch irgend wann einmal benötige. Danke - und ein schönes Wochenende Timothy -- Intuition ist das Fehlen von Information -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (6)
-
Andre Heine
-
Benedikt Schackenberg
-
David Haller
-
gooly@gmx.at
-
Heinz W. Pahlke
-
Timothy Kesten