Чи є спосіб надати певну назву сеансу на екрані Unix? Наприклад, скажіть, що я запускаю одну і ту ж програму кілька разів, кожен з різними параметрами, і я хочу сказати, яка з них є.
Чи є спосіб надати певну назву сеансу на екрані Unix? Наприклад, скажіть, що я запускаю одну і ту ж програму кілька разів, кожен з різними параметрами, і я хочу сказати, яка з них є.
Відповіді:
Ви можете назвати сеанс, починаючи його з -S name
опції. На екрані, що працює, ви можете змінити його, ввівши CTRL-a, :sessionname name
. Ви можете переглядати запущені екранні сеанси за допомогою screen -ls
та підключатися до них по імені screen -xS name
.
У межах одного сеансу на екрані ви також можете назвати кожне вікно. Зробіть це, ввівши CTRL-a, A
потрібне ім’я. Ви можете переглянути інтерактивний список іменованих вікон, ввівши CTRL-a, "
та виберіть той, на який ви хочете перейти зі цього списку.
Іменування як екранів, так і терміналів на екранах дуже корисно для запам'ятовування того, що вони є, і чому ви їх почали в першу чергу.
:sessionname NEWNAME
), але це "загалом не рекомендується". $STY
Змінна середовища по- , як і раніше належить до початкового назвою. Дивіться screen
посібник: gnu.org/software/screen/manual/html_node/Session-Name.html
Тут є два поняття, і я не впевнений, яке саме ви маєте на увазі:
C-a c
створює вікно C-a n
та C-a p
переходить на наступне / попереднє вікно тощо.-r
або -R
) створює новий сеанс.У Windows є заголовки, які можна встановити за допомогою параметра -t
командного рядка, C-a A
прив'язки клавіш, title
команди чи \ek
послідовності виходу. Детальну інформацію див. У відповіді «оболонки» .
Сесії можуть мати імена. Зазвичай ви встановлюєте ім'я в командному рядку за допомогою -S
параметра; якщо ви не вказали ім'я, екран складається з одного. Якщо ви використовуєте кілька сеансів на екрані, зазвичай ви даєте їм різні назви сесій. Ви можете перелічити сеанс запущеного екрану за допомогою screen -ls
; перше слово в кожному рядку сеансу - це 12345.sessionname
12345 - ідентифікатор процесу на екрані. Використовуйте screen -r sessionname
або screen -r 12345
продовжуйте сеанс, вказаний через його ім'я або ідентифікатор процесу.
Ах ... Екран, це повертає мене назад ;-)
За одне вікно
-t name
sets the title (a.k.a.) for the default shell or specified program.
See also the "shelltitle" .screenrc command.
Для взаємних сеансів, розпочатих з вашого .screenrc
screen -t top 2 nice top
screen -t ....
Ось посилання на одну он-лайн копію чоловічої сторінки для екрана.
Редагувати: додано
Щоб змінити ім'я поточного екрана, зробіть інструмент для сценарію оболонки типу
cat scrnTitle.sh
#/bin/bash
echo -ne '\ek${0}\e\\'
Не перевірено, у мене немає екрана в системі, над якою я працюю.
screen
принаймні 25 років. Забирає мене назад, бо зараз це стосується особливого випадку використання screen
. Зазвичай я просто відкриваюсь X-Terms
, але пам’ятаю, коли X
на 486 ПК здавалося неможливим ;-) Привіт!
Наведені вище відповіді розповідають, як назвати екран при його запуску. Вони також зазначають, що екран не можна перейменувати після його запуску. Заголовок вікна можна встановити, але ім'я, яке використовується для прикріплення до екрана, залишається pid.pty.host.
Однак для досягнення корисного ефекту я виявив, що використання псевдоніма працює досить добре. Якщо я забуду назвати екран або опинився на сеансі з купою екранів, які, природно, стали екранами для певних завдань, я просто встановив псевдонім для команди, яку потрібно приєднати до них.
приклад:
alias goncompile='screen -r 2354'
Якщо сама команда псевдоніму нагадає, які екрани ви створили та команду, яку ви встановили для них.
Використовуйте unalias
для їх видалення.