Имя окна в строке состояния
У меня вопрос по поводу строки состояния в бёбу. Когда я использую byobu на моем собственном компьютере, имя текущего окна - это просто номер окна (начиная с 0; выглядит как "0:", "1:" и т. Д.). Тем не менее, я установил byobu на удаленный сервер (ssh), и там имя окна - полный путь к текущему каталогу (например, "0:/home/myname/myfolder" и т. Д.). Это не очень удобно, поскольку путь часто очень длинный. Поэтому я бы хотел, чтобы имя было только номером окна.
Я сравнил файлы, находящиеся в папке ~/.byobu, с моего компьютера и с удаленного сервера, но я не смог найти никакой разницы. Я пробовал разные настройки в файлах statusrc (и других) и провел много часов в Интернете, но не нашел ответа на этот вопрос... Я довольно отчаялся...
Может кто-нибудь сказать мне, где (какая команда, в каком файле) этот параметр должен быть сделан??
Заранее спасибо!
вересковые
2 ответа
Эта же проблема действительно свела меня с ума, когда наша компания обновила среду, которую я чаще всего использую, до CentOS 7. Мой бёбу с бэкэндом tmux, в любом случае в CentOS 6, использовался для отображения имени исполняемого файла любой команды, выполняемой в оболочке, или просто "Баш", если ничего не работает. Это было приемлемо и иногда полезно, но часто показанная команда была просто "cat" или "python", потому что она показывала только первый токен команды или переданную серию команд. Тем не менее, я бы взял на себя показ текущего рабочего каталога, который всегда смехотворно длинный.
После долгой борьбы я закончил с этим в моем файле.bashrc, чтобы я мог вручную установить заголовок любого из окон:
function set_title {
printf "\033k$1\033\\"
}
таким образом, я мог бы в командной строке типа set_title some_topic
где some_topic было чем-то значимым для меня, чтобы напомнить мне обо всем, для чего я использовал эту оболочку (и ее историю команд). К моему удивлению, и я не знаю почему, но тогда byobu начал делать то, что делал раньше - автоматически менять заголовок окна в строке состояния на текущую команду. Так или иначе, пока я не выполню set_title project1
(или что угодно). Затем с этого момента заголовок окна будет оставаться project1, пока я не сделаю set_title
снова. Сейчас я на самом деле нахожу это предпочтительное поведение - по умолчанию показывается команда выполнения, но я могу вручную установить для нее что-то более значимое, и тогда ничто не сбрасывает его на меня. Я уверен, что функция set_title выше будет работать для вас (если вы используете bash) для ручной настройки заголовков. Что касается того, действительно ли он волшебным образом начинает показывать имя команды снова по умолчанию, и безо всякой причины могу сказать, YMMV.
Я столкнулся с этой проблемой в Fedora, которая поставляется с tmux 3.2a.
Вот что я думаю пошло не так. В tmux 3.2a есть опция
allow-rename
это вроде как нужно. Если вы не включите его, я думаю, что tmux игнорирует попытки byobu использовать escape-последовательности для переименования панелей.
Я добавил эту строку в
~/.byobu/.tmux.conf
:
set -g allow-rename on
и перезапустил бёбу. Теперь в строке состояния отображается
0:<directory of pane 0> 1:<directory of pane 1> etc.