Voglio solo sapere se questo può essere fatto in un comando senza interazioni in macOS. C'è un modo interattivo per farlo (ho prima acceso l'utente abc e poi sono tornato indietro in modo che abc avesse un desktop nascosto):
(in sudo mode)
login abc
(type the password)
screencapture <png-file-name>
Nel mio test, questo avrebbe richiesto uno screenshot del desktop nascosto di abc e salvato nel file. Ma la cosa strana è che quando uso l'opzione -f
(applicabile solo in modalità sudo) per eliminare la necessità di digitare la password, lo screenshot diventa il desktop dell'utente corrente, non il desktop di abc:
(in sudo mode)
login -f abc /usr/sbin/screencapture <png-file-name>
OR
login -f abc bash -c "/usr/sbin/screencapture <png-file-name>"
Entrambi non funzionano come previsto.
Anche su
o sudo
non possono soddisfare i miei requisiti, perché prendono anche gli screenshot del desktop dell'utente corrente.
Potresti chiederti perché lo voglio. In effetti non voglio gli screenshot, voglio sicurezza. Voglio rendere la shell di questo altro utente completamente isolata dall'attuale utente, in modo che qualsiasi codice dannoso in esecuzione in questa shell non sia in grado di catturare screenshot dell'utente corrente.