Я очень активно использую guake и использую ssh на более чем 3 компьютерах в любой момент времени. У меня также есть демоны, работающие на некоторых вкладках (терминалах). Что я хочу знать, возможно ли иметь имя текущей команды в качестве имени терминала? Если щелкнуть правой кнопкой мыши вкладку и изменить ее имя, это можно сделать следующим образом: (посмотрите на вкладку после терминала 5)
Спасибо.
Немного хак, но это переименует текущий терминал во все, что вы ssh'ed.
function ssh() {
guake -r "$@";
/usr/bin/ssh $@
}
Также, если вы обновите свой PROMPT_COMMAND, у вас может быть функция для обновления имени терминала каждый раз. Хотя это не сработает для вашей проблемы с ssh, так как оно меняет имя только после выполнения команды.
, например,
export PROMPT_COMMAND=renameTerminal
function renameTerminal() {
guake -r "$SOMENAME";
}
Если вы измените свою оболочку на 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
Когда я хочу изменить имя вкладки в guake, я просто щелкаю правой кнопкой мыши по имени вкладки и щелкаю левой кнопкой мыши по имени. Откроется всплывающее окно для ввода нового имени.
Вы можете просто изменить имя вкладки с помощью
guake -r newtabname
. Если вы хотите получить последнюю запущенную команду, используйте, например,
echo "!!" | cut -f 1 -d " "
!!
. введи это. Он не расширяется путем подстановки псевдонимов. Таким образом, вы должны использовать встроенный history
, чтобы выполнить расширение, чтобы поместить его в псевдоним:
alias setguaketitle='guake -r $(echo "$(history -p !! )"| cut -f 1 -d " ")'
, когда вашей последней командой была
echo this is a test
, а затем вызывается
]setguaketitle
установит заголовок на «эхо».
Я не уверен, что это работает для guake, оно работает для большинства эмуляторов терминала. Вы можете включить эхо в свои скрипты, чтобы изменить заголовок терминала:
echo -ne "\033]0;your_title_here\007"
Это ошибка в guake (0.4.1). Я просто вижу и решаю эту проблему через этот отчет об ошибках, хотя автор говорит, что это не лучший метод: https://github.com/Guake/guake/issues/205
[ 113] Я обнаружил, что перемещение кода уничтожения диалога (строка 983 guake.py) вниз после кода, который устанавливает метку вкладки (строка 986), фактически решает проблему. поэтому код, который работает для меня, выглядит следующим образом:
response = dialog.run() # dialog.destroy() if response == gtk.RESPONSE_ACCEPT: self.selected_tab.set_label(entry.get_text()) dialog.destroy()
, возможно, есть некоторая проблема с gtk и диалогами, но я не нашел никаких изменений кода, связанных с gtk, в версии 0.4.1 diff .
blockquote>РЕДАКТИРОВАТЬ : guake 0.4.2 может правильно изменить имя вкладки