私はguakeを非常に頻繁に使用し、任意の時点で3台以上のコンピューターにsshします。また、いくつかのタブ(ターミナル)でデーモンを実行しています。私が知りたいことは、現在のコマンドの名前をターミナルの名前にすることは可能ですか?タブを右クリックし、その名前を変更すると、これが発生します:(ターミナル5の後のタブを見てください)
ありがとう。
これは、guake(0.4.1)のバグです。筆者はこれが最善の方法ではないと言っていますが、私はこのバグレポートでこの問題を見つけて解決しています: https://github.com/Guake/guake/issues/205
タブラベルを設定するコード(行986)の後にダイアログ破壊コード(guake.py行983)を下に移動すると、実際に問題が解決されることがわかりました。だから私のために働くコードは次のようになります:
response = dialog.run() # dialog.destroy() if response == gtk.RESPONSE_ACCEPT: self.selected_tab.set_label(entry.get_text()) dialog.destroy()
gtkとダイアログに問題があるかもしれませんが、バージョン0.4.1 diffでgtkに関連するコードの変更は見つかりませんでした。
編集:guake 0.4.2はタブ名を正しく変更できます
これがguakeで動作するかどうかはわかりませんが、ほとんどのターミナルエミュレータで動作します。端末のタイトルを変更するには、スクリプトにエコーを含めることができます。
echo -ne "\033]0;your_title_here\007"
ちょっとしたハックですが、これは現在の端末の名前をssh'edに変更します。
function ssh() {
guake -r "$@";
/usr/bin/ssh $@
}
また、Prompt_COMMANDを更新する場合、毎回端末名を更新する機能を使用できます。ただし、コマンドの実行後に名前が変更されるだけなので、これはsshの問題には機能しません。
例えば.
export Prompt_COMMAND=renameTerminal
function renameTerminal() {
guake -r "$SOMENAME";
}
Guakeでタブ名を変更する場合は、タブ名を右クリックして名前を変更します。新しい名前を入力するためのポップアップボックスが開きます。
単にタブ名を変更することができます
guake -r newtabname
最新の実行中のコマンドを取得したい場合は、例えば
echo "!!" | cut -f 1 -d " "
!!
は、入力時にbashによって展開されます。エイリアス置換によって拡張されません。したがって、history
ビルトインを使用して展開を行い、エイリアスに配置する必要があります。
alias setguaketitle='guake -r $(echo "$(history -p !! )"| cut -f 1 -d " ")'
最後のコマンドが
echo this is a test
それから
setguaketitle
タイトルを「エコー」に設定します。
シェルをzshに変更する場合、これを~/.zshrc
に追加できます。
preexec() {
echo -n '\e]0;'
echo -nE "$1"
print -nP ' (%~)'
echo -n '\a'
}
現在のコマンドと現在の作業ディレクトリが表示されます。これは、guakeだけでなく、すべてのターミナルエミュレーターで機能します。
Zshをインストールするには:
Sudo apt-get install zsh
試してみてください
zsh
新しいターミナルのデフォルトにする:
chsh -s /bin/zsh