выход через 30 минут неактивного XFCE4

Нажмите на синий текст:

Terminal preferences window with popup showing how to notify Terminal of the current working directory

Так что вам просто нужно добавить эту маленькую escape-последовательность в приглашение, чтобы Терминал знал, где вы находитесь. Легкий!

Или, если вы думаете, что это немного загадочно, давайте посмотрим, как bash справляется с этим. Проверка man bashпоказывает, что когда bash вызывается как интерактивная оболочка входа в систему (, это должно быть по умолчанию при открытии окна терминала или вкладки ), один из файлов, на которые он ссылается, — /etc/profile.

Быстрый взгляд на /etc/profileпоказывает, что он может загрузить /etc/bashrc.

А заглянув внутрь /etc/bashrc, видно, что он пытается загрузить /etc/bashrc_$TERM_PROGRAM. Быстрая проверка:

> echo $TERM_PROGRAM
Apple_Terminal

А less /etc/bashrc_Apple_Terminalпозже, и джек-пот! В самом верху:

# Tell the terminal about the current working directory at each prompt.

За ней следует функция, которая делает именно это и готова для включения в приглашение (bash ). Я воздержусь от копирования функции здесь, так как я не совсем уверен в законности этого, хотя я включу последнюю строку функции, так как я считаю, что это достаточно тривиально, чтобы быть добросовестным:

printf '\e]7;%s\a' "file://$HOSTNAME$url_path"

По сути, это загадочная управляющая последовательность из всплывающего окна настроек. Остальная часть функции полностью посвящена настройке переменной $url_pathс необходимой процентной кодировкой _. Вам нужно будет перевести этот материал в zsh или просто извлечь его во внешний скрипт bash и вызвать его, хотя запуск экземпляра bash каждый раз может немного замедлить ваше приглашение.

1
08.10.2020, 19:48
0 ответов

Теги

Похожие вопросы