Як призначити ім'я екрану? [зачинено]


471

Я використовую screenінструмент мультиплексора в командній оболонці і відкриваю багато екранів. Потім я забуваю, який ідентифікатор процесу пов'язаний з якою задачею.

Я хотів би встановити ім'я для екрана, але не можу знайти параметр на сторінці сторінки.

Наразі перелік екранів виглядає приблизно так:

There are screens on:
    5422.pts-1.aws1 (Detached)
    5448.pts-1.aws1 (Detached)
    5027.pts-1.aws1 (Detached)
3 Sockets in /var/run/screen/S-sb.

І я хотів би побачити щось подібне:

There are screens on:
    5422.logCleanWorker (Detached)
    5448.overNightLongTask(Detached)
    5027.databaseOverNightLongTask (Detached)
3 Sockets in /var/run/screen/S-sb.

Як я можу це зробити?


4
питання виглядає скоріше, ніж запитання "як перейменувати існуючі сеанси", а не "як почати нові сеанси з імені". У цьому контексті обрана на даний момент відповідь не дуже підходить. Вірна відповідь, скоріше, повинна бути такою, яку дав user164176- stackoverflow.com/a/3309696/636762
Ракіб

Назви ваших сеансів на екрані пропонують створити новий сеанс екрана для одного завдання (можливо, однієї команди). Екран підтримує декілька вікон , тому ви можете виконувати всі ці завдання за один екран.
Мелебій

3
Чи можна це перенести на SuperUser (або інший сайт StackExchange)? Очевидно, що це дуже корисно для багатьох людей, хоча це не входить в рамки цього конкретного сайту.
Патрік Санан

1
якщо ви знайдете на цьому сайті варіант перемістити його туди з усією історією, тоді я погодився б перенести його
spankmaster79

Відповіді:


651

Щоб почати новий сеанс

screen -S your_session_name

Щоб перейменувати існуючий сеанс

Ctrl+ a, :ім'я сесії YOUR_SESSION_NAMEEnter

Ви повинні бути всередині сеансу


14
Це відповідне рішення, оскільки воно фокусується на перейменуванні існуючого сеансу, а не на створенні нового.
thanos.a

4
Швидке зауваження про C-a :синтаксис .... "Усі команди екрана за замовчуванням встановлені за допомогою клавіші" відстеження " C-a(це Control-a, іноді записується ^a). Щоб надіслати буквальний текст C-aна екрані, використовуйте C-a a. Наприклад C-a a n, перенесіть екран у нове вікно на екрані. " (ref: aperiodic.net/screen/quick_reference )
Нейт Ріттер

Цінується. Незважаючи на те, що я знаю, що ви можете почати з імені, я часто починаю, не називаючи, то бажаю пізніше. Дякую!
Кетзак

2
погодився, подивившись на це через пару років: D
spankmaster79

Чи можу я прив’язати C-a :sessionname NEWNAMEщось швидше до введення? Я спробував, bind $ sessionnameале тепер, коли мені C-a $це не підказало мені нове ім'я. Це якось можливо?
andreas-h

592

Щоб створити новий екран з назвою foo, використовуйте

screen -S foo

Потім, щоб знову прикріпити його, запустіть

screen -r foo  # or use -x, as in
screen -x foo  # for "Multi display mode" (see the man page)

16
У своєму рішенні ви пояснюєте, як створити нові з правильними іменами, а не змінювати існуючі. Немає жодного, хто хоче припинити сеанс, якщо можливо зберегти його.
thanos.a

10
Прокрутіть униз до відповіді user164176, щоб побачити, як перейменувати існуючі сеанси.
jlh

1
питання виглядає скоріше, ніж запитання "як перейменувати існуючі сеанси", а не "як почати нові сеанси з імені". У цьому контексті обрана на даний момент відповідь не дуже підходить. Обрана правильна відповідь, скоріше, повинна бути такою, яку подано user164176- stackoverflow.com/a/3309696/636762 нижче
Ракіб

Я шукав "ubuntu створити новий екран з ім'ям" в Google, і це був перший результат. Саме те, що я шукав :) дякую
Skylord123

Щоб перейменувати сеанс: Ctrl + a,: ім'я сесії YOUR_SESSION_NAME Введіть.
Слейк

51

Як уже було сказано, screen -S SESSIONTITLEпрацює для запуску сеансу з заголовком ( SESSIONTITLE), але якщо ви розпочнете сеанс і пізніше вирішите змінити його назву. Це можна досягти, використовуючи прив’язки клавіш за замовчуванням:

Ctrl+ a,A

Які підказки:

Set windows title to:SESSIONTITLE

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

Ctrl+ a,"


40
Ви трактуєте сеанс і вікно термінів як взаємозамінні, коли їх немає. Ctrl+a, Aне встановлює ім'я сеансу ( SESSIONNAME), воно встановлює лише поточну назву вікна . Заголовки вікон протягом сеансу не відображаються у списку сеансів при запиті screen -list. Питання задає питання, як встановити назву сеансу .
StvnW

5
корисно, але воно змінює поточну назву вікна, а не назву сесії.
Znik

13

Найпростіший спосіб використання екрана з ім'ям

screen -S 'name' 'application'
  • Ctrl+ a, d= вийдіть і залиште програму відкритою

Повернення на екран:

screen -r 'name'

наприклад, використовуючи рись із екраном

Створити екран:

screen -S lynx lynx

Ctrl+ a, d= вихід

пізніше ви можете повернутися за допомогою:

screen -r lynx

18
Три проблеми з цим. По-перше, кілька людей вже опублікували це. По-друге, ви говорите йому основні речі щодо використання екрану, які він уже знає. По-третє, ви насправді не відповіли на питання, оскільки він запитав, як назвати вже існуючий екранний сеанс.
Стілі Ден

0

Я початківець на екрані, але вважаю це надзвичайно корисним під час відновлення втрачених зв’язків. На ваше питання вже відповіли, але ця інформація може слугувати доповненням - я використовую шпаклівку з менеджером з'єднання шпаклівки і називаю свої екрани - "tab1", "tab2" і т. Д. - як на мене загальну картину 8-10 вкладки важливіші за кожну окрему назву вкладки. Я використовую 8-ю вкладку для підключення до db, 7-ю для перегляду журналів тощо. Отже, коли я хочу знову приєднати свої екрани, я написав просту обгортку, яка говорить:

#!/bin/bash
screen -d -r tab$1

де перший аргумент - номер вкладки.


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