Удаленно заставьте компьютер подать звуковой сигнал на встроенном динамике

Как может, я удаленно (SSH) делаю свой Компьютерный Звуковой сигнал Linux (встроенный динамик, поскольку нет никаких внешних)? Я имею человечность 9.04 и могу установить дополнительные пакеты в случае необходимости. Это было бы хорошо для нахождения определенного поля, если Вы имеете больше чем одно положение вокруг и забыли, который IP который поле.

28
задан 18.07.2014, 13:45

7 ответов

Попытка:

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

Вам, вероятно, придется загрузить модуль ядра для встроенного динамика сначала (например, если модуль был помещен в черный список от автозагрузки):

sudo modprobe pcspkr
23
ответ дан 07.12.2019, 09:23

Из страницы справочника звукового сигнала на моей машине Ubuntu:

ДУРАЦКОСТЬ IOCTL

Некоторые пользователи встретятся с ситуацией, где звуковой сигнал умирает с жалобой от ioctl (). Причина этого, поскольку Peter Tirsek был достаточно хорош указать мне, основам от того, как ядро обрабатывает попытку звукового сигнала ввести по абсолютному адресу в (для непрограммистов: ioctl является своего рода всеобъемлющей функцией, которая позволяет Вам ввести по абсолютному адресу в вещах, которые не имеют никакого другого предопределенного ввода по абсолютному адресу - в механизме), tty, который является, как это подает звуковой сигнал. Рассказ, ядро проверяет что также:

  • Вы - суперпользователь

  • Вы владеете текущим tty

То, что это означает, - то, что корень может всегда заставлять звуковой сигнал работать (насколько я знаю!), и что любой локальный пользователь может заставить звуковой сигнал работать, НО некорневой удаленный пользователь не может использовать звуковой сигнал в, он - естественное состояние.

Это могло быть причиной, почему звуковой сигнал отказывается работать удаленно. Можно проверить - ли это первопричина путем вызова ssh с-t опцией, которая вызывает pseudo-tty выделение.

Менее желательное решение состояло бы в том, чтобы создать сценарий обертки, который выполняет звуковой сигнал, и дайте этому корню сценария разрешения. Если выполнение этого сценария по ssh должным образом производит звуковой сигнал, Вы будете знать, что проблемой является отсутствие терминала управления.

6
ответ дан 07.12.2019, 09:23

Просто введите

ssh user@remote-machine
beep

Протестированный на Рабочем столе Ubuntu 8.x, это подаст звуковой сигнал на удаленном сервере, даже если никакая локальная сессия на том сервере не будет активна (таким образом: даже если экран входа в систему GNOME показывают на мониторе, подключенном к серверу).

Взгляните на

man beep

для получения дополнительной информации. На Debian/Ubuntu должен быть установлен пакет звукового сигнала, и динамики не должны быть отключены звук.

3
ответ дан 07.12.2019, 09:23
  • 1
    Интересно, почему Вы записали, что "динамики не должны быть отключены звук". Поле My Ubuntu Desktop не имеет никаких аудиодрайверов, установленных, и действительно оба beep и echo опции все использование мой встроенный динамик. Хотя man beep ясно состояния "подают звуковой сигнал динамик компьютера любое количество путей", я не проверил то, что происходит, если Вам установили аудиодрайверы. – Arjan 28.09.2009, 01:36
  • 2
    По крайней мере, на моем ПК я могу отключить звук динамиков с регулятором громкости гнома. И так как я не могу выдержать подачу звукового сигнала, я обычно делаю. – Kim 28.09.2009, 06:15

Можно использовать:

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


Обратите внимание, что следующее не работало бы. Это перестало работать перед ровным запросом sudo пароль, потому что (bash) оболочка делает перенаправление, и та оболочка все еще работает как обычный пользователь, не как 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
3
ответ дан 07.12.2019, 09:23

Выполните удаленную команду к удаленной машине:

имя хоста rsh/usr/bin/echo '\a'
или
ssh user@remotehost/usr/bin/echo '\a'

0
ответ дан 07.12.2019, 09:23
  • 1
    Разве нельзя было бы быть нужно перенаправление к некоторому удаленному терминалу как предложенный Thomas, чтобы заставить удаленный сервер подавать звуковой сигнал, а не локальный клиент SSH? – Arjan 27.09.2009, 23:19
  • 2
    Можно также сделать: повторите "\a"> 'tty'. – harrymc 28.09.2009, 09:18

Или, Вы могли просто выполнить следующее однажды:

chmod o+x `which beep`

Это позволит всем пользователям использовать исполняемый файл звукового сигнала, который, вероятно, достаточно безопасен в большинстве случаев.

0
ответ дан 07.12.2019, 09:23

во-первых:

modprobe pcspkr

затем решения от темы, как

ssh user@host
beep
14
ответ дан 07.12.2019, 09:23

Теги

Похожие вопросы