新麥裝機問題匯

来源:https://www.cnblogs.com/andrewwang/archive/2018/03/09/8536306.html
-Advertisement-
Play Games

雖然是mac老司機,但每次裝機總會碰到一些小問題需要臨時上網搜索一下解決方案,所以留下些文字備忘一下: 1. 研發用的新機最好選擇語言用英文版,中文版通常的使用沒問題,但很多的地方的翻譯都不准確,而且有一些測試不充分的BUG。比如我曾經碰到過配置IP地址,多個IP地址之間應當是用英文分號分割,結果也 ...


雖然是mac老司機,但每次裝機總會碰到一些小問題需要臨時上網搜索一下解決方案,所以留下些文字備忘一下:

  1. 研發用的新機最好選擇語言用英文版,中文版通常的使用沒問題,但很多的地方的翻譯都不准確,而且有一些測試不充分的BUG。比如我曾經碰到過配置IP地址,多個IP地址之間應當是用英文分號分割,結果也變成了中文分號,新版本雖然修改了這個BUG,但類似小問題經常還是會有。
  2. Xcode優先安裝,後面其它許多的開源軟體都依賴Xcode的命令行。
  3. 正常情況下,Sierra和High Sierra已經不建議在Recovery狀態關閉系統保護功能,原來依賴關閉系統文件許可權,註入一些功能的軟體,大多升級版本也已經不再需要寫入系統文件區。所以我也建議不要再關閉系統文件保護功能,這樣系統的安全性會好很多,即便出現可能的病毒,也不會導致系統基礎崩潰。
    如果一定要關閉,重啟時按⌘R鍵進入恢復模式,啟動後打開終端程式,在其中使用如下命令關閉系統文件保護:

    csrutil disable
  4. 因為3的原因,系統內置的python/ruby等,不要再跟以前一樣升級,如果需要,另外安裝一個新版本即可。
  5. 安裝Homebrew,其它開源軟體包,儘量統一使用Homebrew管理:

    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  6. 通常即便不需要升級python,也還是要重新安裝一個,因為python的一些擴展包你也可能碰到需要升級,這也是需要自己安裝一份有讀寫許可權的python。別心疼那幾十M的空間。

    brew install python

    另外註意,新版的brew,安裝的python預設是python2.7,程式執行的時候命名為python2。總結一下就是:

    python      #系統內置的python2.7
    pip         #系統沒有自帶,如果你自己安裝了pip那對應的是系統的python
    python2     #用brew自己安裝的python2.7
    pip2        #安裝python的時候回自動安裝pip
    python3     #如果你另外安裝了python3
    pip3        #對應python3
  7. 所以如果你想繼續安裝tensorflow,應當是使用你另外安裝的pip2或者pip3來安裝,系統內置的python因為擴展包版本不相容又無法改寫,實際無法安裝tensorflow。

    pip2 install tensorflow
    使用上面命令行安裝的tensorflow,只有python2環境中才能引用,python3如果要使用,需要用pip3自行安裝。
  8. python有些包的提示不是很完整,比如錯誤信息是scipy.misc包中找不到imread,實際上是因為包pillow包沒有安裝,應當使用pip2 install pillow安裝。
  9. ruby / gem比python幸運,因為gem可以指定安裝包安裝的路徑,這樣即便系統的版本不滿意,也不一定非要重新整個安裝了。比如:

    sudo gem install jekyll bundler -n /usr/local/bin
    #後面的-n參數就是指定安裝路徑

    相對的更換源到國內網站你肯定忘不掉,因為下載包下不動你就想起來了:

    #前面要先刪除原來的源,這裡省略
    gem sources --add https://gems.ruby-china.org/
  10. 調試程式經常會碰到沒有簽名的應用需要運行,所以人為打開許可權控制對於研發人員也是不得已了,雖然這樣有了病毒傳播的風險,但畢竟工作重要:

    sudo spctl --master-disable
  11. 研發的一些特殊情況可能需要修改EFI分區,載入方式如下:

    #首先檢查EFI分區設備名
    diskutil list
    #比如結果是:
    /dev/disk0
     #: TYPE                     NAME          SIZE       IDENTIFIER
     0: GUID_partition_scheme                  *251.0 GB  disk0
     1: EFI                                    209.7 MB   disk0s1
     2: Apple_HFS                Macintosh HD  250.1 GB   disk0s2
     3: Apple_Boot               Recovery HD   650.0 MB   disk0s3
    #建立一個載入點
    mkdir /Volumes/efi
    #掛載,註意設備名跟上面對應
    sudo mount -t msdos /dev/disk0s1 /Volumes/efi
    #後面就可以做自己的事情了
  12. 有一些小工具想加到Finder工具欄中,是按住⌘鍵不鬆手,然後用滑鼠拖動到Finder工具欄。
  13. Messager簡訊應用刪除信息太麻煩,option+⌘+backspace可以無提示框直接刪。
  14. 開機啟動腳本,有以下幾個路徑可以放置開機啟動腳本的引導配置文件,

    #以.plist配置文件的方式
    /Library/LaunchAgents/
    /Library/LaunchDaemons/
    /System/Library/LaunchAgents/
    /System/Library/LaunchDaemons/
    #以文件夾的方式,文件夾內放置配置文件.plist及相關腳本
    /Library/StartupItems/
    /System/Library/StartupItems/
    LaunchDaemons是在系統引導時執行(boot),LaunchAgents是在用戶登錄的時候執行(login)。
    /System/Library下的是macOS系統進程使用。/Library是所有用戶使用。
    對應的,~/Library中的,上面沒有列,一般用的少,是對應某一個用戶的。
    通常用戶自己設置的,需要開機就執行的一些進程一般是放在/Library/LaunchDaemons/之下,有2點需要註意:
    • 擁有者許可權必須是root:wheel
    • 許可權644
  15. 新機有時候Spotlight搜索不到剛剛安裝的應用,一般可能是剛剛同時安裝了大量新的應用及拷貝進入了大量新的數據,系統仍然在進行索引。等待一段時間之後如果還搜不到,那可能是有問題了。幾個可能的解決方法,必有一款適於你:

    #方法1,刪除索引並重做:
    sudo mdutil -E /Applications
    #----------------------------------
    #方法2,重新建某目錄索引:
    mdimport /Applications/
    #----------------------------------
    #方法3,重新載入系統matedata數據:
    #關閉spotlight
    sudo mdutil -a -i off
    #上傳數據
    sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist
    #載入數據
    sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist
    #打開spotlight
    sudo mdutil -a -i on
  16. 預設截圖路徑修改
    Mac屏幕截圖預設是存在桌面,如果不喜歡可以改一下,方法如下:

    #參數請修改為自己的目錄,這個是保存在我的下載目錄
    defaults write com.apple.screencapture location /Users/andrew/Downloads/
    #如果想關閉截圖的陰影還可以加上這一行
    defaults write com.apple.screencapture disable-shadow -bool TRUE
    #重啟界面服務
    killall SystemUIServer
  17. 讓Finder顯示隱藏文件

    defaults write com.apple.finder AppleShowAllFiles -bool true 
  18. 命令行swift無法執行,報錯缺少一堆庫:

    warning: Swift error in module repl_swift.
    Debug info from this module will be unavailable in the debugger.
    
    warning: Swift error in module dyld.
    Debug info from this module will be unavailable in the debugger.
    
    warning: Swift error in module libz.1.dylib.
    Debug info from this module will be unavailable in the debugger.
    
    warning: Swift error in module libcompression.dylib.
    Debug info from this module will be unavailable in the debugger.
    
    warning: Swift error in module libSystem.B.dylib.
    Debug info from this module will be unavailable in the debugger.
    ...
    
    warning: Swift error in module libxslt.1.dylib.
    Debug info from this module will be unavailable in the debugger.
    解決辦法:打開Xcode,Preferences->Locations->Command Line Tools,選中當前安裝的版本,正常應當只有一個。如果還沒有安裝,趕快安裝一個,正常情況下如果沒有裝的話,啟動Xcode就會提示你安裝。
  19. 有些程式開機就啟動,有需要的有不需要的。部分是放在System Preferences/Users&Groups->LoginItems中,直接可以刪除,還有些在上面說過的啟動項目文件夾裡面,比如Creative CLoud圖標,在/Library/LaunchAgents/com.adobe.AdobeCreativeCloud.plist,可以移出來備份到某處,就不會開機自動啟動了。

