2013-02-01 81 views
1

我試圖以這樣的方式安裝我的工作站:tmux針對啓動的每個終端(xterm,gnome-terminal,...)運行。我正在考慮將tmux添加到.bashrc;問題是如果我無論出於何種原因兩次啓動bash,它將在當前的tmux內啓動第二個tmuxxterm啓動時自動運行tmux:什麼是最優雅/正確的解決方案?

所以:

  • 有沒有辦法來檢測,或許從.bashrc,當前的bash是「第一」的一個,而不是第二個在同一個終端推出?
  • 任何其他好主意/最佳實踐/ bash設計模式?

回答

0

別人怎麼樣xtermxterm tmux

就以下行添加到您的.bashrc

alias xterm='xterm tmux' 
+0

謝謝,但它似乎不是一個正確的解決方案,因爲我可能希望使用xterm用於不同於啓動shell的用途。例如'xterm top'。所以,我的目標可能是將tmux用作默認的xterm shell。 – fstab

+1

@francescostablum:因此,創建一個不同的別名,例如'xtt'。 – choroba

+0

是的,這可能實際上是一個解決方案,但我必須爲所有需要使用'tmux'的終端類型定義幾個別名。 – fstab

1

您可以添加以下到您的.bash_profile

SHELL=tmux 

這是第一位的命令,如果沒有運行xterm檢查在命令行上給出。

+0

不幸的是它不起作用。你有什麼想法,爲什麼?我將它添加到'.bashrc'和'.bash_profile'。 – fstab

+0

嗯,實際上它似乎只在xterm從已經將$ SHELL定義爲tmux的shell啓動時才起作用。有趣的... – fstab

+1

然後它可能是時候提出警告。如果您使用圖形登錄登錄到計算機,那麼您可能沒有bash shell作爲所有進程的最終祖先。對我來說已經有一段時間了;有沒有像'.xinitrc'或者Gnome/KDE等價物可以添加'SHELL = tmux'設置? – chepner

1

結合前兩個答案:

alias xterm='SHELL=tmux xterm' 

你剛剛開始的時候xterm獲得所需的行爲,但你仍然可以使用的xterm用於其他操作,如xterm top

相關問題