Come trovare quale app utilizza iSight (la fotocamera iMac)


36

Come scoprire quale applicazione ha la fotocamera aperta su un iMac (Running Leopard)? La spia verde è accesa indicando che la fotocamera è in uso e che la cabina per foto non può essere collegata alla fotocamera. Le uniche altre app in esecuzione sono Safari e Finder (come meglio posso dire), nessuna delle quali sembra utilizzare la fotocamera.

Se questo fosse Windows, userei Process Explorer, cosa posso fare su un Mac per vedere chi ha un particolare dispositivo aperto?

EDIT: utilizzando il suggerimento di NSD, ho quasi una soluzione con

    lsof | grep "USBVDC"

Questo mostra tutte le app che cercano di usare la fotocamera, ma non quella che la possiede in realtà. Probabilmente abbastanza vicino.

Risposte:


24

La mia ipotesi migliore sarebbe che iChat Agent fosse in esecuzione in background.

In caso contrario, quindi provare:

lsof | grep -i "AppleCamera"

Nelle precedenti versioni di OS X (prima di Yosemite), questo dovrebbe essere usato:

lsof | grep -i "iSight"

1
lsof non mostra nulla di relativo a un iSight usato o meno.
Chealion

Non sorprendente.
Hasaan Chop

3
Sono un passo avanti, ho trovato un modo per trovare le app che vogliono usare la fotocamera iSight USB integrata usando il tuo suggerimento. lsof | grep -i "USBVDC". Quasi, se non tutte le app, utilizzeranno la libreria /System/Library/QuickTime/QuickTimeUSBVDCDigitizer.component/Contents/MacOS/QuickTimeUSBVDCDigitizer per accedere alla videocamera.
Tony Lee

Un componente QuickTime è un po 'più complicato di una libreria, ma hai ragione; buona pesca.
Hasaan Chop

ora è "FaceTime"
LI Daobing

19

Nel 2014, VDC funziona come un lsof termine di ricerca per questo:

$ 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

Ho scoperto che era HipChat per me - non sono sicuro quando ha provato ad avviare una videochiamata, ma nulla nell'interfaccia utente ha suggerito che la fotocamera fosse in uso.
phatskat

Usando questa risposta ho scoperto che era il mio cliente di Parallels, che condivideva la fotocamera con la macchina virtuale Windows
GreenAsJade

6

lsof è una buona scommessa. Grepping per 'VDC' mi dà i migliori risultati, ma nelle vecchie versioni di OSX potresti dover usare altri termini 'AppleCamera', 'iSight'.

Poi hai una lista e vedi che un paio di programmi stanno usando la cam. Potresti provare ad ucciderli uno ad uno, ma cosa succede se uno è nel browser e hai un milione di schede aperte?

Di solito questo trucco funziona per me:

  • aprire ActivityMonitor,
  • cerca VDC, VDCAssistant è elencato,
  • force quit VDCAssistant.

Il risultato è che tutti i processi che tentano di utilizzare la fotocamera sono temporaneamente disconnessi. Questo si prende cura dei processi che continuavano ad utilizzare la fotocamera a causa di alcuni problemi tecnici. VDCAssistant viene riavviato automaticamente.

Questo trucco funziona egregiamente se un programma non può accedere alla videocamera.


4

Ho appena scoperto che avere Facetime ridotto al minimo fa sì che il LED iSight si accenda ogni tanto. Chiudi FaceTime facendo clic sul pulsante rosso nell'angolo in alto a sinistra. Continuerai a ricevere le chiamate FaceTime ma la videocamera si accenderà solo quando entreranno.


Questo ha risolto per me il problema dei LED iSight lampeggianti, ma non riesco a pensare a una giustificazione ragionevole (o a qualsiasi documentazione) sul perché Facetime mi scattarebbe delle foto quando è ridotto a icona.
christianbundy

0

iSight / AppleCamera è ora rinominato in FaceTime

lsof | grep -i "FaceTime"

può essere come root, nel caso in cui qualcun altro lo stia usando. Di solito è ridotto al minimo il numero uno che è il problema. Aprilo e chiudilo.


0

Prendendo in prestito l'eccellente soluzione proposta da iwein, ma ottimizzandola e rendendola programmabile, puoi farlo:

sudo pkill 'VDCAssistant'

Potresti quindi inserirlo in una funzione per rendere più facile ricordare:

repocam () {
    sudo pkill 'VDCAssistant'
}

Puoi mettere quella funzione nella tua .zshrc file o .bashrc o qualsiasi altra cosa tu usi.

Fuori portata ma vale la pena perseguire:

Potresti anche impostare un cron job o un launchd agent o qualunque cosa tu voglia (Google per i dettagli!) Per eseguirlo ogni tanto. Se riesci a capire quale app (come HipShat) sta causando il problema, potresti riuscire a trovare un modo per eseguirla all'uscita dall'app.

È anche possibile attivare gli script quando il computer si sveglia o si addormenta.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.