Включение кнопки Mic Mute и подсветка на ThinkPad Lenovo

Если вы хотите протестировать старую версию Cairo, вы можете создать ее во временном префиксе в своем домашнем каталоге.

Прежде всего, убедитесь, что у вас установлены зависимости сборки Cairo. Вы можете сделать это с помощью следующей команды:

sudo apt-get build-dep cairo

Теперь загрузите и распакуйте старую версию Cairo:

wget http://cairographics.org/releases/cairo-1.8.10.tar.gz
tar xzf cairo-1.8.10.tar.gz
cd cairo-1.8.10

Теперь вы хотите построить Каир во временный префикс. Я использовал ~/prefix для этого несколько раз, но вы можете использовать любой каталог.

./configure --prefix=$HOME/prefix
make
make install

Теперь вам нужно сделать свое собственное программное обеспечение этой версией Каира. Если программное обеспечение использует pkg-config для определения своих зависимостей, необходимо установить только следующую переменную среды:

export PKG_CONFIG_PATH=$HOME/prefix/lib/pkgconfig

Если он не использует pkg-config, вам может потребоваться отрегулировать [ f10] включить -I$HOME/prefix/include и LDFLAGS, чтобы включить -L$HOME/prefix/lib.

Наконец, чтобы запустить вашу программу с использованием пользовательской версии Cairo, вам нужно будет настроить динамический компоновщик, чтобы он смотрел разделяемые библиотеки в вашем временном префиксе:

export LD_LIBRARY_PATH=$HOME/prefix/lib

После того, как это установлено, вы можете проверить, что ваша программа связывается с вашей копией Каира, используя ldd. Если это нормально, вы все закончили.

Очистка

Как только вы закончите эту временную установку, очистка довольно проста. Просто перезагрузите переменные среды и удалите временный установочный префикс:

unset LD_LIBRARY_PATH
unset PKG_CONFIG_PATH
rm -rf $HOME/prefix

После этого вам может понадобиться перенастроить / перестроить вашу программу, чтобы снова использовать систему Cairo.

1
задан 9 May 2014 в 02:46

1 ответ

Я не мог заставить его работать сразу на Ubuntu 12.10 с использованием среды рабочего стола linux.

Исправлено только добавление цитат и удаление запятой (и добавление моего имени пользователя) :

#!/bin/bash
MICMUTE=/sys/devices/platform/thinkpad_acpi/leds/tpacpi::micmute/brightness

ID='"Internal Mic"'
USERNAME="" #put your username here
if amixer sget "$ID"ntenter code herernal Mic" 0 | grep '\[on\]' ; then
    amixer sset "$ID" 0 toggle
    #echo "0 blink" > /proc/acpi/ibm/led #related to blinking power
    echo 1 > $MICMUTE
    su $USERNAME -c 'DISPLAY=":0.0" notify-send -t 50 \
            -i microphone-sensitivity-muted-symbolic "Mic MUTED"'
    echo "MUTE ON"
else
    amixer sset "$ID" 0 toggle                       
    su $USERNAME -c 'DISPLAY=":0.0" notify-send -t 50 \
            -i microphone-sensitivity-high-symbolic "Mic ON"'
    #echo "0 on" > /proc/acpi/ibm/led 
    echo 0 > $MICMUTE
    echo "MUTE OFF"
fi

, а затем выполнил шаги по сборке thinkpad_acpi.

Все на Thinkpad T520 с NVS 4200M, Ubuntu 12.10. Еще не перезагрузился, но я протестировал с помощью тестового шага, который вы описали, и он работает с включением и выключением светодиода отключения звука и фактическим отключением его (с уведомлением). Прыгать пистолетом немного, кажется, работает нормально. Спасибо.

Хорошо перезагрузился, сам скрипт отлично срабатывает и отключается, но я не устанавливал исправленный thinkpad_acpi ... oops

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

Чтобы получить свет, чтобы показать, было ли оно отключено или нет при запуске, а не когда кнопка была нажата, я просто сохранил:

#!/bin/bash
MICMUTE=/sys/devices/platform/thinkpad_acpi/leds/tpacpi::micmute/brightness
if amixer sget "Internal Mic" 0 | grep '\[on\]' ; then
    echo 0 > $MICMUTE
elif amixer sget "Internal Mic" 0 | grep '\[off\]' ; then
    echo 1 > $MICMUTE
else
    echo "No Mic Detected";
fi

выполнить

sudo chmod +x /etc/init.d/lenovo-mic-check

Как lenovo-mic-check в /etc/init.d/, а затем запустить:

sudo update-rc.d lenovo-mic-check defauts 98 02

Также не забудьте скопировать в / etc / pm / sleep.d /

sudo cp /etc/init.d/lenovo-mic-check /etc/pm/sleep.d/lenovo-mic-check

Теперь свет горит, если я перезагружаю компьютер, ПРИМЕЧАНИЕ: второе, если бы просто другое.

0
ответ дан 25 May 2018 в 12:23
  • 1
    @andrey Это может быть глупый quesiton, но вы пробовали загружать, исправлять и компилировать чистую копию thinkpad_acpi.c? – JQuantum 15 April 2013 в 01:45

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

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