Як вибрати, що відображається в рядку заголовка PuTTY з Linux?


8

У конфігурації PuTTY є опція у викликах Terminal- & gt ;. Вимкнути зміну заголовка вікна з дистанційним керуванням . Без цього увімкнено, рядок заголовка PuTTY змінюватиметься кожного разу, коли я натискаю кнопку повернення в консолі.

Я думав, що було б більш чистим рішенням встановити текст рядка заголовка з Linux, ніж вказати один для кожного клієнта PuTTY, який я маю. Так де я можу змінити те, що Linux встановлює в якості заголовка вікна?


$ uname -a
Linux drevo 2.6.32-5-amd64 #1 SMP Mon Jan 16 16:22:28 UTC 2012 x86_64 GNU/Linux

$ cat /etc/debian_version
6.0.4

Відповіді:


6

Більшість термінальних програм - у тому числі консолі, putty і xterm - імітують старий термінал VT100. Цей термінал дозволяє встановлювати певні речі, зокрема напівжирний, кольори, встановлюючи назву терміналу, і так далі, використовуючи спеціальні послідовності символів, які називаються escape-послідовностями.

Оболонка bash має змінну з назвою PROMPT_COMMAND, яка, якщо вона встановлена, оцінюється перед кожним запитом, який ви роздруковуєте (я вважаю, що zsh має щось подібне, адже я думаю, що bash взяв код з них). Вихідні послідовності можна виводити в протоколі PROMPT_COMMAND і буде встановлено рядок заголовка.

Це те, що я маю в моєму (Linux / bash):

USER=$(/usr/bin/id -un)
HOSTNAME=$(uname -n)
HOSTNAME=${HOSTNAME%%.*}
PROMPT_COMMAND='echo -ne "\e]0;$USER@${HOSTNAME}: $(pwd -P)\a"'

Ви можете помістити це у ваш ~ / .bashrc

Є багато налаштувань, які ви можете зробити з вашим терміналом. Мені подобається сміливий у своєму підказі, щоб було легше побачити кінець моєї підказки. Це робить його жирним жовтим, добре проти мого чорного тла за умовчанням:

PS1="\[\e[33;1m\]\h:\$\[\e[0m\] "

Подивіться навколо для швидкого налаштування Linux, ви знайдете більше HowTos, ніж ви будете знати, що робити з. Виберіть той, який ви легко знайдете.


14

Заголовок терміналу встановлюється за допомогою спеціальних вимикаючих послідовностей у виході консолі. За промовчанням підказка bash включає в себе ці послідовності і встановлює заголовок поточного робочого каталогу.

Таким чином, вам доведеться відредагувати змінну PS1 (більшу частину часу вона встановлена ​​в ~/.bashrc ), інакше bash перезапише ваш заголовок кожного разу, коли відображатиметься запит.

Потім ви можете встановити назву, поставивши в скрипт, який виконується під час входу, наприклад, ~/.profile:

echo -e "\033]0;<your string>\007"

Зверніть увагу, це єдина, яка відповідає на питання.
Erik Aronesty

Змінити -e до -en якщо ви хочете уникнути додаткового порожнього рядка, який виводиться командою echo.
ADTC

2

Я шукав багато форумів і не знайшов відповіді на запитання:
Як отримати всі виведення команд на назву Putty?

Це потрібно для інших програм, щоб знати, коли деякі завдання на сервері зроблено і чи правильно чи неправильно. Stdout і stdin не працювали. Я використовував багато налаштувань із затримками очікування та для деяких команд, які працювали, для інших - не. XSEL і XCLIP не могли бути встановлені на цьому сервері.

Так ось рішення:

  1. Отримати вивід команди у файл.
  2. Відведіть цей файл до заголовка.

На клієнті Putty і SUSE сервер виглядає так:

ls /home | grep domagaja > logutoit.txt 
echo -e "\033]0\\;$(cat logutoit.txt)\\007\\c"

Сподіваюся, хтось зможе скористатися цим. Звичайно, він не буде працювати для всіх типів серверів і налаштувань клієнта putty, але ідея має добре працювати.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.