在Guake中烦人的autorenaming

我喜欢Guake下拉终端,但它有一个恼人的问题。 当我使用很多选项卡时,我讨厌每次执行命令或在其中一个命令中导航时选项卡名称重命名。 我想重命名任何选项卡并在所有会话中保留名称。 例如,当我使用Midnight Commander并且我进入一个长路径文件夹时,选项卡会扩展并且很糟糕。 当我导航到/weird/long/infinite/path文件夹时,我看到选项卡名称mc [user@machine_name]:/weird/long/infinite/path

我是否可以为每个选项卡始终使用相同的名称,即使手动重命名也是如此?

赶紧跑

 gconftool-2 --set /apps/guake/general/use_vte_titles --type boolean false 

并重启你的终端,

像饼一样容易(3.14)

我找到了一种方法来禁用恼人的重命名。 我在第996到1002行的guake Python脚本(版本0.4.3-3)中找到了:

 def on_terminal_title_changed(self, vte, box): use_them = self.client.get_bool(KEY("/general/use_vte_titles")) if not use_them: return page = self.notebook.page_num(box) self.tabs.get_children()[page].set_label(vte.get_window_title()) 

如脚本所示, /general/use_vte_titles键可防止自动执行function。 Guake使用GConf来配置他的选项( 解释 )。 我不得不安装gconf-editor软件包来编辑执行sudo apt-get install gconf-editor Guake选项。 然后我执行了gconf-editor ,我浏览了/apps/guake/generaluse_vte_titles键。 关闭编辑器。 下次我执行Guake时,自动恢复function被禁用。

现在,所有选项卡都被命名为Terminal ,如果我重命名一个,它仍然命名所有具有相同名称的会话。 将此密钥添加到Guake首选项对话框中会很有帮助。 但无论如何,这个解决方

在命令行上:

vim~ / .gconf / apps / guake / general /%gconf.xml

应该有这样的条目:

  

只需将其更改为:

  

保存文件并重新启动。

考虑简单地缩短终端标题。 该算法在.bashrc定义,当你注意到时,终端标题将被Guake尊重:

我的.bashrc包含以下内容:

 # If this is an xterm set the title to user@host:dir case "$TERM" in xterm*|rxvt*) PROMPT_COMMAND='PS1X=$(pwd | sed -r "s-^$HOME/--;s-^$HOME-~-;s-^(.[^/]*)/.*/-\1/.../-")' PS1="\[\e]0;${debian_chroot:+($debian_chroot)}"'$PS1X'"\a\]$PS1" ;; *) ;; esac 

主机名不再显示,仅显示第一个和最后一个路径组件:

$HOME – > ~

$HOME/some/deep/sub/dir – > some/.../dir

/usr/local/deeply/inside/there /usr/.../there /usr/local/deeply/inside/there – > /usr/local/deeply/inside/there /usr/.../there

使用此设置,选项卡按钮足够窄但仍包含有用信息。

也可以看看:

https://stackoverflow.com/q/3497885/946850

https://unix.stackexchange.com/q/26844/19205

是的我也有这个问题,我很惊讶它仍然出现在最近的Guake版本中。 在最新的版本中,我认为可以选择将终端命名为Terminal 1Terminal 2等,这也没有多大帮助。

在过去的几年里,我在.zshrc使用了一个简单的脚本(我使用Zsh终端,但你可以在Bash中应用类似的东西)。

 function chpwd { if [ -e ".guakerc" ]; then setupguake else guake -r ${PWD##*/} fi } function setupguake() { . $(pwd)/.guakerc if ((${+name})); then guake -r ${name} fi } 

基本上它是这样做的,它监视任何目录更改(通过chpwd ),如果找到.guakerc文件则运行它。 在该文件中,您可以设置guake title和许多其他内容。

如果没有找到.guakerc文件(最常见的情况),它只是将文件夹名称设置为终端名称。 因此,如果您位于名为/home/username/Development/social-app的文件夹中,它会将终端重命名为social-app

希望能帮助到你!