команда bash для изменения заголовка окна экрана (внутри сеанса экрана) - PullRequest
0 голосов
/ 26 февраля 2019

Я хочу установить заголовок текущего окна экрана (внутри сеанса экрана) с помощью команды bash.

Я знаю, что это можно сделать через Ca A, но это не работает напрямую как команда оболочки.

screen -t <mytitle> <args>

в текущем окне работает, но создает новое окно.Я хочу переименовать текущее окно.

Все посты, которые я видел, имели дело с этим вне сеанса рабочего экрана, или использовали экранные сочетания клавиш / команды.

Ответы [ 2 ]

0 голосов
/ 26 февраля 2019

Я использовал вариант ответа Rk Lohana, который использует python.

import os;
if __name__=='__main__':
 title=sys.argv[1]
 info=r'echo -n "\033k%s\033\\"' %(title)
 os.system(info)
0 голосов
/ 26 февраля 2019

Откройте файл ~ / .bashrc в gedit

gedit ~/.bashrc

Добавьте следующую функцию в конец файла.

# function to set terminal title
function settitle(){
  if [[ -z "$ORIG" ]]; then
      ORIG=$PS1
  fi
  TITLE="\[\e]2;$*\a\]"
  PS1=${ORIG}${TITLE}
}

Перезапустите файл bashrc, чтобы изменения вступили в силу втекущий терминал.Впоследствии это не понадобится.

source ~/.bashrc

Теперь с помощью функции переименуйте имя терминала из оболочки.От типа оболочки

settitle hello

Это будет называться привет.

...