Linux laten 'beepen' voor of na printen

Pagina: 1
Acties:

  • rdebruyn
  • Registratie: Oktober 2002
  • Laatst online: 09-05 12:38
Hallo!

Ik heb een linux bak met SME Server erop, en via Samba wordt een printer gedeeld met de computers in ons thuisnetwerkje. Ik zou graag willen dat de linux bak een beep laat horen op het moment dat hij een printopdracht ontvangen heeft van één van de computers, dus net voordat hij daadwerkelijk begint met printen.
Ik heb het proggie waarmee je beeps kan laten horen vanaf de command line ("beep") geinstalleerd en dat werkt perfect, maar heb geen idee waar ik dat commando nu precies kan/mag/moet plaatsen om voor elkaar te krijgen wat ik wil, en of dit eigenlijk uberhaupt wel mogelijk is?!

  • odysseus
  • Registratie: Augustus 2000
  • Laatst online: 16:33

odysseus

Debian GNU/Linux Sid

Weet je welk commando er wordt uitgevoerd door samba om te zorgen dat er een print komt? Iets als 'lpr -abc bestand.ext' of zo...vervolgens kun je dan het commando 'lpr' (of iets anders in jouw situatie) verplaatsen naar lpr.real en een nieuwe lpr neerzetten waarin je eerst een beep laat horen en vervolgens de aanroep doorstuurt naar lpr.real...dat is heel simpel in elkaar te zetten in bash.

Leven is het meervoud van lef | In order to make an apple pie from scratch, you must first create the universe.


  • rdebruyn
  • Registratie: Oktober 2002
  • Laatst online: 09-05 12:38
Aha, daar heb ik wat aan, maar hoe zet ik dan precies die aanroep in elkaar, ik heb inderdaad in smb.conf iets dergelijks als: 'lpr -... bestand.extensie'
gezien idd. Daar had ik ook al geprobeerd om die beep aan te roepen en dan tegelijk printen maar toen deed ie geen van beiden, maar met het in een apart bestand zetten werkt t misschien wel, maar zou graag willen weten hoe ik dan die aanroep (concreet in code) doe.

  • Kees
  • Registratie: Juni 1999
  • Laatst online: 21:55

Kees

Serveradmin / BOFH / DoC
code:
1
2
3
#!/bin/sh
/bin/beep
/usr/bin/lpr $@


oid. paden kunnen afwijken.

[ Voor 4% gewijzigd door Kees op 15-12-2002 19:05 ]

"Een serveradmin, voluit een serveradministrator, is dan weer een slavenbeheerder oftewel een slavendrijver" - Rataplan


  • oXygeN
  • Registratie: November 1999
  • Laatst online: 15-05 15:15

oXygeN

oftewel oxje...

Niet iedere linux distro heeft standaard beep erbij.

*edit* oh hij had et al :P

[ Voor 36% gewijzigd door oXygeN op 15-12-2002 19:16 ]

\o/


  • rdebruyn
  • Registratie: Oktober 2002
  • Laatst online: 09-05 12:38
Heel vaag probleem, heb dit allemaal geprobeerd, en als ik vanaf de 'command line' intyp print.real, dus het commando aanroep zeg maar, laat ie de beep horen maar hij lijkt te blijven hangen. Als ik via een client pc ga printen, gaat ie juist gelijk printen zonder de beep te laten horen. Het loopt dan wel via de file print.real, maar het lijkt net ofdat ie de beep overslaat en direct gaat printen...

  • XTerm
  • Registratie: Juli 2001
  • Laatst online: 10-06-2025
Het moet dan ook omgedraaid :)

/usr/bin/lpr moet het script zijn, en lpr.real de binary die daarvoor lpr heette.

  • schijndel
  • Registratie: Juni 1999
  • Laatst online: 15-05 18:45
Is het niet veel makkelijker om het print commando dat samba uitvoert te veranderen in:
'lpr -abc bestand.ext && beep'

dan hou je namelijk het gewone lpr commando in stand, waardoor andere programma's ook gewoon blijven werken.

  • Squee
  • Registratie: November 2000
  • Laatst online: 07-06-2025
Grimreaper schreef op 16 December 2002 @ 14:11:
Is het niet veel makkelijker om het print commando dat samba uitvoert te veranderen in:
'lpr -abc bestand.ext && beep'

dan hou je namelijk het gewone lpr commando in stand, waardoor andere programma's ook gewoon blijven werken.
Of gewoon een wrapper scriptje aanmaken dat beept en lpr aanroept, en dat gewoon in je smb.conf plaatsen, dat lijkt mij wel de meest logische manier... ipv je systeem te gaan verprutsen door de echte lpr te gaan vervangen enzo, dat lijkt me echt een heel erg slecht idee. :)

