perl -ne 'eof and $. = 0 or /^Text/ && ($_.= <>) =~ /^Line/m && print "$ARGV: $.\n"'./*
Esto imprimirá el nombre del archivo junto con el número de línea donde ocurrió la coincidencia.
Además, el contador de línea ($. )se restablece al llegar a eof de cada archivo.
На всякий случай, если кому-то еще понадобится ответ ;)
Если пользователь использует systemd (по умолчанию во многих дистрибутивах ), службу можно отключить с помощью
systemctl disable bluetooth.service
для деактивации bluetooth при запуске выполните
sudo systemctl disable bluetooth.service
затем при следующей перезагрузке Bluetooth не будет активен... для просмотра проблемы со статусом
sudo systemctl status bluetooth.service
для активации bluetooth при запуске введите
sudo systemctl enable bluetooth.service
Предлагаемое решение полностью отключает Bluetooth до (повторного )запуска службы. Поскольку этот ответ часто встречается в результатах поиска, я размещаю альтернативу для другого случая :
.Если вы хотите временно отключить BT только при запуске, ваша проблема, вероятно, заключается в том, что апплет blueman -включает Bluetooth при запуске из-за относительно скрытой настройки. Если это ваша проблема, просто запустите (изhttps://askubuntu.com/a/923539/244648):
gsettings set org.blueman.plugins.powermanager auto-power-on false
или зайдите в настройки плагинов applet/PowerManager/Configuration
и отметьте галочкой Auto power-on
.
Отредактируйте файл конфигурации Bluetooth и установите для параметра AutoEnable значение false, чтобы отключить Bluetooth при загрузке.
sudo gedit /etc/bluetooth/main.conf
В конце файла
AutoEnable=false
Еще пара решений!
rfkill
был объединен с ядром Linux в версии 2.6 и представляет собой простой способ управления беспроводными устройствами.
Например, просмотр беспроводных устройств вызовом rfkill
без аргументов:
cat@rt~ $ rfkill
ID TYPE DEVICE SOFT HARD
0 wlan phy0 unblocked unblocked
1 bluetooth hci0 blocked unblocked
Затем (с помощью sudo/root )заблокируйте устройстваrfkill block $TYPE
:
cat@rt~ $ sudo rfkill block bluetooth
cat@rt~ $ sudo rfkill block wlan
Теперь снова проверьте их новый статус с помощью rfkill
:
cat@rt~ $ rfkill
ID TYPE DEVICE SOFT HARD
0 wlan phy0 blocked unblocked
1 bluetooth hci0 blocked unblocked
Обратите внимание, что устройства, которые я отключил, перечислены blocked
в списке SOFT
, но не HARD
. Это означает, что мы отключили устройство с помощью программного обеспечения (и можем повторно -включить устройство с помощью программного обеспечения ).
Заблокированное устройство HARD
означает, что беспроводное устройство было заблокировано аппаратно. Это может быть аппаратный аварийный выключатель (, некоторые ноутбуки имеют переключатель для отключения беспроводной связи ), или устройство может быть отключено в BIOS или, возможно, не имеет драйвера для программного обеспечения для взаимодействия с ним (. Дважды -проверьте меня насчет последнего, хотя ).
Вместо этого вы можете указать ядру вообще не загружать драйвер для этих беспроводных устройств. Это означает, что ваша ОС и ядро не будут знать, как взаимодействовать с этими устройствами, и они останутся обесточенными.
Сначала проверьте, какие модули ядра загружены в данный моментlsmod
:
cat@rt~ $ sudo lsmod
Module Size Used by
btusb 57344 0
btrtl 20480 1 btusb
btbcm 16384 1 btusb
btintel 28672 1 btusb
bluetooth 577536 5 btrtl,btintel,btbcm,btusb
ecdh_generic 16384 1 bluetooth
ecc 32768 1 ecdh_generic
[...]
Это как раз то, что загрузила моя машина.Ваш может выглядеть иначе или даже использовать другие драйверы.
Мы видим, что на моей машине запущено несколько драйверов bluetooth. btusb
, btrtl
, btbcm
, btintel
и bluetooth
.
btusb
— это универсальный драйвер, на который опираются все остальные модули. Должно быть достаточно просто выгрузить btusb
, но, поскольку я знаю, что другие тоже не будут использоваться, я предпочитаю тщательно следить за тем, чтобы ни один из этих драйверов не загружался.
Мы сделаем это с помощью modprobe
, указав его файлу конфигурации игнорировать эти модули ядра с помощью команды blacklist
. Это будет в /etc/modprobe.conf
[^1].
Если этот файл для вас не существует, не волнуйтесь, вы можете просто создать файл и отредактировать его. Если он уже существует, просто добавьте эти строки внизу.
cat@rt~ $ sudo vim /etc/modprobe.conf
# In the editor vim, I added these lines to the bottom of the file:
blacklist btusb
blacklist btrtl
blacklist btbcm
blacklist btintel
blacklist bluetooth
Это не вступит в силу до следующей перезагрузки. При запуске modprobe
будет использовать этот файл, чтобы узнать больше о том, какие модули ядра загружать, и когда он увидит команды blacklist
в этом файле, он будет знать, что модули с такими именами следует игнорировать.
Сноски
[^1] :Вы можете определить это либо в /etc/modprobe.conf
, либо, если хотите, вы можете использовать каталог /etc/modprobe.d/
и поместить в него ряд файлов, оканчивающихся на .conf
, все из которых будет прочитан и использован.
В debian/kali проверьте следующее:
в /etc/default/bluetoothBLUETOOTH_ENABLED=0
в /etc/bluetooth/main.confAutoEnable=false
и если у вас есть blueman -апплет , проверьте его настройки PowerManager плагина