主要是參考這篇:Get X11 Forwarding In macOS High Sierra (unixtutorial.org)
使用 homebrew 安裝的話,很容易:
brew install xquartz
安裝完以後,可以在啟動台找到,執行以後就啟動了。
選單裡有個終端機,啟動以後,就可以輸入 ssh 指令連線。
ssh -X user@<your_host>
連線過去以後,執行圖形應用程式,在本地端就會出現視窗,噹噹,就這樣了。
Just thinking more…
主要是參考這篇:Get X11 Forwarding In macOS High Sierra (unixtutorial.org)
使用 homebrew 安裝的話,很容易:
brew install xquartz
安裝完以後,可以在啟動台找到,執行以後就啟動了。
選單裡有個終端機,啟動以後,就可以輸入 ssh 指令連線。
ssh -X user@<your_host>
連線過去以後,執行圖形應用程式,在本地端就會出現視窗,噹噹,就這樣了。
一般來說,空間足夠就不用特別管,但如果空間緊迫時,可能就會需要去處理。因為自己遇到了,就上網找看看有沒有人遇過,有找到這些方法,第一種方法是全部重來,第二種方法是用 MacOS 內建的 tmutil
指令。
參考資料:
使用 tmutil
這方法,需要先知道 TimeMachine 掛載到那邊,這時候需要先點選選單列裡的時光機圖示 (若沒有圖示,請到「設定」>「時光機」去勾選選單列中顯示「時光機」),然後選:進入「時光機」
此時,MacOS 會去掛載,然後就可以在 /Volumes
資料夾裡找到「時光機」備份的路徑,時光機備份是以年月日來作為目錄名稱,很容易就可以識別。
要刪除的時候,需要指定完整的路徑,以我的環境為例,就是
sudo tmutil delete /Volumes/「時光機」備份/Backups.backupdb/XXX的\ MacBook\ Pro/xxxxxx
刪除時,有幾點要注意:
我只是想下載微軟自家的 Edge,想不到 Internet Explorer 一直在那邊該該叫,好像在跟使用者抗議說不應該換掉我的感覺。因為一直跳對話視窗出來說要列入白名單,這實在是太浪費時間,上網找了一下看怎麼關掉。
步驟如下
分享 jc 這指令,裝了以後,可以把一些指令的輸出轉為 json,之後就可以搭配 jq 來查詢 json 裡的資料。
RHEL8 的安裝,需要直接從 jc 的 github 頁面下載 linux binary 。
Debian/Ubuntu 可以使用 apt-get install jc
。
ArchLinux 可以用 pacman -S jc
MacOS 可以用 brew install jc
例如
非 jq 作法 | 用 jq | |
---|---|---|
掛載點 | mount | awk '{print $1;}' | mount | jc --mount | jq -r ".[].filesystem" |
dig | dig example.com | awk '/ANSWER\ SECTION/ { getline; print $5; }' | dig example.com | jc --dig | jq -r '.[].answer[].data' |
除了 mount
跟 dig
之外,也可以解析蠻多指令的,這部份可以參照 github 網頁
參考資料:
某天點了 gcin 的 tray icon,按了裡面的「切到舊的注音鍵盤」,之後,切換到 gcin,就會出現下面的訊息
Cannot open /usr/share/gcin/table/.kbm
這超奇怪,放了好幾天,終於受不了。嘗試了以下幾個作法:
後來才在 gcin 討論區裡找到這篇:Ubuntu 14.04 gcin 安裝啟動後竟抓不到注音符號表??—->X@.kbm
只要執行以下指令,把 ~/.gcin/config 下的 phonetic-keyboard* 刪除即可
rm ~/.gcin/config/phonetic-keyboard*
果然解鈴還須繫鈴人。
在 Linux 的終端機裡,大部份都可以使用 Shift+PageUp/PageDown 來往前翻,但在 iTerm2 裡,不是這樣子的,得按下 Command + fn + ↑ 才可以。
若需要查詢其他的熱鍵,可以進 iTerm2 的 Preference > Shortcuts 來察看。
參考資料:How to scroll the terminal emulator window in smaller steps using the keyboard?
許久沒用 Chromium,這次安裝發現很不一樣。
前幾天開始,跟 OneDrive 相關的部份都怪怪的,於是昨天重新開機,想說應該就好了吧。但事與願違,OneDrive 持續的顯示載入中,到後來就不理我了,游標移到圖示上,顯示 MacOS 的彩虹轉圈圈。
試著砍 Process,也重開機了幾次,都不行,後來找到這篇:修正 Mac 上的 OneDrive 同步處理問題 。裏面提到好幾種方法。我是使用了裏面重置 OneDrive 的方法。
OneDrive 應用程式目錄下藏有一個重製的命令:
執行的時候,會跳出一個終端機視窗顯示他執行的指令,執行完,關閉即可。
再重新執行 OneDrive 來設定即可,選擇位置時,記得選取前一個 OneDrive 同步處理的位置。 這樣一來,如果您的檔案沒有變更就不會再次下載。
Apache / Nginx 很常用到的情境就是同個 Port 會有不同的站台,這時會使用到 VirtualHost 。
那 HAProxy 可以這樣做嗎?利用 Google 找了一下,發現是可以,主要是使用 ACL 的設定。
關鍵的設定是寫在 frontend 裡 (設定摘錄自 HAProxy – route by domain name | Sean McGary)
frontend http-in
bind *:80
# Define hosts
acl host_bacon req.hdr(host) -i ilovebacon.com
acl host_milkshakes req.hdr(host) -i bobsmilkshakes.com
## figure out which one to use
use_backend bacon_cluster if host_bacon
use_backend milshake_cluster if host_milkshakes
利用 acl + hdr(host) 來判斷 HTTP header 裡的 Host ,接著再使用 use_backend … if … 來決定使用哪一個 backend。
查到以後,我試了好一陣子,都試不出來,後來才搞懂,當使用這個來判斷 header 時,mode 必須要改為 http,如果 mode 是 tcp,那麼是沒作用的。同理,當要用到 https 上時,也會不行,因為連線的內容被加密,HAProxy 無法解讀內容,也就無法得知 header。
HAProxy 的 backend 裡可以改寫 request 的 header,方法如下
backend ocp-apps-http
mode http
http-request del-header Host
http-request set-header Host petclinic.apps.example.com
server node1 petclinic.apps.example.com:80
透過這個,就可以達到類似 reverse proxy 的效果。
今天試下來,大致對 Apache / Nginx / HAProxy 的定位有了一定程度的了解。HAProxy 有兩個 mode:tcp / http,tcp 適用於 SSL pass-through 跟純 TCP 傳輸的情況,這時是由 backend 來處理 SSL 憑證;http 可以視為跟 Apache / Nginx 相似的情況,也可以掛 SSL 憑證。
簡單的說,Apache / Nginx 並不能完全取代 HAProxy,反之亦然。
GameToGo 是個很方便的產品,讓你可以在 MBP 上使用 Windows 10 ,又可以省掉許多麻煩。
本來是打算買一個的,後來上網找了一下,找到這篇:在 Mac 下,如何安裝 BootCamp WIN10 到外接硬碟(製作自己的 GameToGo) ,看完,評估了好一會兒之後,就決定來照著做一次。手邊雖然有外接裝置,但沒有夠快的,所以就下單買了一個外接 SSD。
文章裡前面提到 MacOS 的磁碟分割軟體不好用,建議用其他的磁碟分割軟體來做。自己試了一次,發現真的不行。後來我用的方法是這樣:
diskutil partitionDisk disk2 GPT exFAT windows 250Gi exFAT data R
解說一下 diskutil 那行:
diskutil list
來看。分割完以後,後續的基本上就照做就可以。安裝完畢,視窗並不會關閉,就只是一片黑,這時候只要關閉視窗即可。
然後重新開機 MacOS,等到重開機的時候,會遇到安全性問題,這部份就要照 MacBook 用隨身碟執行 Windows 10:Windows To Go、WinToUSB 裡的「安全性設定不允許此 Mac 使用外部啟用磁碟」這一節去做。
這時候就可以繼續安裝 Windows 的步驟了,最後再裝上驅動程式即可。