Please do not contact me telepathically.


  • rdebruyn
  • Registratie: Oktober 2002
  • Laatst online: 09-05 12:38
Ja klinkt allemaal heel aannemelijk, maar heb dit nu in mijn smb.conf staan
onder global, eigenlijk nog zoals t stond:
"print command = /usr/bin/lpr -b -h -r -P%p %s"
En in de /usr/bin/ directory heb ik de binary lpr gerenamed naar lpr.real,
en in /usr/bin/lpr staat nu:
"#!/bin/sh
/usr/bin/beep
/usr/bin/lpr.real $@
"
Het printen lukt me nu nog steeds gewoon prima, maar de beep krijg ik niet te horen..
Wat doe ik fout?!?!
En met een wrapper script leuk idee, maar vraag me af wat ik me daarbij voor moet stellen qua code, heb al wat zitten zoeken via google maar iets concreets kon ik iet zo 1 2 3 vinden..
Ik heb Mitel SMEserver als linuxversie draaien, en als ik vanaf de command line gewoon /usr/bin/beep intyp hoor ik duidelijk de beep!!

Verwijderd

je kan beep ook op deze manier doen...(als je goede speakers heb ik dat beter te horen)
"cat blaat.au > /dev/dsp" oid...

  • odysseus
  • Registratie: Augustus 2000
  • Laatst online: 16:33

odysseus

Debian GNU/Linux Sid

Als je in plaats van dat beep-commando iets anders neerzet, werkt het dan wel? Ik denk aan iets als 'echo TEST >> /test', waarbij je wel moet zorgen dat /test writable is voor de apache-gebruiker (even een chmod 666 overheen halen).

Leven is het meervoud van lef | In order to make an apple pie from scratch, you must first create the universe.


Verwijderd

uhm, ik denk dat het probleem is dat je niet vanaf die machine zelf het commando runt.
als je via telnet inlogt en beep oproept gaat je server machine toch ook niet piepen (bij mij niet, althans) je moet de beep dus doorsturen naar je server zelf, naar een tty inplaats van de ttyp waar het nu vandaan komt.

nou ben ik helemaal geen linux freak en kan het helemaal fout hebben maar probeer het eens met echo usr/bin/beep > /dev/tty (of iets in die richting)

... just my 2 cents...

  • Squee
  • Registratie: November 2000
  • Laatst online: 07-06-2025
Je kan ook eens kijken naar de PC Speaker driver voor Linux :)

http://www.geocities.com/stssppnn/pcsp.html

Die beep zal namelijk waarschijnlijk alleen maar werken als het zenden van een Bell character naar een Terminal, dus dan hoor je inderdaad niets. Als je wel virtual consoles draaid kan je de output naar /dev/console (de actieve virtual console) sturen, maar met die PC Speaker driver zou je opzich via OSS vanalles door je speaker kunnen afspelen.
Ik heb hem zelf nog nooit geprobeerd alhoewel ik dat al tijden van plan ben... :9

[Edit: nog even een berg text toegevoegd]

[ Voor 69% gewijzigd door Squee op 17-12-2002 13:19 ]

Please do not contact me telepathically.


  • rdebruyn
  • Registratie: Oktober 2002
  • Laatst online: 09-05 12:38
Heb de scripts nog n keer opnieuw voorzien van hun inhoud, en het werkt nu perfect! Ik zal straks nog ff een keer posten met hoe te handelen, zodat andere geinteresseerden ermee aan de slag kunnen. Bedankt voor alle replies alvast! :)

[ Voor 86% gewijzigd door rdebruyn op 17-12-2002 18:26 . Reden: Het werkt nu wel! ]


  • rdebruyn
  • Registratie: Oktober 2002
  • Laatst online: 09-05 12:38
Het werkt, nu verder met andere momenten waarop de server geluid mag maken en de melodieen ;)

Hoe te handelen:

1) Verander in /etc/smb.conf
de regel
"print command = /usr/bin/lpr %s"
of voeg deze toe.

2) Geef /usr/bin/lpr een andere naam, in mijn geval lpr.real

3) Maak een nieuw bestand /usr/bin/lpr aan, met inhoud:
"
#!/bin/sh
/usr/bin/beep
/usr/bin/lpr.real -b -h -r -P <naam> $@
"

Waar <naam> staat voor de naam van de printer, eventueel aangevuld met de host pc waar ie aan hangt.

Voor mij werkt dit perfect, misschien nog iets veranderen aan het script om e.e.a. te laten werken op andere linux (-based) systemen.
Pagina: 1