問題描述
我有幾個終端在我的工作環境中運行,我希望為每個終端設置一個特定的標題,以便清楚地了解特定終端的用途,例如Apache,editing_ini,postgres等。
當然從命令行。
最佳解決思路
-
用戶最友好的方式是從菜單中選擇終端 – > “設置標題…”。
-
還有其他方法,但你也可以發布
gnome-terminal --title="SOME TITLE HERE"
這可能不會產生預期的效果,因為您的
.bashrc
極有可能會覆蓋該行為。 -
把我們帶到最後一個方法,我無恥地從我的
.bashrc
中剔除。PROMPT_COMMAND='echo -ne "\033]0;SOME TITLE HERE\007"'
作為一個額外的參考,這是我.bashrc
中的特定行
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"'
您可能還需要在〜/.bashrc中注釋該代碼
case "$TERM" in
xterm*|rxvt*)
# JEFFYEE REMOVED because it makes commands to title() not work
#PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
;;
*)
;;
esac
次佳解決思路
如果你想在每次打開終端時根據你所在的主機來設置你的標題,Ward的答案是非常好的。如果你隻是想快速設置一個標題,你可以直接運行echo:
echo -ne "\033]0;SOME TITLE HERE\007"
或者製作一個簡單的bash腳本,比如說termtitle
#!/bin/bash
echo -ne "\033]0;${1}\007"
您可以使用termtitle "some title here"
運行
第三種解決思路
如果你使用Vim編輯器,你也可以在你的vimrc中啟用這個選項:
:set title
這是默認禁用的。它會設置很酷的終端標題,顯示當前正在編輯的文件名以及其他一些內容。
第四種思路
為了完整起見,我想補充一點,您還可以使用以下命令設置gnome-terminal
標題:
wmctrl -r :ACTIVE: -N "MyWindowTitle"
您需要首先安裝包wmctrl。
第五種思路
啊,很多答案…
我嘗試了wmctrl,幾乎可以工作,除非我不能改變圖標標題,至少不是永久性的。
解決方案是在Ubuntu的PS1設置標題。
默認PS1是
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$
…在第一個轉義序列中設置標題。
因此,有兩種解決方案:
解決方案1:簡化PS1,然後使用PROMPT_COMMAND
將PS1更改為更簡單:
PS1="\u@\h:\w\$ "
…然後使用PROMPT_COMMAND:
PROMPT_COMMAND='echo -ne "\033]0;SOME TITLE HERE\007"'
解決方案2:直接修改PS1
隻需使用新標題修改PS1:
PS1='\[\e]0;newtitle\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
第六種思路
如果您是Ubuntu用戶,則可以使用HUD更改gnome-terminal選項卡的標題。
在gnome-terminal中,按住Alt打開HUD,鍵入前幾個字母,例如”tit”,回車並輸入新的標題。
這是一個非常快速的方法,避免使用鼠標。
第七種思路
改變gnome-terminal
標題的另一種方法是使用gconftool-2
;這將更改所選配置文件的初始終端標題,因此您可以使用與’Apache’,’Editing’等標題相關的不同配置文件。然後,您將啟動具有適當配置文件的gnome-terminal
以獲取您指定的終端標題。這與gnome-terminal --title "name"
形成鮮明對比,gnome-terminal --title "name"
更改每個終端的標題,但不影響配置文件中指定的初始標題。
您可以在腳本中使用以下命令來設置配置文件的終端名稱,並且您可以在一天中的某些時間更改終端的名稱以提醒您:
gconftool-2 --set /apps/gnome-terminal/profiles/Default/title --type=string "Apache"
這是用於默認配置文件,但您可以為其他配置文件設置標題,例如,將Default
更改為另一個配置文件,如Profile0
:
gconftool-2 --set /apps/gnome-terminal/profiles/Profile0/title --type=string "Editing"
我認為這種改變標題的方法是有用的,因為它可以用於腳本編寫,或者就像一個快速的命令行方法來為配置文件設置標題。請注意,有時您必須重新啟動具有指定配置文件的終端才能使gconftool-2
設置生效。可用於gnome-terminal
的完整設置可以用gconftool-2 -R /apps/gnome-terminal
列出。
第八種思路
另一種解決方案是使用xdotool模擬擊鍵,在腳本中可能很有用:
-
在gnome-terminal中設置鍵盤快捷鍵:
Edit > Keyboard Shortcuts... > Terminal > Set Title
例如分配
Shift+Ctrl+Y
。 -
如果您尚未安裝
xdotool
,請安裝:sudo apt-get install xdotool
-
以下命令序列(也可以在bash腳本中使用)將設置終端/選項卡標題(使用
\
轉義空格):xdotool key ctrl+shift+y xdotool type My\ new\ fabulous\ title xdotool key Return
-
[可選]您也可以使用xdotool來例如使用以下命令打開一個新選項卡並設置標題:
xdotool key ctrl+shift+t
考慮在打開新標簽之前和之後添加休眠時間,例如
sleep 1
(等待1秒)。
這不是最優雅的解決方案,但它對我很有用!以前的答案在我的情況下不起作用。我在Ubuntu 14.04中使用gnome-terminal,並且我想創建一個bash腳本。
第九種思路
要僅顯示標題中的當前工作目錄,請在’.bashrc’中嘗試以下操作:
PROMPT_COMMAND='echo -ne "\033]0; ${PWD##*/}\007"'
要麽
PROMPT_COMMAND='echo -ne "\033]0;$(basename ${PWD})\007"'