화면 이름을 지정하는 방법은 무엇입니까? [닫은]


471

사용하고 있습니다 screen커맨드 쉘 멀티플렉서 도구를 있으며 많은 화면을 엽니 다. 그런 다음 어떤 프로세스 ID가 어떤 작업과 연결되는지 잊어 버립니다.

화면 이름을 설정하고 싶지만 맨 페이지에서 옵션을 찾을 수 없습니다.

현재 화면을 나열하는 방법은 다음과 같습니다.

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

스크린 세션의 이름은 단일 작업 (새 명령 일 수 있음)마다 새로운 스크린 세션을 생성 할 것을 제안합니다. Screen은 여러 창을 지원 하므로 단일 화면 세션에서 이러한 모든 작업을 실행할 수 있습니다.
Melebius

3
슈퍼 유저 (또는 다른 StackExchange 사이트)로 마이그레이션 할 수 있습니까? 분명히이 특정 사이트의 범위를 벗어나지 만 많은 사람들에게 매우 유용합니다.
Patrick Sanan

1
만약 당신이이 사이트에서 모든 이력을 가지고 그곳으로 옮길 수있는 옵션을 찾으면, 그것을 옮길 것에 동의합니다
spankmaster79

답변:


652

새 세션을 시작하려면

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 )
네이트 리터

매우 감사. 나는 당신이 이름으로 시작할 수 있다는 것을 알고 있지만, 종종 이름을 짓지 않고 시작한 다음 나중에 할 수 있기를 바랍니다. 감사!
Ketzak

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 아래
Rakib

Google에서 "이름으로 새 화면을 만들려면"을 검색했는데 이것이 첫 번째 결과입니다. 내가 찾던 것 :) 고마워요
Skylord123

세션 이름을 바꾸려면 다음을 수행하십시오. Ctrl + a, : sessionname YOUR_SESSION_NAME 입력하십시오.
Slake

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'

예를 들어 lynx를 화면과 함께 사용

화면 만들기 :

screen -S lynx lynx

Ctrl+ a,d = 종료

나중에 당신은 함께 돌아갈 수 있습니다 :

screen -r lynx

18
이것에 대한 세 가지 문제. 첫째, 여러 사람들이 이미 이것을 게시했습니다. 둘째, 이미 알고있는 기본 화면 사용법을 알려줍니다. 셋째, 당신은 그가 이미 존재하는 스크린 세션의 이름을 지정하는 방법을 물었 기 때문에 실제로 질문에 대답하지 않았습니다.
Steely Dan

0

나는 스크린 초보자이지만 연결이 끊긴 것을 복원하는 데 매우 유용합니다. 귀하의 질문에 이미 답변되었지만이 정보는 추가 기능으로 사용될 수 있습니다-퍼티 연결 관리자와 함께 퍼티를 사용하고 화면 이름을 "tab1", "tab2"등으로 지정합니다. 8-10의 전체 그림 탭은 각 개별 탭 이름보다 중요합니다. 나는 8 번째 탭을 사용하여 db에 연결하고 7 번째를 로그를보기 위해 사용합니다. 따라서 화면을 다시 연결하려면 간단한 래퍼를 작성했습니다.

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

여기서 첫 번째 인수는 탭 번호입니다.


1
이것은 bash 함수로 더 잘 수행 될 수 있습니다.
Paul 가격
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.