Я могу воспроизвести, что проблема была вызвана указанием неправильного типа USB в VirtualBox, что является результатом следующей ошибки :Мой Chromebook имеет два порта USB. Оба были черными, поэтому я предположил, что это USB 2.0. USB-устройство поддерживает 3.0, но его следует понизить до моих портов 2.0.
Чтобы быть уверенным в этом, я запускаю на хосте
lsusb | grep Realtek
Bus 002 Device 004: ID 0bda:8813 Realtek Semiconductor Corp.
, который дал мне идентификатор шины и устройства для поиска спецификации:
sudo lsusb -D /dev/bus/usb/002/004 | grep bcdUSB
bcdUSB 2.10
Это было до первоначальной настройки виртуальной машины, потому что я хочу быть уверенным, что указал правильный тип USB. (Никогда раньше не работал с переадресованными USB-устройствами в VirtualBox ). Так как я трачу несколько часов на то, чтобы заставить драйвер работать, я продолжил через день и сам того не заметив использовал правый порт USB (вместо левого, который я использовал вчера ). Но правый порт, кажется, USB3, хотя он не окрашен синим цветом, потому что сегодня lsusb говорит устройству Realtek :
.
sudo lsusb -D /dev/bus/usb/002/004 | grep bcdUSB
bcdUSB 3.00
Поэтому я изменил тип контроллера USB в VirtualBox с 2.0 (EHCI )на 3.0 (xHCI ), и все заработало с пакетом драйверов realtek-rtl88xxau-dkms
, даже с airmon напрямую:
root@kali:~# airmon-ng start wlan0
PHY Interface Driver Chipset
phy0 wlan0 88XXau Realtek Semiconductor Corp. RTL8814AU 802.11a/b/g/n/ac
(monitor mode enabled)
После того, как я получил ошибку VirtualBox (, а не только ошибку dmesg ), , этот билет дал правильную подсказку.
Извлеченный урок:Не доверяйте цветам сокетов в таких ситуациях! Проверьте спецификацию, особенно при использовании других сокетов во время работы над одним и тем же проектом...
Задания выполняются через cron
или как systemd
сценарии запуска не выполняются в той же среде выполнения, что и на вашем рабочем столе. systemd
сценарии запуска запускаются как root
. Ни одно из ваших изменений PATH
или других настроек переменных среды не распространяется автоматически на ваше задание cron
. Например, $DISPLAY
нет, поэтому программы с графическим интерфейсом требуют специальной обработки (читатьman xhost
).
Посмотрите на результаты echo "=== id ===";id;echo "=== set ===";set;echo "=== env ===";env | sort;echo "=== alias ===";alias
в каждой из ваших сред.