升級mac 到 Catalina之後,真是各種坑啊.
2.如果Mac的輔助功能無法添加其他應用 [沒意外會遇到權限問題]
最主要原因VMWare沒有錄屏權限了,
但是在不升級情況下在security->Privacy->Screen Recording是無法添加進去的,只能先關閉 csrutil.
1.關閉MacOS的rootless[安全]機制
- 首先重啓mac,在即將啓動的時候按住CMD+R鍵,直到出現蘋果logo
- 然後選擇用戶,輸入密碼進入recover mode。
- 在menu上面選擇->Utilities->Terminal
- 輸入: csrutil disable
#Rootless機制將成爲對抗惡意程序的最後防線[記得要改回來!!!!!]
縮略版步驟 [ 跟上面的 1-4 步驟一樣,如果操作過的話,可以忽略直接進行下一步]:
1.嘗試關閉Rootless,重啓按住 Command+R 進入恢復模式 打開Terminal
2.輸入csrutil disable
3.如果要恢復 csrutil enable
查看csrutil 狀態
MacBook-Pro:~ sysadmin$ csrutil status
System Integrity Protection status: enabled.
2.如果Mac的輔助功能無法添加其他應用 [沒意外會遇到權限問題]
應該是升級導致/Library/Application\ Support/com.apple.TCC損壞或權限異常,出現了問題.
sudo chmod 777 /Library/Application\ Support/com.apple.TCC
sudo rm -rf /Library/Application\ Support/com.apple.TCC/TCC.db
#如果權限不足,執行第一個步驟
3. 添加vmware允許屏幕錄製的權限
進入系統後打開終端輸入以下命令(中途可能要求你輸入密碼,輸入本機登陸密碼即可)
1,
tccutil reset All com.vmware.fusion
2,
sudo sqlite3 "/Library/Application Support/com.apple.TCC/TCC.db" 'insert into access values ("kTCCServiceScreenCapture", "com.vmware.fusion", 0, 1, 1, "", "", "", "UNUSED", "", 0,1565595574)'
3,
sudo sqlite3 "/Library/Application Support/com.apple.TCC/TCC.db" 'insert into access values ("kTCCServiceListenEvent", "com.vmware.fusion", 0, 1, 1, "", "", "", "UNUSED", "", 0,1565595574)'
4,
sudo sqlite3 "/Library/Application Support/com.apple.TCC/TCC.db" 'insert into access values ("kTCCServicePostEvent", "com.vmware.fusion", 0, 1, 1, "", "", "", "UNUSED", "", 0,1565595574)'
4.命令操作截圖
MacBook-Pro:~ admin$ sudo chmod 777 /Library/Application\ Support/com.apple.TCC
Password:
MacBook-Pro:~ admin$ sudo rm -rf /Library/Application\ Support/com.apple.TCC/TCC.db
MacBook-Pro:~ admin$ tccutil reset All com.vmware.fusion
MacBook-Pro:~ admin$ sudo sqlite3 "/Library/Application Support/com.apple.TCC/TCC.db" 'insert into access values ("kTCCServiceScreenCapture", "com.vmware.fusion", 0, 1, 1, "", "", "", "UNUSED", "", 0,1565595574)'
MacBook-Pro:~ admin$
MacBook-Pro:~ admin$ sudo sqlite3 "/Library/Application Support/com.apple.TCC/TCC.db" 'insert into access values ("kTCCServiceListenEvent", "com.vmware.fusion", 0, 1, 1, "", "", "", "UNUSED", "", 0,1565595574)'
MacBook-Pro:~ admin$
MacBook-Pro:~ admin$ sudo sqlite3 "/Library/Application Support/com.apple.TCC/TCC.db" 'insert into access values ("kTCCServicePostEvent", "com.vmware.fusion", 0, 1, 1, "", "", "", "UNUSED", "", 0,1565595574)'
MacBook-Pro:~ admin$
5.打開安全機制
1.嘗試關閉Rootless,重啓按住 Command+R 進入恢復模式 打開Terminal
2.啓用 csrutil enable
查看csrutil 狀態
MacBook-Pro:~ sysadmin$ csrutil status
System Integrity Protection status: enabled.