Нет, на самом деле.
Вы можете использовать Truecrypt для создания тома для хранения конфиденциальных файлов (sudo apt-get install easycrypt для приятного внешнего интерфейса), но в противном случае на самом деле нет способа заблокируйте ваши файлы.
Я предлагаю вам заблокировать или выйти из системы, когда вы покинете свой компьютер.
#!/bin/bash
MAC=$1
MACMOD=$(echo $MAC | sed 's/:/_/g')
PID=$(pgrep pulseaudio)
USER=$(grep -z USER= /proc/$PID/environ | sed 's/.*=//')
export DISPLAY=:0
export XAUTHORITY=/home/$USER/.Xauthority
if pactl list sinks short | grep "bluez_sink\.$MACMOD.*SUSPENDED"
then
sudo -u $USER /usr/local/bin/a2dp_2.py $MAC
fi
Добавить следующую строку в /etc/udev/rules.d/80-bt-headset.rules: ACTION=="add", SUBSYSTEM=="input" ATTR{name}=="00:22:37:3D:DA:50" RUN+="/usr/local/bin/a2dp-wrapper.sh $attr{name}"
Этот скрипт-оболочка выполняет следующее:
Изменить a2dp.py заменив все экземпляры pacmd на pactl, отрегулировав pacmd list-sinks на pactl list sinks (в моем случае сохранен как /usr/local/bin/a2dp_2.sh).Измените a2dp.py, заменив все экземпляры pacmd с pactl с настройкой pacmd list-sinks на pactl list sinks (в моем случае сохранено как /usr/local/bin/a2dp_2.sh).
Создайте сценарий оболочки /usr/local/bin/a2dp-wrapper.sh#!/bin/bash
MAC=$1
MACMOD=$(echo $MAC | sed 's/:/_/g')
PID=$(pgrep pulseaudio)
USER=$(grep -z USER= /proc/$PID/environ | sed 's/.*=//')
export DISPLAY=:0
export XAUTHORITY=/home/$USER/.Xauthority
if pactl list sinks short | grep "bluez_sink\.$MACMOD.*SUSPENDED"
then
sudo -u $USER /usr/local/bin/a2dp_2.py $MAC
fi
[d16 ] Альтернативы: dbus loop / fixed package Измените a2dp.py, заменив все экземпляры pacmd на pactl, отрегулировав pacmd list-sinks на pactl list sinks (в моем случае сохранено как /usr/local/bin/a2dp_2.sh).
Создайте сценарий оболочки /usr/local/bin/a2dp-wrapper.sh
проверяет, приостановлен ли соответствующий приемник, и только затем запускает a2dp_2.py. Это необходимо для предотвращения бесконечного цикла, вызванного a2dp_2.py повторным подключением устройства и тем самым инициирования правила.
Создайте сценарий оболочки /usr/local/bin/a2dp-wrapper.sh
Подключите полученный путь к udevadm info:USER@MACHINE:~$ udevadm info -a -p /devices/virtual/input/input68
Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.
looking at device '/devices/virtual/input/input68':
KERNEL=="input68"
SUBSYSTEM=="input"
DRIVER==""
ATTR{name}=="00:22:37:3D:DA:50"
ATTR{phys}==""
ATTR{properties}=="0"
ATTR{uniq}==""
Мы узнаем, что MAC-адрес 00:22:37:3D:DA:50 а также что он хранится как ATTR{name}. Исправление исходной ошибки теперь доступно здесь, и ее можно легко установить, добавив ppa:ubuntu-audio-dev/pulse-testing и обновив доступные пакеты.
Не является неотъемлемой частью исходной проблемы, но это может быть полезно для использования в будущем. Существует множество способов найти MAC-адрес вашего устройства. Ниже приведено то, что я считаю наиболее полезным для правил udev:
ACTION=="add", SUBSYSTEM=="input" ATTR{name}=="??:??:??:??:??:??" RUN+="/usr/local/bin/a2dp-wrapper.sh $attr{name}"
Даже если вывод выглядит совершенно по-другому, эти две команды станут хорошим началом для поиска соответствующих условий для правила udev.
Правило:
Подключите полученный путь к udevadm info:USER@MACHINE:~$ udevadm info -a -p /devices/virtual/input/input68
Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.
looking at device '/devices/virtual/input/input68':
KERNEL=="input68"
SUBSYSTEM=="input"
DRIVER==""
ATTR{name}=="00:22:37:3D:DA:50"
ATTR{phys}==""
ATTR{properties}=="0"
ATTR{uniq}==""
Мы узнаем, что MAC-адрес 00:22:37:3D:DA:50, а также что он хранится как [ f28]. Подключить полученный путь к udevadm info:
Добавить следующую строку в /etc/udev/rules.d/80-bt-headset.rules:ACTION=="add", SUBSYSTEM=="input" ATTR{name}=="00:22:37:3D:DA:50" RUN+="/usr/local/bin/a2dp-wrapper.sh $attr{name}"
триггер для любого устройства ввода, у которого есть атрибут имени, который выглядит как MAC-адрес, а условное выражение в сценарии-оболочке должно быть сделано без каких-либо непредвиденных действий.
#!/bin/bash
MAC=$1
MACMOD=$(echo $MAC | sed 's/:/_/g')
PID=$(pgrep pulseaudio)
USER=$(grep -z USER= /proc/$PID/environ | sed 's/.*=//')
export DISPLAY=:0
export XAUTHORITY=/home/$USER/.Xauthority
if pactl list sinks short | grep "bluez_sink\.$MACMOD.*SUSPENDED"
then
sudo -u $USER /usr/local/bin/a2dp_2.py $MAC
fi
Добавить следующую строку в /etc/udev/rules.d/80-bt-headset.rules: ACTION=="add", SUBSYSTEM=="input" ATTR{name}=="00:22:37:3D:DA:50" RUN+="/usr/local/bin/a2dp-wrapper.sh $attr{name}"
Этот скрипт-оболочка выполняет следующее:
Изменить a2dp.py заменив все экземпляры pacmd на pactl, отрегулировав pacmd list-sinks на pactl list sinks (в моем случае сохранен как /usr/local/bin/a2dp_2.sh).Измените a2dp.py, заменив все экземпляры pacmd с pactl с настройкой pacmd list-sinks на pactl list sinks (в моем случае сохранено как /usr/local/bin/a2dp_2.sh).
Создайте сценарий оболочки /usr/local/bin/a2dp-wrapper.sh#!/bin/bash
MAC=$1
MACMOD=$(echo $MAC | sed 's/:/_/g')
PID=$(pgrep pulseaudio)
USER=$(grep -z USER= /proc/$PID/environ | sed 's/.*=//')
export DISPLAY=:0
export XAUTHORITY=/home/$USER/.Xauthority
if pactl list sinks short | grep "bluez_sink\.$MACMOD.*SUSPENDED"
then
sudo -u $USER /usr/local/bin/a2dp_2.py $MAC
fi
Измените a2dp.py, заменив все экземпляры pacmd на pactl, отрегулировав pacmd list-sinks на pactl list sinks (в моем случае сохранено как /usr/local/bin/a2dp_2.sh).
Создайте сценарий оболочки /usr/local/bin/a2dp-wrapper.sh
проверяет, приостановлен ли соответствующий приемник, и только затем запускает a2dp_2.py. Это необходимо для предотвращения бесконечного цикла, вызванного a2dp_2.py повторным подключением устройства и тем самым инициирования правила.
Создайте сценарий оболочки /usr/local/bin/a2dp-wrapper.sh
Подключите полученный путь к udevadm info:USER@MACHINE:~$ udevadm info -a -p /devices/virtual/input/input68
Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.
looking at device '/devices/virtual/input/input68':
KERNEL=="input68"
SUBSYSTEM=="input"
DRIVER==""
ATTR{name}=="00:22:37:3D:DA:50"
ATTR{phys}==""
ATTR{properties}=="0"
ATTR{uniq}==""
Мы узнаем, что MAC-адрес 00:22:37:3D:DA:50 а также что он хранится как ATTR{name}. Исправление исходной ошибки теперь доступно здесь, и ее можно легко установить, добавив ppa:ubuntu-audio-dev/pulse-testing и обновив доступные пакеты.
Не является неотъемлемой частью исходной проблемы, но это может быть полезно для использования в будущем. Существует множество способов найти MAC-адрес вашего устройства. Ниже приведено то, что я считаю наиболее полезным для правил udev:
ACTION=="add", SUBSYSTEM=="input" ATTR{name}=="??:??:??:??:??:??" RUN+="/usr/local/bin/a2dp-wrapper.sh $attr{name}"
Даже если вывод выглядит совершенно по-другому, эти две команды станут хорошим началом для поиска соответствующих условий для правила udev.
Правило:
Подключите полученный путь к udevadm info:USER@MACHINE:~$ udevadm info -a -p /devices/virtual/input/input68
Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.
looking at device '/devices/virtual/input/input68':
KERNEL=="input68"
SUBSYSTEM=="input"
DRIVER==""
ATTR{name}=="00:22:37:3D:DA:50"
ATTR{phys}==""
ATTR{properties}=="0"
ATTR{uniq}==""
Мы узнаем, что MAC-адрес 00:22:37:3D:DA:50, а также что он хранится как ATTR{name}. Подключить полученный путь к udevadm info:
Добавить следующую строку в /etc/udev/rules.d/80-bt-headset.rules:ACTION=="add", SUBSYSTEM=="input" ATTR{name}=="00:22:37:3D:DA:50" RUN+="/usr/local/bin/a2dp-wrapper.sh $attr{name}"
триггер для любого устройства ввода, у которого есть атрибут имени, который выглядит как MAC-адрес, а условное выражение в сценарии-оболочке должно быть сделано без каких-либо непредвиденных действий.
#!/bin/bash
MAC=$1
MACMOD=$(echo $MAC | sed 's/:/_/g')
PID=$(pgrep pulseaudio)
USER=$(grep -z USER= /proc/$PID/environ | sed 's/.*=//')
export DISPLAY=:0
export XAUTHORITY=/home/$USER/.Xauthority
if pactl list sinks short | grep "bluez_sink\.$MACMOD.*SUSPENDED"
then
sudo -u $USER /usr/local/bin/a2dp_2.py $MAC
fi
Добавить следующую строку в /etc/udev/rules.d/80-bt-headset.rules: ACTION=="add", SUBSYSTEM=="input" ATTR{name}=="00:22:37:3D:DA:50" RUN+="/usr/local/bin/a2dp-wrapper.sh $attr{name}"
Этот скрипт-оболочка выполняет следующее:
Изменить a2dp.py заменив все экземпляры pacmd на pactl, отрегулировав pacmd list-sinks на pactl list sinks (в моем случае сохранен как /usr/local/bin/a2dp_2.sh).Измените a2dp.py, заменив все экземпляры pacmd с pactl с настройкой pacmd list-sinks на pactl list sinks (в моем случае сохранено как /usr/local/bin/a2dp_2.sh).
Создайте сценарий оболочки /usr/local/bin/a2dp-wrapper.sh#!/bin/bash
MAC=$1
MACMOD=$(echo $MAC | sed 's/:/_/g')
PID=$(pgrep pulseaudio)
USER=$(grep -z USER= /proc/$PID/environ | sed 's/.*=//')
export DISPLAY=:0
export XAUTHORITY=/home/$USER/.Xauthority
if pactl list sinks short | grep "bluez_sink\.$MACMOD.*SUSPENDED"
then
sudo -u $USER /usr/local/bin/a2dp_2.py $MAC
fi
Измените a2dp.py, заменив все экземпляры pacmd на pactl, отрегулировав pacmd list-sinks на pactl list sinks (в моем случае сохранено как /usr/local/bin/a2dp_2.sh).
Создайте сценарий оболочки /usr/local/bin/a2dp-wrapper.sh
проверяет, приостановлен ли соответствующий приемник, и только затем запускает a2dp_2.py. Это необходимо для предотвращения бесконечного цикла, вызванного a2dp_2.py повторным подключением устройства и тем самым инициирования правила.
Создайте сценарий оболочки /usr/local/bin/a2dp-wrapper.sh
Подключите полученный путь к udevadm info:USER@MACHINE:~$ udevadm info -a -p /devices/virtual/input/input68
Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.
looking at device '/devices/virtual/input/input68':
KERNEL=="input68"
SUBSYSTEM=="input"
DRIVER==""
ATTR{name}=="00:22:37:3D:DA:50"
ATTR{phys}==""
ATTR{properties}=="0"
ATTR{uniq}==""
Мы узнаем, что MAC-адрес 00:22:37:3D:DA:50 а также что он хранится как ATTR{name}. Исправление исходной ошибки теперь доступно здесь, и ее можно легко установить, добавив ppa:ubuntu-audio-dev/pulse-testing и обновив доступные пакеты.
Не является неотъемлемой частью исходной проблемы, но это может быть полезно для использования в будущем. Существует множество способов найти MAC-адрес вашего устройства. Ниже приведено то, что я считаю наиболее полезным для правил udev:
ACTION=="add", SUBSYSTEM=="input" ATTR{name}=="??:??:??:??:??:??" RUN+="/usr/local/bin/a2dp-wrapper.sh $attr{name}"
Даже если вывод выглядит совершенно по-другому, эти две команды станут хорошим началом для поиска соответствующих условий для правила udev.
Правило:
Подключите полученный путь к udevadm info:USER@MACHINE:~$ udevadm info -a -p /devices/virtual/input/input68
Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.
looking at device '/devices/virtual/input/input68':
KERNEL=="input68"
SUBSYSTEM=="input"
DRIVER==""
ATTR{name}=="00:22:37:3D:DA:50"
ATTR{phys}==""
ATTR{properties}=="0"
ATTR{uniq}==""
Мы узнаем, что MAC-адрес 00:22:37:3D:DA:50, а также что он хранится как ATTR{name}. Подключить полученный путь к udevadm info:
Добавить следующую строку в /etc/udev/rules.d/80-bt-headset.rules:ACTION=="add", SUBSYSTEM=="input" ATTR{name}=="00:22:37:3D:DA:50" RUN+="/usr/local/bin/a2dp-wrapper.sh $attr{name}"
триггер для любого устройства ввода, у которого есть атрибут имени, который выглядит как MAC-адрес, а условное выражение в сценарии-оболочке должно быть сделано без каких-либо непредвиденных действий.
#!/bin/bash
MAC=$1
MACMOD=$(echo $MAC | sed 's/:/_/g')
PID=$(pgrep pulseaudio)
USER=$(grep -z USER= /proc/$PID/environ | sed 's/.*=//')
export DISPLAY=:0
export XAUTHORITY=/home/$USER/.Xauthority
if pactl list sinks short | grep "bluez_sink\.$MACMOD.*SUSPENDED"
then
sudo -u $USER /usr/local/bin/a2dp_2.py $MAC
fi
Добавить следующую строку в /etc/udev/rules.d/80-bt-headset.rules: ACTION=="add", SUBSYSTEM=="input" ATTR{name}=="00:22:37:3D:DA:50" RUN+="/usr/local/bin/a2dp-wrapper.sh $attr{name}"
Этот скрипт-оболочка выполняет следующее:
Изменить a2dp.py заменив все экземпляры pacmd на pactl, отрегулировав pacmd list-sinks на pactl list sinks (в моем случае сохранен как /usr/local/bin/a2dp_2.sh).Измените a2dp.py, заменив все экземпляры pacmd с pactl с настройкой pacmd list-sinks на pactl list sinks (в моем случае сохранено как /usr/local/bin/a2dp_2.sh).
Создайте сценарий оболочки /usr/local/bin/a2dp-wrapper.sh#!/bin/bash
MAC=$1
MACMOD=$(echo $MAC | sed 's/:/_/g')
PID=$(pgrep pulseaudio)
USER=$(grep -z USER= /proc/$PID/environ | sed 's/.*=//')
export DISPLAY=:0
export XAUTHORITY=/home/$USER/.Xauthority
if pactl list sinks short | grep "bluez_sink\.$MACMOD.*SUSPENDED"
then
sudo -u $USER /usr/local/bin/a2dp_2.py $MAC
fi
Измените a2dp.py, заменив все экземпляры pacmd на pactl, отрегулировав pacmd list-sinks на pactl list sinks (в моем случае сохранено как /usr/local/bin/a2dp_2.sh).
Создайте сценарий оболочки /usr/local/bin/a2dp-wrapper.sh
проверяет, приостановлен ли соответствующий приемник, и только затем запускает a2dp_2.py. Это необходимо для предотвращения бесконечного цикла, вызванного a2dp_2.py повторным подключением устройства и тем самым инициирования правила.
Создайте сценарий оболочки /usr/local/bin/a2dp-wrapper.sh
Подключите полученный путь к udevadm info:USER@MACHINE:~$ udevadm info -a -p /devices/virtual/input/input68
Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.
looking at device '/devices/virtual/input/input68':
KERNEL=="input68"
SUBSYSTEM=="input"
DRIVER==""
ATTR{name}=="00:22:37:3D:DA:50"
ATTR{phys}==""
ATTR{properties}=="0"
ATTR{uniq}==""
Мы узнаем, что MAC-адрес 00:22:37:3D:DA:50 а также что он хранится как ATTR{name}. Исправление исходной ошибки теперь доступно здесь, и ее можно легко установить, добавив ppa:ubuntu-audio-dev/pulse-testing и обновив доступные пакеты.
Не является неотъемлемой частью исходной проблемы, но это может быть полезно для использования в будущем. Существует множество способов найти MAC-адрес вашего устройства. Ниже приведено то, что я считаю наиболее полезным для правил udev:
ACTION=="add", SUBSYSTEM=="input" ATTR{name}=="??:??:??:??:??:??" RUN+="/usr/local/bin/a2dp-wrapper.sh $attr{name}"
Даже если вывод выглядит совершенно по-другому, эти две команды станут хорошим началом для поиска соответствующих условий для правила udev.
Правило:
Подключите полученный путь к udevadm info:USER@MACHINE:~$ udevadm info -a -p /devices/virtual/input/input68
Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.
looking at device '/devices/virtual/input/input68':
KERNEL=="input68"
SUBSYSTEM=="input"
DRIVER==""
ATTR{name}=="00:22:37:3D:DA:50"
ATTR{phys}==""
ATTR{properties}=="0"
ATTR{uniq}==""
Мы узнаем, что MAC-адрес 00:22:37:3D:DA:50, а также что он хранится как ATTR{name}. Подключить полученный путь к udevadm info:
Добавить следующую строку в /etc/udev/rules.d/80-bt-headset.rules:ACTION=="add", SUBSYSTEM=="input" ATTR{name}=="00:22:37:3D:DA:50" RUN+="/usr/local/bin/a2dp-wrapper.sh $attr{name}"
триггер для любого устройства ввода, у которого есть атрибут имени, который выглядит как MAC-адрес, а условное выражение в сценарии-оболочке должно быть сделано без каких-либо непредвиденных действий.