Der Computer piept aus der Ferne über den eingebauten Lautsprecher

28

Wie kann ich aus der Ferne (SSH) meinen Linux-Computer piepen lassen (eingebauter Lautsprecher, da es keine externen gibt)? Ich habe Ubuntu 9.04 und kann bei Bedarf zusätzliche Pakete installieren. Dies ist hilfreich, um eine bestimmte Box zu finden, wenn Sie mehr als eine Box haben und vergessen haben, welche IP-Adresse zu welcher Box gehört.

wsd
quelle
11
Ich hoffe, Ihre Frage ist nicht wirklich diese Karikatur bei der Arbeit: xkcd.com/530
Telemachus
1
@CiroSantilli Diese Frage ist älter als alle anderen.
Mittwoch,
@wsd Ich habe kein Duplikat impliziert und der aktuelle Konsens ist "Qualität" zu schließen: meta.stackexchange.com/questions/147643/… Da "Qualität" nicht messbar ist, gehe ich nur nach Upvotes. ;-) Es kommt wohl darauf an, welche Frage die besten Newbie-Google-Keywords auf dem Titel getroffen hat.
Ciro Santilli
@CiroSantilli 新疆 新疆 改造 六四 六四 法轮功 Danke für die Klarstellung :)
wsd

Antworten:

23

Versuchen:

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

Möglicherweise müssen Sie zuerst das Kernelmodul für den eingebauten Lautsprecher laden (z. B. wenn das Modul vom automatischen Laden ausgeschlossen wurde):

sudo modprobe pcspkr
John T
quelle
Dies funktionierte, während der Signaltonbefehl dies nicht tat. Ich habe dies so eingestellt, dass es auf einem Kollegencomputer ausgeführt wird. denn ich in seq 1 10000; echo -e '\ a'> / dev / console; schlaf 1; erledigt
Nick Stinemates
Ich habe kein Geräusch gemacht.
Nick Stinemates
Dies funktioniert gut unter CentOS / RHEL, ich konnte keine Signaltonpakete finden.
Plasmid87
@NickStinemates Stellen Sie sicher, dass Sie einen PC-Lautsprecher auf Ihrem Motherboard haben
dykeag
Dies ist die einfachste Lösung! Es tut uns auch leid, dass ich nur 9 Jahre zu spät akzeptiere.
Mittwoch,
14

zuerst:

modprobe pcspkr

dann lösungen zum thema, wie

ssh user@host
beep
maizy
quelle
(Wie bei der modprobe: siehe , wie Piepton zum Laufen bringen? Für einige weitere Details.)
Arjan
Ich musstesudo modprobe pcskr
IanVaughan
6

Von der Beep- Manpage auf meinem Ubuntu-Rechner:

IOCTL WACKINESS

Einige Benutzer werden auf eine Situation stoßen, in der ein Piepton mit einer Beschwerde von ioctl () verstummt. Der Grund dafür ist, wie Peter Tirsek mir zu verstehen gab, der, wie der Kernel mit dem Versuch des Pieps umgeht, etwas zu tun (für Nicht-Programmierer: ioctl ist eine Art Catch-All-Funktion, mit der Sie Dinge anfassen können, die Sie anfassen können) habe keinen anderen vordefinierten stossmechanismus) das tty, so piept es. Die Kurzgeschichte ist, der Kernel prüft, ob entweder:

  • Sie sind der Superuser

  • Sie besitzen die aktuelle tty

Dies bedeutet, dass root immer einen Piepton abgeben kann (nach meinem besten Wissen!) Und dass jeder lokale Benutzer einen Piepton abgeben kann, ABER ein nicht root-Remote-Benutzer kann keinen Piepton in seinem natürlichen Zustand verwenden.

Dies könnte der Grund sein, warum sich der Piepton weigert, aus der Ferne zu arbeiten. Sie können überprüfen, ob dies die Hauptursache ist, indem Sie ssh mit -t aufrufen Option , die die Pseudo-tty-Zuweisung erzwingt.