先這些吧,想到再補充。

參考資料:

瞭解LaunchDaemons


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 在Word文檔中,我們可以通過添加頁眉、頁腳的方式來豐富文檔內容。添加頁眉、頁腳時,可以添加時間、日期、文檔標題,文檔引用信息、頁碼、內容解釋、圖片/LOGO等多種圖文信息。同時也可根據需要調整文字或圖片在頁眉頁腳的位置。因此,本文將介紹如何在C#中使用免費組件Free Spire. Doc for ...
  • 我寫了一個Asp.net core mvc項目,但是部署在iis發生了502.5的問題一直解決不了。 環境 系統:最強Win10; 工具:輕巧VS Code; 各種百度bing都沒有我要的解決方案,說的都是 1. 保證電腦上有.net core sdk或者.net core runtime; 2. ...
  • 本示例描述瞭如何創建一個WCF服務,並宿主在命令行應用程式中,客戶端可以訪問服務元數據,並以非同步的方式消費它。 首先,我們創建了一個WCF服務。關於如何創建WCF服務,可以參考我之前的文章(WCF學習之旅—第三個示例之一(二十七)至WCF學習之旅—第三個示例之五(三十一)) ...
  • Zabbix是什麼 Zabbix 是由Alexei Vladishev創建,目前由Zabbix SIA在持續開發和支持。 Zabbix 是一個企業級的分散式開源監控方案。 Zabbix是一款能夠監控各種網路參數以及伺服器健康性和完整性的軟體。Zabbix使用靈活的通知機制,允許用戶為幾乎任何事件配置 ...
  • 昨天遇到個問題,我的Ubuntu各種更新不上去,在系統設置裡面做了很多調整,仍然沒辦法更新。 如果你也是這樣的,希望下麵的操作能幫助你。 sudo apt-get update && sudo apt-get upgrade sudo vim /etc/update-manager/release- ...
  • 1 .Ubuntu所在的分區,也就是/dev/sda的那個盤(如果想直觀看到,請在Ubuntu的應用市場裡面搜索gparted,好評最多的那個就是,安裝好了以後,點super/win鍵,搜索gparted就出來了,看下圖),一定安裝到SSD硬碟裡面,因為這樣速度快很多很多,之後準備HDD硬碟存放數據 ...
  • 因為工作環境基本是以跨平臺為主,所以純mac本地化的AppleScript一直關註是不夠的,前幾天找資料發現AppleScript也在迅速的進步著,目前已經對Javascript做了比較好的支持 當然早就支持,現在只是感覺上更好了。這項技術的全稱是JavaScript for Automation, ...
  • macOS延續自BSD Unix, Linux則是從內核開始重新編寫但延續Unix使用方式的Unix。所以mac還有linux程式員,一般都算是 nix程式員,儘管其中還有不少的區別。 Windows從版本10開始做出的最大改變,可能就是內置的linux子系統,原本的安裝方式很簡單,網上很多介紹,一 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...