Category: MacOS X

  • 終端機管理工具 tmux

    終端機管理工具 tmux

    看到 MIS 大大在公司的伺服器上安裝 tmux,因為好奇而開始試用

  • Linux 刪除所有檔案和隱藏檔案

    都寫另一個部落格 what30,很久沒更新這邊,都快荒廢了。 來記錄一下如何在 Linux 下用指令刪除所有檔案與隱藏檔,一個超簡單但實用的用法。 ls -A1 | xargs rm -rf -A 是列出所有的檔案,除了 . 與 .. 以外

  • Error: No available formula with the name "homebrew/php/php71" 解決辦法

    這個問題大概是某次更新 homebrew 後出現的,因為筆電還有 MAMP  可以開發,沒急著解決問題。 今天剛好看到解法,記錄一下。 出現的情況是在 macOS 打開 terminal 時會看到以下訊息 Error: No available formula with the name “homebrew/php/php71″ Please tap it and then try again: brew tap homebrew/php  原因是 homebrew/php 這個名稱已經棄用了,修改 ~/.zshrc 這個文件 刪除這一行即可 export PATH=”$(brew –prefix homebrew/php/php71)/bin:$PATH:~/run”

  • Mac terminal ssh 到 Linux 時,出現 cannot change locale (UTF-8) 訊息

    每回從 Mac terminal 登入到 CentOS,一登入就會看到以下的訊息 雖然沒什麼問題,就覺得有點不完美 testuser@localhost ~ $ ssh_linux Last login: Wed Dec 27 23:22:50 2016 from 10.28.28.39 -bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory tl;dr 登入 CentOS 後,改個檔案再重登即可 vi /etc/environment add these lines… LANG=en_US.utf-8 LC_ALL=en_US.utf-8 詳細的發生原因可以看這篇 [Mac] SSH 到 Linux 機器時,出現 cannot change locale (UTF-8) 訊息。

  • HoRNDIS ~ 讓 Android 在 MAC OS 上也能共用 USB 網路

    HoRNDIS ~ 讓 Android 在 MAC OS 上也能共用 USB 網路

    最近偶然把 iPhone 插上 Macbook 才注意到原來用 USB 連線就可以讓筆電上網… 我之前都是開 WIFI hotspot 功能上網,這方法相對耗電許多…. 😓

  • Using sftp on a non-standard port

    平常還蠻常用到 linux / mac 的 ftp, ssh 指令。今天有個 case 是要用 sftp 指令連去廠商的主機,雖然有用過這個指令,卻不知道怎麼指令 port… 一查才發現這用法跟其他指令差異還真大。 sftp -o “Port 3432” user@example.com 要用 -o 設定參數,筆記一下。

  • Mac OS El Capitan 10.11 開啟第三方 SSD Trim 功能

    Mac OS El Capitan 10.11 開啟第三方 SSD Trim 功能

    因為幫 Mac mini 換裝了 SSD 硬碟,就會需要幫它啟動 TRIM 的設定。至於 TRIM 是什麼,可以參考這篇 OCZ SSD姿勢佳 – 什麼是TRIM指令? OS X 從 Yosemite 10.10.4 開始就允許使用者直接啟動 TRIM 的功能而不需要借助第三方軟體來實現,所以不必安裝軟體,在 terminal 輸入以下指令即可。 sudo trimforce enable 接著輸入管理員密碼,按兩次 y 就會開始進行系統設定。 要注意的是系統設定完成後會自動重開機,在進行此作業前請先將其他應用都先關閉,以免悲劇。

  • 製作 Mac OS El Capitan 10.11 開機安裝碟

    製作 Mac OS El Capitan 10.11 開機安裝碟

    打算幫家裡那台 mac mini 升級 SSD 而需要做些前置工作,像是先做一顆 USB 安裝碟… 搜尋了一下方案,原來非常簡單啊!!

  • Laravel: failed to open stream: Too many open files

    Laravel: failed to open stream: Too many open files

    公司的 Team 開發的產品也越來越龐大了,API 的部份依賴 Laravel 內建整合的 PHPUnit 來進行自動化測試。 這回從 git repo 上拉了新的 code 後,照慣例跑一下 phpunit,然後就掛了… PHP Warning: failed to open stream: Too many open files 好像沒見過這樣的訊息。Google 一下才知道是踩到了 Mac OS 檔案開啟上限的地雷。 $ ulimit -a # 這個指令可以看系統限制 core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited file size (blocks, -f) unlimited max locked memory (kbytes,…

  • Change the hostname in Mac OS X

    近期的開發工作是在 Laravel Framework 下進行的,這個 framework 會依系統的 Hostname 來切換環境,在 local 與 production 之間切換,就可以連到不同資料庫之類的設計,這個設計好不好沒什麼感覺,畢竟主要是在 local 下開發。 這個 Hostname 神秘的地方是會因為網路而有差異,這兩天部門的網路有所更動,Hostname 就不一樣,Laravel 碰到不認得的 Hostname 會自動切換回 production,然後就一堆設定掛在那邊 XD Laravel 的 Hostname 識別可以在 /%laravel_root%/bootstrap/start.php 下設定,但改來改去也挺麻煩的。   Mac OS X 修改 Hostname 並不是難事,雖然我並不確定改下去會不會有什麼後遺症… 在 Terminal 下輸入 sudo scutil –set HostName john-macbook-air.local 然後輸入密碼就改完了,不必重開機。

  • How to override the path of PHP to use the MAMP path?

    最近在學習 Laravel Framework 的使用,現在 PHP 許多 Library、Framework 都改用了 composer.phar 這個套件管理功能。 其中許多管理功能需要在 command line 輸入指令,但是 Mac 其實也有內建 PHP,卻缺了許多常用的套件。 與其去補安裝套件,不如改用 MAMP 的 PHP 還比較省事。 在 ~/.bash_profile 加入以下指令: export PATH=”/Applications/MAMP/bin/php/php5.5.3/bin:$PATH” 這樣使用 PHP 指令就會自動選用 MAMP 下的版本和套件,其中紅字請改為您使用的版號。

  • 'tree' command for Mac OSX

    ‘tree’ 這個指令在許多系統中都存在,用途是繪製出目錄的樹狀結構,在寫技術文件時,這個功能非常方便。 不過 Mac OS X 沒有這個功能…. (殘念 搜尋了一下,果然有高手提供的替代方案 find . -print | sed -e ‘s;[^/]*/;|–;g;s;–|; |;g’ 紅色的點可以替換成需要的目錄名稱,點則代表當前目錄。取得的目錄樹長這個樣子 |–assets | |–bootstrap | | |–3.1.1 | |–draw.js  

  • Change "Recent Places" to more than 5 items

    Change "Recent Places" to more than 5 items

    Mac OS 在檔案選擇畫面有一個小功能還蠻方便的,就是 “Recent Places” 的下拉選單,這選單會顯示最近使用過的五個資料夾。

  • Mac OS X Mavericks Launchpad 圖示卡住了

    Mac OS X Mavericks Launchpad 圖示卡住了

    這問題困擾我一陣子了,前些時候幫 mac mini 更新 10.9.2 之後,那條進度列一直都沒有消失,但實際上已經更新完成了,也沒有下載別的軟體。 重開機後還是存在,更新了其他軟體 ,它還是在…. (抓狂 總之,有人知道解法的話,麻煩留言一下,非常感謝啊!

  • Set the Primary Display on a Dual-Screen Mac Setup

    Set the Primary Display on a Dual-Screen Mac Setup

    多螢幕的作業環境非常方便,以前在當文字編譯的時候,因為公司提供每人兩台螢幕,那時候第一次感受到多螢幕對工作效率的提升非常顯著。 這次則是購入了 Dell U2414H 螢幕來作為第二螢幕。接上 Mac mini 後,一時想不起來怎麼設定 Mac OS 的主要螢幕。摸索了一陣才想起來這個設定藏在一個很難發掘的地方。 原來是在 System Preferences… > Displays > Arrangement。 然後拉那條白色的 bar,移到另一個螢幕就是設定主螢幕了。就醬,一點都不難,但是因為沒有提示,少用就忘記了。  

  • Mac OS X VPN 設定

    Mac OS X VPN 設定

    工作的關係常要跑到客戶那邊處理一些有的沒的,從外面要連回公司要用 VPN 連線。 前些時候把 Macbook Pro 洗白白重灌 Mavericks 後,覺得 VPN 就怪怪的,顯示的 IP 都不是公司的 IP。 找了一下設定,原來是少勾了一個選項。 先打開網路設定,進入 VPN 的畫面,點選右下方的 [Advanced…]。

  • Disable Cache for PHP 5.5.3 in MAMP

    前些時間接手一個已經上線的案子,進行改版作業。從 Git 上把 code 拉下來,執行一下就… 爆了。發現同事用了相當新的 PHP 語法。我本機的開發環境是 PHP 5.2.x,無法執行。 馬上想到 MAMP 可以切換成新的版本,切換成 5.5.3 問題就解決了。

  • Installing node.js on OSX 10.9 Mavericks

    Installing node.js on OSX 10.9 Mavericks

    除了 LAMP 外,一直想學點新把戲。2014 年的第二天,終於把工作告一段落,偷閒來看一下 AngularJS 的教學。沒想到教學文件是基於 node.js 執行的。 不過以前在 Mac OS X 上安裝 node.js 還挺麻煩的。沒想到跑去 node.js 網站上一看,居然已經有 node 和 npm 包在一起的 pkg 安裝包了,真是佛心。所以安裝完全無痛啊!

  • Mac OS X v10.4 and later: How to prevent .DS_Store file creation over network connections

    Mac OS 會在資料夾寫入一個名為 .DS_Store 的隱藏檔,這個檔案是用來紀錄該資料夾的一些自定義屬性,像是檔案排列之類的。有點像 Windows 的 Thumbs.db,都是挺令人煩燥的檔案,儘管正常情況下是看不到的。 Mac OS 預設很奇妙地會在許多地方留下這個足跡,例如隨身碟或連線磁碟,留在本機就算了,留在非本機硬碟真的很惱人。 還好,這個設定是可以修改的,打開 Terminal 輸入以下指令: defaults write com.apple.desktopservices DSDontWriteNetworkStores true 如果要改回來,在 Terminal 輸入以下指令即可。 defaults delete com.apple.desktopservices DSDontWriteNetworkStores 適用的 Mac OS 版本:10.4 ~ 10.8。

  • Run a PHP script from the command line with MAMP

    我在 Mac 上開發 PHP 一直是用 MAMP 這個好用的 App。不過如果碰到需要在 Terminal 下以指令方式執行 PHP 程式就有點麻煩。 MAMP 裡的 php 路徑頗長…. 像這樣… /Applications/MAMP/bin/php/php5.3.6/bin/php -v # 查詢 PHP 版本 所以還是來修改一下 ~/.bash_profile 吧。如果沒有這個檔案,自己建一個。 在裡面加入這一行… export PATH=/Applications/MAMP/bin/php/php5.3.6/bin/:$PATH 存檔後離開。 在 Terminal 下輸入 source ~/.bash_profile 會重讀設定檔,然後剛才的修改就生效了。這樣以後要執行 PHP script 直接輸入 php 就可以了,方便許多。