tmux設置zsh的問題?
我本本的系統是OS X EI Capitan,在網上按照教程配置了zsh和tmux,在 ~/.tmux.conf文件中加了"set -g default-shell /bin/zsh" 和 "set -g default-command /bin/zsh"設置tmux的默認shell為zsh。然後重新刷新了tmux的配置文件(tmux source-file ~/.tmux.conf),但是為什麼進入tmux,shell還是bash呢?然後我在tmux中使用命令"echo $SHELL", 卻顯示/bin/zsh,但我當前的shell卻不是zsh,這是什麼原因呢?T^T,求各位幫助一下,弄了很久都沒弄好,小女子在這裡謝謝大家了。
你是不是用reattach-to-user-namespace了?裡面
set-option -g default-command "reattach-to-user-namespace -l bash"
注意Bash
關閉終端,再進 輸入tmux ,先按C+b,然後輸入:
此時已經進入命令行模式,在命令行輸入:source-file ~/.tmux.conf
tmux 文檔中 有關於 default-command 和 default-shell 說明:簡單說:
每一個 terminal 的啟動都基於每個用戶的環境變數 SHELL。在 linux 中 文件 /etc/passwd 中的一行就代表用戶的一些基本配置(包括所使用的 SHELL)。
如:vagrant:x:1000:1000:Vagrant Default User,,,:/home/vagrant:/bin/bash
最後一個引號後面 /bin/bash 就是所使用的 SHELL。所以每個 terminal 的啟動都要有當前用戶的 SHELL。個人猜測,tmux 的啟動會得到當前用戶的 SHELL,然後根據 default-shell 的變數的值,修改 SHELL 變數(僅個人猜測,還有個問題是,mac 沒有 /etc/passwd ,對mac 不熟悉=。=)
左上角--Sytem Preferences--Users Groups--右擊當前用戶--Advanced options--Login shell:選擇zsh
沒有進行過任何配置的原始zsh並不比bash好到哪兒去,想必你chsh過了吧,既然echo了都還是zsh,你確定不是把原生zsh當bash了?如果不是的話問這位高手@李墨夜
推薦閱讀:
※QuickTime Player真的只是一個雞肋視頻播放器嗎?
※如何在Mac上設置wacom?
※請問有哪些實用的Mac終端命令?
※為什麼說mac是前端的標配?
TAG:Mac | macOS | Linux | MacOSX使用技巧 | zsh |