Eine weniger wünschenswerte Lösung wäre, ein Wrapper-Skript zu erstellen, das einen Signalton ausgibt, und diesem Skript Root-Berechtigungen zu erteilen . Wenn das Ausführen dieses Skripts über ssh ordnungsgemäß einen Signalton ausgibt, wissen Sie, dass das Problem das Fehlen eines steuernden Terminals ist.

Nagul
quelle
3

Tipp einfach

ssh user@remote-machine
beep

Getestet auf Ubuntu Desktop 8.x piept dies auf dem Remote-Server, auch wenn keine lokale Sitzung auf diesem Server aktiv ist (also: Auch wenn der GNOME-Anmeldebildschirm auf dem mit dem Server verbundenen Monitor angezeigt wird).

Schau es dir an

man beep

für mehr Details. Unter Debian / Ubuntu muss das Beep-Paket installiert sein und die Lautsprecher dürfen nicht stummgeschaltet sein.

Kim
quelle
Ich frage mich, warum Sie geschrieben haben "die Lautsprecher dürfen nicht stumm geschaltet werden" . Auf meiner Ubuntu Desktop- Box sind keine Soundtreiber installiert, und sowohl beepals auch die echoOptionen verwenden alle meinen eingebauten Lautsprecher. Obwohl man beepeindeutig "Piepsen des PC-Lautsprechers auf verschiedene Arten" angegeben ist , habe ich nicht überprüft, was passiert, wenn Soundtreiber installiert sind.
Arjan
Zumindest auf meinem PC kann ich die Lautsprecher mit der Gnom-Lautstärkeregelung stumm schalten. Und da ich das Piepen nicht ausstehen kann, tue ich es normalerweise.
Kim
Also, dann beepverwendet nicht die eingebauten Lautsprecher auf Ihrem System? Oder steuert der Lautstärkeregler (der auf meiner Ubuntu-Box deaktiviert ist) auch den eingebauten Lautsprecher? Es könnte Spaß machen zu sehen, ob sich die echoLösungen anders verhalten als.
Arjan
gnome-volume-control kann verwendet werden, um den eingebauten Lautsprecher separat zu steuern. Was meinst du mit behindert? Was passiert, wenn Sie gnome-volume-control über eine Befehlszeile ausführen?
Kim
Sorry, habe gerade die 10.8-Installation gelöscht. Deaktiviert wie in: Keine Soundtreiber installiert, daher ein Stoppschild über dem Sound-Symbol im GNOME-Menü.
Arjan
3

Sie können verwenden:

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


Beachten Sie, dass das Folgende nicht funktionieren würde. Es schlägt fehl, bevor Sie nach dem sudoKennwort gefragt werden, da die ( bash) - Shell die Umleitung ausführt und diese Shell weiterhin als normaler Benutzer ausgeführt wird, nicht als root:

ssh user @ remote-machine
sudo echo -e '\ a'> / dev / tty1
-bash: / dev / tty1: Berechtigung verweigert
ls -la / dev / tty1
crw ------- 1 root root 4, 1 2009-09-28 16:33 / dev / tty1
Thomas
quelle
3

Dieser Befehl erledigt den Trick:

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

Führen Sie einen Remote-Befehl auf dem Remote-Computer aus:

rsh-Hostname / usr / bin / echo '\ a'
oder
ssh-Benutzer @ remotehost / usr / bin / echo '\ a'

Harrymc
quelle
Müsste man nicht die Umleitung auf ein entferntes Terminal, wie Thomas vorgeschlagen hat, um den entfernten Server zum Piepen zu bringen, und nicht auf den lokalen SSH-Client?
Arjan
Man kann auch: echo "\ a"> 'tty'.
Harrymc
echo -e "\a" > /dev/ttysicher würde auf dem SSH - Client ein akustisches Signal, nicht auf die eingebauten Lautsprecher auf dem Server :-) tty0, tty1und consolescheinen zu arbeiten, wie in anderen Antworten gezeigt.
Arjan
0

Oder Sie könnten einfach einmal Folgendes ausführen:

chmod o + x `welcher Piepton`

Auf diese Weise können alle Benutzer die ausführbare Beep-Datei verwenden, was in den meisten Fällen wahrscheinlich sicher genug ist.

Arjan
quelle