Мне нравится выпадающий терминал Guake, но у него есть раздражающая проблема. Когда я использую много вкладок, я ненавижу, когда имена вкладок переименовываются каждый раз, когда я выполняю команду или перемещаюсь в одной из них. Я хочу переименовать любую вкладку и сохранить имя во всех сеансах. Например, когда я использую Midnight Commander и вхожу в папку с длинным путем, вкладка раскрывается, и это ужасно. Я вижу имя вкладки mc [user@machine_name]:/weird/long/infinite/path
при переходе к папке /weird/long/infinite/path
.
Могу ли я всегда иметь одно и то же имя для каждой вкладки, даже если переименовываю ее вручную?
просто запустите
gconftool-2 --set /apps/guake/general/use_vte_titles --type boolean false
и перезапустите свой терминал,
easy as pie (3.14)
Я нашел способ отключить назойливое переименование. Я нашел в своем скрипте Python guake (в версии 0.4.3-3) в строках с 996 по 1002:
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
предотвращает функцию автоматического переименования. Это Guake использует GConf для настройки своих параметров (объяснение , ). Мне пришлось установить пакет gconf-editor для редактирования параметров Guake, выполняющих sudo apt-get install gconf-editor
. Затем я выполнил gconf-editor
, просмотрел /apps/guake/general
и не пометил клавишу use_vte_titles
. Закрыт редактор. В следующий раз, когда я выполнил Guake, функция автоматического переименования была отключена.
Теперь все вкладки называются Terminal
, и если я переименую одну, она все равно будет называть все сессии с одинаковыми именами. Было бы полезно добавить этот ключ в диалог настроек Guake. Но это решение сработало в любом случае.
Рассмотрим просто сокращение заголовка терминала. Алгоритм определен в .bashrc
, название терминала будет уважаться Гуаке, как вы заметили:
My .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
[ 117] -> /usr/.../there
При этой настройке кнопки вкладок достаточно узкие, но все же содержат полезную информацию.
См. Также:
Да, у меня тоже была эта проблема, и я так удивлен, что она все еще появляется в последних версиях Guake. В последней версии, я думаю, есть возможность назвать терминалы Terminal 1
, Terminal 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 и многое другое.
Если файл .guakerc
не найден (самый обычный случай), он просто устанавливает имя папки в качестве имени терминала. Поэтому, если вы находитесь в папке с именем /home/username/Development/social-app
, она переименует терминал в social-app
.
Надеюсь, это поможет!
На командной строке:
энергия ~/.gconf/apps/guake/general/%gconf.xml
Должна быть запись что-то вроде этого:
<entry name="use_vte_titles" mtime="1404143215" type="bool" value="true"/>
Просто измените его на:
<entry name="use_vte_titles" mtime="1404143215" type="bool" value="false"/>
Сохраните файл и перезапустите землетрясение.