Как ограничить размер моего syslog?

Как обнаружить отключение

В принципе, для меня это было:

# When plugged in:
cat /proc/asound/card0/codec#0 > pluggedin.txt

# When not plugged in:
cat /proc/asound/card0/codec#0 > notplugged.txt

# Then compare the differences
diff pluggedin.txt notplugged.txt

Для меня разница была в «Node 0x16» в разделе «Amp-Out vals»: [ ! d2]

Node 0x16 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out             Node 0x16 [PinComplex] wcaps 0x40058d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1         Amp-Out caps:ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]                                    |    Amp-Out vals:  [0x00 0x00]

Итак, я основывал обнаружение на найденной разности.

Howto mute

С помощью этих знаний вы можете иметь скрипт, работающий в фоновом режиме. Если отключено, скрипты приглушают ваши колонки, используя amixer sset Master playback 0% (или любую другую команду).

#!/bin/bash
# This scripts detecs unplugging headphones.

oldstatus="unrelated string"
while [ 1 ]; do
    # The following line has to be changed depending on the difference (use diff) in '/proc/asound/card0/code#0'
    status=$(grep -A 4 'Node 0x16' '/proc/asound/card0/codec#0' |  grep 'Amp-Out vals:  \[0x80 0x80\]')
    if [ "$status" != "$oldstatus" ]; then
        if [ -n "$status" ]; then
            echo "Plugged in"
             amixer sset Master playback 80% # Set volume to 80%
            oldstatus="$status"
        else
            echo "Unplugged"
            amixer sset Master playback 0%  # Mute
            oldstatus="$status"
        fi
    fi
done

Вы можете сделать его исполняемым с помощью chmod +x scriptname.sh и поместить в загрузочные приложения. Вам придется настроить обнаружение отключений, хотя, обнаружив свою собственную разницу в /proc/asound/card0/codec#0 (возможно, даже измените номера здесь для нескольких звуковых карт.

Ссылки по теме:

https: // wiki.ubuntu.com/Audio/PreciseJackDetectionTesting

https://wiki.ubuntu.com/Audio/PreciseJackDetectionTesting

Как автоматически изменить уровень громкости, когда не подключайте наушники?

1
задан 8 September 2012 в 21:23

2 ответа

У меня была такая же проблема с Lexmark Pro915 в течение двух недель. Я сделал две вещи, и теперь она работает нормально. Я переустановил драйвер. (Не думаю, что это помогло.) Я достал USB-расширение, которое использовал, и сделал общую длину почти 15 футов и, возможно, не полностью совместимой. Я подозреваю, что драйвер Lexmark для систем Linux может обнаруживать плохой или плохо синхронизированный сигнал и хочет рассказать вам об этом 10 миллиардов раз в день. Попробуйте улучшить свое соединение.

Logrotate и подобные решения мне не помогли. Kern.log и syslog вместе регистрировали более 1 ТБ в день! Logrotate может помочь, если вы сможете настроить его каждые 12 минут.

0
ответ дан 25 May 2018 в 06:47

Вы правы, что demond_nscan - это драйвер сканирования Lexmark.

Я отправил этот же ответ в другом сообщении, сделанным вами по этой же проблеме. (Обычно я не отвечаю на двойные сообщения, но я сделаю это одноразовое исключение в интересах людей, которые приходят с помощью поиска Google.)

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

(Имя пакета для очистки - lexmark-network-scan)

0
ответ дан 25 May 2018 в 06:47

Другие вопросы по тегам:

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