Чи є спосіб надати певну назву сеансу на екрані 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.sessionname12345 - ідентифікатор процесу на екрані. Використовуйте 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для їх видалення.