Émettre à distance un bip sur l'ordinateur du haut-parleur intégré

27

Comment puis-je activer à distance (SSH) mon ordinateur Linux Beep (haut-parleur intégré, car il n'y a pas de haut-parleurs externes)? J'ai Ubuntu 9.04 et peux installer des paquets supplémentaires si besoin est. Cela serait utile pour trouver une certaine boîte si vous en avez plus d'une et que vous oubliez quelle adresse IP correspond à quelle boîte.

wsd
la source
10
J'espère que votre question n'est pas vraiment cette caricature au travail: xkcd.com/530
Telemachus
1
@CiroSantilli 改造 中心 六四 事件 法轮功 cette question est plus ancienne que celles-là.
wsd
@wsd Je n'impliquais pas le doublon et le consensus actuel est de clore par "qualité": meta.stackexchange.com/questions/147643/… Étant donné que la "qualité" n'est pas mesurable, je ne fais que procéder à des upvotes. ;-) Il est probable que la question concerne les meilleurs mots-clés novices Google sur le titre.
Ciro Santilli 新疆改造中心 六四事件 法轮功
@CiroSantilli 中心 事件 法轮功 merci pour la clarification :)
wsd

Réponses:

21

Essayer:

sudo sh -c "echo -e '\a' > /dev/console"

Vous devrez peut-être charger le module du noyau pour le haut-parleur intégré en premier (par exemple, si le module a été mis sur la liste noire à partir du chargement automatique):

sudo modprobe pcspkr
John T
la source
Cela a fonctionné alors que la commande bip ne fonctionnait pas. Je viens de configurer cela pour qu'il fonctionne sur une machine de collègues. pour je dans seq 1 10000; faire écho -e '\ a' & gt; / dev / console; dormir 1; terminé
Nick Stinemates
N'a pas fait de bruit.
Nick Stinemates
Cela fonctionne bien sur CentOS / RHEL, je n’ai trouvé aucun paquet bip.
plasmid87
@ NickStinemates Assurez-vous d'avoir un haut-parleur PC sur votre carte mère
dykeag
C'est la solution la plus simple! Aussi, désolé de n'accepter que 9 ans de retard.
wsd
14

premier:

modprobe pcspkr

puis des solutions de sujet, comme

ssh user@host
beep
maizy
la source
(En ce qui concerne la modprobe: voir comment faire fonctionner le bip? pour quelques détails.)
Arjan
j'avais besoin de sudo modprobe pcskr
IanVaughan
6

Du bip page de manuel sur ma machine Ubuntu:

WACKINESS IOCTL

Certains utilisateurs vont rencontrer un   situation où le bip meurt avec un   plainte de ioctl (). La raison   pour cela, comme Peter Tirsek était gentil   assez pour me faire remarquer,   provient de la façon dont le noyau gère   la tentative de bip de piquer (pour   non-programmeurs: ioctl est une sorte de   fonction fourre-tout qui vous permet   fouiller des choses qui n'ont pas d'autre   mécanisme de piquer prédéfini) la   tty, c’est comme ça que ça sonne. le   histoire courte est, le noyau   vérifie que soit:

  • vous êtes le superutilisateur

  • vous possédez le tty actuel

Cela signifie que cette racine peut   toujours faire fonctionner le bip (au mieux de   ma connaissance!), et que tout local   l'utilisateur peut faire fonctionner le bip, MAIS un utilisateur distant non root ne peut pas utiliser le bip   c’est l’état naturel.

Cela pourrait bien être la raison pour laquelle beep refuse de travailler à distance. Vous pouvez vérifier si c'est la cause première en appelant ssh avec le -t option, qui force l'allocation de pseudo-tty.

Une solution moins souhaitable consisterait à créer un script de wrapper qui exécute le bip et accorder à ce script les permissions . Si vous exécutez ce script sur ssh vous entendrez bien que le problème est l’absence de terminal de contrôle

nagul
la source
3

Il suffit de taper

ssh user@remote-machine
beep

Testé sur Ubuntu Desktop 8.x, il émettra un bip sur le serveur distant, même si aucune session locale sur ce serveur n’est active (ainsi: même si l’écran de connexion GNOME apparaît sur le moniteur connecté au serveur).

Jettes un coup d'oeil à

man beep

pour plus de détails. Sur Debian / Ubuntu, le paquet bip doit être installé et les haut-parleurs ne doivent pas être mis en sourdine.

Kim
la source
Je me demande pourquoi tu as écrit "les haut-parleurs ne doivent pas être mis en sourdine" . Mon Ubuntu Bureau aucun pilote de son n’est installé sur la boîte, et les deux beep et le echo toutes les options utilisent mon haut-parleur intégré. Bien que man beep indique clairement "bip le haut-parleur de l'ordinateur de nombreuses façons" , Je n'ai pas vérifié ce qui se passe si des pilotes de son sont installés.
Arjan
Au moins sur mon ordinateur, je peux couper les haut-parleurs avec gnome-volume-control. Et comme je ne supporte pas le bip, je le fais habituellement.
Kim
Donc alors beep n'utilise pas le haut-parleur intégré de votre système? Ou bien le contrôle du volume (qui est désactivé sur ma machine Ubuntu) contrôle-t-il également le haut-parleur intégré? Peut-être amusant de voir si le echo les solutions se comportent différemment.
Arjan
gnome-volume-control peut être utilisé pour contrôler séparément le haut-parleur intégré. Qu'entendez-vous par handicapé? Que se passe-t-il lorsque vous exécutez gnome-volume-control à partir d'une ligne de commande?
Kim
Désolé, juste effacé cette installation 10.8. Désactivé en tant que: aucun pilote de son n’est installé, et donc un signe stop en haut de l’icône son du menu GNOME.
Arjan
3

Vous pouvez utiliser:

ssh user@remote-machine
sudo sh -c "echo -e '\a' > /dev/tty1"


Notez que ce qui suit ne fonctionnerait pas. Il échoue avant même de demander la sudo mot de passe parce que le ( bash ) shell effectue la redirection, et ce shell fonctionne toujours en tant qu'utilisateur normal et non root:

ssh user@remote-machine
sudo echo -e '\a' > /dev/tty1
-bash: /dev/tty1: Permission denied
ls -la /dev/tty1
crw------- 1 root root 4, 1 2009-09-28 16:33 /dev/tty1
Thomas
la source
2
(Pendant ce temps, la commande a été corrigée; @wsd pourriez-vous supprimer votre commentaire? Merci.)
Arjan
3

Cette commande fera l'affaire:

modprobe pcspkr; echo -e "\a" > /dev/console;
Sayajin
la source
0

Exécutez une commande à distance sur la machine distante:

Nom d'hôte rsh / usr / bin / echo '\ a'
ou
ssh   user @ remotehost / usr / bin / echo '\ a'

harrymc
la source
N’aurait-on pas besoin de la redirection vers un terminal distant tel que suggéré par Thomas pour que le serveur distant émette un bip, plutôt que le client SSH local?
Arjan
On peut aussi faire: echo "\ a" & gt; 'tty'.
harrymc
echo -e "\a" > /dev/tty émettrait sûrement un bip sur le client SSH, pas sur le haut-parleur intégré du serveur :-) tty0, tty1 et console semblent fonctionner, comme indiqué dans d'autres réponses.
Arjan
0

Ou, vous pouvez simplement exécuter la fois suivante:

chmod o+x `which beep`

Cela permettra à tous les utilisateurs d’utiliser l’exécutable bip, ce qui est probablement suffisamment sûr dans la plupart des cas.

Arjan
la source