Если вы хотите протестировать старую версию 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.
Я не мог заставить его работать сразу на 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
Теперь свет горит, если я перезагружаю компьютер, ПРИМЕЧАНИЕ: второе, если бы просто другое.