Rating@Mail.ru

Форум по операционной системе GNU/Linux и свободному программному обеспечению


Текущее время: 20 фев 2018, 18:16

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: beep в терминале
Непрочитанное сообщениеДобавлено: 26 янв 2017, 23:15 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10524
Откуда: Харьков
Очень полезная возможность: выдавать какой-то звуковой сигнал при возникновении какой-то ситуации в скрипте/программе ... например, завершение длительной программы в отдельном терминале.

Делаем так:
Код:
[olej@dell denyhosts]$ sudo modprobe pcspkr
[olej@dell denyhosts]$ lsmod | grep pcspkr
pcspkr                 16384  0

Устанавливаем:
Код:
[olej@dell home]$ sudo dnf install beep
[sudo] пароль для olej:
Последняя проверка окончания срока действия метаданных: 1:41:24 назад, Thu Jan 26 20:06:05 2017.
Зависимости разрешены.
======================================================================================================================================
 Package                     Архитектура                   Версия                                Репозиторий                    Размер
======================================================================================================================================
Установка:
 beep                        x86_64                        1.3-16.fc23                           updates                         33 k

Результат операции
======================================================================================================================================
Установка  1 Пакет

Объем загрузки: 33 k
Объем изменений: 46 k
Продолжить? [д/Н]: y
Загрузка пакетов:
beep-1.3-16.fc23.x86_64.rpm                                                                            48 kB/s |  33 kB     00:00   
--------------------------------------------------------------------------------------------------------------------------------------
Общий размер                                                                                           16 kB/s |  33 kB     00:02     
Проверка транзакции
Проверка транзакции успешно завершена.
Идет проверка транзакции
Тест транзакции проведен успешно
Выполнение транзакции
  Установка    : beep-1.3-16.fc23.x86_64                                                                                          1/1
  Проверка     : beep-1.3-16.fc23.x86_64                                                                                          1/1

Установлено:
  beep.x86_64 1.3-16.fc23                                                                                                             

Выполнено!


И наслаждайтесь :lol: :
Код:
[olej@dell denyhosts]$ echo -e "\a"
[olej@dell denyhosts]$ sudo beep -f 1000 -n -f 2000 -n -f 1500

Детали (как beep использовать без root, как частоту указывать нотной записью C, C#, D, ...):
Код:
[olej@dell denyhosts]$ man beep
...

Как легко можете видеть: любая программа (C, Perl, ...) пишущая ESC-последовательность в стандартный поток вывода SYSOUT, генерирует звуковой сигнал.
Код:
нажатие на клавиатуре ^G

или
Код:
printf( "\a" );


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: beep в терминале
Непрочитанное сообщениеДобавлено: 27 янв 2017, 12:00 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10524
Откуда: Харьков
Olej писал(а):
И наслаждайтесь :lol: :

Утверждается (проверьте?) что всё подобное так же замечательно работает в текстовой консоли (Ctrl+Alt+Fn), без всяког DE и вообще без запущенного X-сервера.
Т.е. это всё непосредственно с звуковой системой (ALSA, PulseAudio ...) не связано.

Я проверил только в текстовой консоли (Ctrl+Alt+F3) параллельно с графической консолью (Ctrl+Alt+F1).
Всё работает.
P.S. Что интересно, так это то, что высота тона звука радикально отличается в GUI терминале и в отдельной текстовой консоли ... при выполнении одной и той же команды:
Код:
[olej@dell Phone]$ echo -e "\a"е


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: beep в терминале
Непрочитанное сообщениеДобавлено: 13 фев 2017, 14:26 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10524
Откуда: Харьков
Olej писал(а):
Утверждается (проверьте?) что всё подобное так же замечательно работает в текстовой консоли (Ctrl+Alt+Fn), без всяког DE и вообще без запущенного X-сервера.

Но!
Код:
[olej@dell ~]$ lsmod | grep pcspkr
pcspkr                 16384  0

Теперь проделываем в разных терминалах (установленных в одной системе):
- Терминал GNOME 3.18.3 - ОК
- Терминал среды MATE 1.14.1 - ОК
- xfce4-terminal 0.6.3 ... :-o ... звука нет!, т.е. байт-последовательность каким-то образом экранируется.

Но, опять же ... в xfce4-terminal 0.6.3:
Код:
[olej@dell Maxim]$ sudo beep -f 1000 -n -f 2000 -n -f 1500
...

Всё замечательно звучит!
(т.е. действительно байт '\a' каким-то образом терминалом экранируется)


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: beep в терминале
Непрочитанное сообщениеДобавлено: 13 фев 2017, 14:37 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10524
Откуда: Харьков
Olej писал(а):
- xfce4-terminal 0.6.3 ... :-o ... звука нет!, т.е. байт-последовательность каким-то образом экранируется.

Вложение:
xf1.png
xf1.png [ 27.66 КБ | Просмотров: 639 ]


Вложение:
xf2.png
xf2.png [ 54.62 КБ | Просмотров: 639 ]


Но!
Код:
[olej@dell Maxim]$ xterm -version
XTerm(318)

Код:
[olej@dell Maxim]$ echo -e '\a'

И всё в Xterm прекрасно звучит! :-o

Это всё может ввести в заблуждение при использовании терминала Xfce. :-o :oops:


Вернуться к началу
 Профиль Отправить личное сообщение  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB
[ Time : 1.297s | 21 Queries | GZIP : On ]