Приложения не запускаются без sudo

Теперь я исследовал это в течение большей части дня и, наконец, нашел способ установить этот заголовок. Это делается через escape-последовательности, которые начинаются с \ e] 0; и заканчивается символом BEL (= \ 007 = \ a). В отличие от вышеизложенного, сообщения из оболочки обратно в терминальное приложение возможны и очень ограничены с помощью таких управляющих последовательностей (есть еще несколько).

Об этом сверху:

PROMPT_COMMAND='echo -ne "\e]0;YOUR TITLE GOES HERE\a"'

Это работает , но это не всегда. PROMPT_COMMAND - это переменная, содержимое которой выполняется каждый раз, когда вы отправляете команду, поэтому она также отправляет эту escape-последовательность. Однако это может быть преодолено с помощью escape-последовательности в переменной PS1, которая задает приглашение командной строки. Вот почему приведенное выше не имело никакого эффекта.

Из более старой установки Ubuntu я схватил это, которое устанавливает командную строку (правая часть, после ]), а также отправляет требуемую escape-последовательность (слева часть, вплоть до ]):

PS1="\[\e]0;\u@\h: \w\a\]\u@\h:\w\$ "

Это, вероятно, работает лучше, потому что нет необходимости интерпретировать $PROMPT_COMMAND каждый раз. У него также есть много других опций, потому что у Bash есть больше escape-последовательностей, например. \u для текущего имени пользователя, \W для текущего имени каталога или \w для всего пути к текущему рабочему каталогу, необязательно обрезанного только последними числом по номеру в $PROMPT_DIRTRIM. См. Главу PROMPTING на странице управления Bash. Также обратите внимание, что escape-последовательность дополнительно должна быть окружена \[ и \] здесь.

Чтобы установить фиксированный заголовок, это работает:

PS1="\[\e]0;YOUR TITLE GOES HERE\a\]\u@\h:\w\$ "

Наслаждайтесь!

Во время моего исследования я также попытался понять исходный код gnome-terminal, который приводит к исходному коду vte, и там поддержка настройки заголовка и считывания escape-последовательностей считается угроза безопасности: см. здесь (случай 20, случай 21) и здесь («Отчет о заголовке окна»).

2
задан 28 February 2018 в 17:44

0 ответов

Другие вопросы по тегам:

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