Jak znaleźć aplikację korzystającą z iSight (kamera iMac)

36

Jak dowiedzieć się, która aplikacja ma otwartą kamerę na komputerze iMac (Running Leopard)? Zielona lampka świeci, wskazując, że aparat jest używany, a fotobudka nie może się połączyć z aparatem. Jedynymi działającymi aplikacjami są Safari i Finder (najlepiej, jak mogę to stwierdzić), z których żadna z nich nie korzysta z aparatu.

Gdyby to był system Windows, skorzystałbym z Eksploratora procesów, co mogę zrobić na komputerze Mac, aby zobaczyć, kto ma otwarte określone urządzenie?

EDYCJA: korzystając z sugestii NSD, mam prawie rozwiązanie

    lsof | grep "USBVDC"

To pokazuje wszystkie aplikacje próbujące korzystać z aparatu, ale nie tę, która faktycznie jest jego właścicielem. Prawdopodobnie wystarczająco blisko.

Tony Lee
źródło

Odpowiedzi:

24

Domyślam się, że Agent iChat działał w tle.

Jeśli nie, spróbuj:

lsof | grep -i "AppleCamera"

W poprzednich wersjach systemu OS X (wcześniejszych niż Yosemite) należy tego użyć:

lsof | grep -i "iSight"
Hasaan Chop
źródło
1
lsofnie pokazuje niczego związanego z używanym iSight lub nie.
Chealion
Nie zaskakujący.
Hasaan Chop
3
Jestem o krok bliżej, znalazłem sposób na znalezienie aplikacji, które chcą korzystać z wbudowanej kamery USB iSight za pomocą twoich sugestii. lsof | grep -i „USBVDC”. Prawie, jeśli nie każda aplikacja, użyje biblioteki /System/Library/QuickTime/QuickTimeUSBVDCDigitizer.component/Contents/MacOS/QuickTimeUSBVDCDigitizer, aby dostać się do kamery.
Tony Lee
Składnik QuickTime jest trochę bardziej zaangażowany niż biblioteka, ale masz rację; dobry chwyt.
Hasaan Chop
teraz jest „FaceTime”
LI Daobing
19

W 2014 roku VDCdziała jako lsofwyszukiwane hasło:

$ lsof | grep VDC
FaceTime  1097 user  txt      REG                1,4    405264    2934 /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/VDC.plugin/Contents/MacOS/VDC
zigg
źródło
Okazało się, że to dla mnie HipChat - nie jestem pewien, kiedy próbował zainicjować rozmowę wideo, ale nic w interfejsie użytkownika nie sugerowało, że kamera była w użyciu.
phatskat
Korzystając z tej odpowiedzi odkryłem, że to mój klient Parallels, który współdzielił kamerę z maszyną wirtualnego systemu Windows
GreenAsJade,
7

lsofto dobry zakład. Grepping dla „VDC” daje mi najlepsze wyniki, ale w starszych wersjach OSX może być konieczne użycie innych terminów „AppleCamera”, „iSight”.

Następnie masz listę i widzisz, że kilka programów korzysta z kamery. Możesz spróbować zabić ich jeden po drugim, ale co, jeśli ktoś jest w przeglądarce i masz otwarty milion kart?

Zwykle ta sztuczka działa dla mnie:

  • otwórz ActivityMonitor,
  • szukaj VDC, VDCAssistant jest na liście,
  • wymuś wyjście z VDCAssistant.

Powoduje to, że wszystkie procesy próbujące użyć kamery są tymczasowo rozłączone. Zajmuje się to procesami, które nadal powodowały używanie aparatu z powodu usterki. VDCAssistant zostanie automatycznie zrestartowany.

Ta sztuczka działa również świetnie, jeśli program nie może uzyskać dostępu do kamery.

iwein
źródło
4

Właśnie odkryłem, że minimalizacja Facetime powoduje, że dioda LED iSight świeci się tak często. Zamknij FaceTime, klikając czerwony przycisk w lewym górnym rogu. Nadal będziesz otrzymywać połączenia FaceTime, ale aparat zostanie włączony tylko wtedy, gdy się pojawią.

MotoBarsteward
źródło
Rozwiązało to dla mnie problem migającej na zielono diody LED iSight, ale nie mogę wymyślić rozsądnego uzasadnienia (ani żadnej dokumentacji), dlaczego Facetime miałby mnie robić, gdy jest zminimalizowany.
christianbundy
0

Nazwa iSight / AppleCamera została teraz przemianowana na FaceTime

lsof | grep -i "FaceTime"

może być jako root, na wypadek, gdyby ktoś go używał. Zwykle jest to problem minimalizowany, co jest problemem. Otwórz i wyjdź.

zainengineer
źródło
0

Pożyczając doskonałe rozwiązanie zaproponowane przez iwein, ale usprawniając je i umożliwiając tworzenie skryptów, możesz to zrobić:

sudo pkill 'VDCAssistant'

Następnie można włączyć tę funkcję, aby ułatwić zapamiętanie:

repocam () {
    sudo pkill 'VDCAssistant'
}

Możesz umieścić tę funkcję w swoim .zshrcpliku .bashrclub cokolwiek, czego używasz.

Poza zakresem, ale warto realizować:

Możesz nawet skonfigurować zadanie CRON lub uruchomić agenta lub cokolwiek chcesz (Google szczegóły!), Aby uruchamiać je tak często. Jeśli możesz dowiedzieć się, która aplikacja (np. HipShat) powoduje problem, możesz znaleźć sposób, aby uruchomić ją po wyjściu z aplikacji.

Możliwe jest także uruchamianie skryptów, gdy komputer się obudzi lub przejdzie w tryb uśpienia.

ikonoklasta
źródło
0

możesz również skorzystać z aplikacji nadzoru: https://objective-see.com/products/oversight.html

aplikacja do nadzoru może wykryć, czy niektóre inne aplikacje używają kamery lub mikrofonu, ostrzec Cię, a następnie możesz zablokować, zostawić lub dodać do białej listy.

LI Daobing
źródło