タブを右クリックしてタイトルを変更できるようになりました。これを行う方法がわかりません。 Fedora 21にアップグレードしました。
編集:私はgnome-terminalからROXtermに切り替えました
~/.bashrc
に関数を作成します。
function set-title() {
if [[ -z "$ORIG" ]]; then
ORIG=$PS1
fi
TITLE="\[\e]2;$*\a\]"
PS1=${ORIG}${TITLE}
}
次に、新しいコマンドを使用して端末のタイトルを設定します。名前のスペースも使用できます
set-title my new tab title
その後、set-title
を再び使用することができます(元のPS1はORIG
として保持されます)。
user title
コードが削除されました1 gnome-terminal 3.14
から。タイトルを設定するには、エスケープシーケンスを使用できます。
printf "\e]2;YOUR TITLE GOES HERE\a"
または例: bash
:
Prompt_COMMAND='echo -ne "\033]0;YOUR TITLE GOES HERE\007"'
1:gnome bug 72411 およびgnome bug 740188 を参照してください。
新しいバージョンのgnome-terminalは、最も役立つプロフェッショナル機能を破棄しました。 :
古いバージョンのgnome-terminalをセットアップして実行しようとし、代替案を比較しました。
terminator
がエキゾチックすぎる場合は、mate-terminal
は素晴らしいオプションです!これはgnome-terminalのフォークであり、すべての優れた機能を保持しています。
コマンドラインから複数のタブを開いて、異なるタイトルを付けることができます
mate-terminal --tab -t "aaa" --tab -t "bbb" --tab -t "ccc"
キーボードショートカットを設定して(Ctrl + Shift ----(iを使用)、t i tleを設定できます
Ubuntu 16.04を使用している場合は、次の操作が必要になることがあります。
PS1=$
Prompt_COMMAND=
echo -en "\033]0;New title\a"
link に詳細を記載しています。
これを.bashrcに入れます:
function title() {
p1='echo -ne "\033]0;'
p2='\007"'
Prompt_COMMAND=$p1$@$p2
p1=
p2=
}
@ Weston Ganger この関数を書き( そしてここに投稿 )して_~/.bashrc
_に入れます:
_function set-title() {
if [[ -z "$ORIG" ]]; then
ORIG=$PS1
fi
TITLE="\[\e]2;$*\a\]"
PS1=${ORIG}${TITLE}
}
_
次に、_set-title TERMINAL NAME
_を呼び出して端末のタイトルを設定できます(名前を囲む引用符はオプションです)。
それは私にはかなり不思議に見えました( 彼の回答 の下にある私のコメントを参照)、私は昨夜数時間を費やして、彼が何をしたか、なぜそれが機能したのかを理解するために勉強しました。これが私が見つけたものです:
gnome-terminal
_ 3.16.2以降( この回答の下のコメントを参照 )以降、「オプション_--title
_はサポートされなくなりました。」それ以外の場合は、_gnome-terminal --title="my title"
_を実行するだけです ここで使用していたように 。$@
_ではなく_$*
_を使用する必要があります。明らかに_$@
_は「すべての入力引数」を表すPOSIXの方法であるため、バグが発生しにくく、互換性が高くなります。したがって、以下のバージョンでは、_$@
_ではなく_$*
_を使用しています。\[\e]2;new title\a\]
_。このタイトルを端末ウィンドウに適用するには、その "Prompt String 1"または_PS1
_変数 、この「セットタイトル」エスケープシーケンスafterを追加することにより、現在のプロンプト文字列1のようになります:_PS1="${PS1}\[\e]2;new title\a\]"
_。 _gnome-terminal
_は_--title
_引数をサポートしないため、これがタイトルを設定する唯一の方法であると思われます。さて、これがWeston Gangerの関数の私のバージョンで、広範な説明コメントがあります。これは my dotfiles になるので、失うことはありません。
_# Set the title string at the top of your current terminal window or terminal window tab
set-title() {
# If the length of string stored in variable `PS1_BAK` is zero...
# - See `man test` to know that `-z` means "the length of STRING is zero"
if [[ -z "$PS1_BAK" ]]; then
# Back up your current Bash Prompt String 1 (`PS1`) into a global backup variable `PS1_BAK`
PS1_BAK=$PS1
fi
# Set the title escape sequence string with this format: `\[\e]2;new title\a\]`
# - See: https://wiki.archlinux.org/index.php/Bash/Prompt_customization#Customizing_the_terminal_window_title
TITLE="\[\e]2;$@\a\]"
# Now append the escaped title string to the end of your original `PS1` string (`PS1_BAK`), and set your
# new `PS1` string to this new value
PS1=${PS1_BAK}${TITLE}
}
_
set-title my tab 1
_ OR _set-title "my tab 1"
_set-title $PWD
_ OR _set-title "$PWD"
_set-title '$PWD'
_-これにより、新しいディレクトリにcd
するたびに、現在の作業ディレクトリのタイトルが更新されます。set-title '$(date "+%m/%d/%Y - %k:%M:%S")'
-タイトルが変更されるたびにタイトルが新しい日付と時刻に更新され、新しい端末コマンドを入力します!形式は次のようになります:_02/06/2020 - 23:32:58
_Topやsshなどの常駐プログラムを実行すると、タブは適切にラベル付けされます。
gnome-terminal --tab -e top -t "aaa" --tab -e top -t "bbb"
1行の解決策、次の行を.bashrcに追加します
alias tab_name='read -p "Name to Assign:" tabname ; printf "\e]2;$tabname\a" '
ターミナルでtab_nameと入力します。
user:~$ tab_name
Name to Assign: ( type desired name here! )
完了
私は同じ問題を抱えていて、マウスの右クリックからタブタイトルを設定する簡単な方法がないことを発見しました(私とほとんどの同僚が慣れている方法です)。それは同時にとても苛立たしいものでした:(。したがって、私たちの場合、解決策は端末を切り替えることでした。そのため、サクラなどの代替案を検索し、最終的にxfce-terminalに落ち着いたら、以下のコマンドを使用してインストールします
Sudo apt-get install xfce4-terminal
プロファイルと右クリックしてタブ名を変更するコマンドを提供します。他のすべての機能はGnomeに似ています
@Weston Gangerの答えの拡張として、新しいGnome端末を開いたときに自動的にタイトルを設定する場合は、これを~/.bashrc
の下部に追加します。
if [ ! -z "$SET_TITLE" ]; then
set-title $SET_TITLE;
export SET_TITLE=;
fi
次に、次のようなターミナルを起動します。
gnome-terminal --tab -e 'bash -c "export SET_TITLE=\"my title\"; bash -i"'
そして、自動的にset-title
を実行してタイトルを適用します。