68

I am running a screen session and I'd like to change it's name. I know that when starting a new screen session I can use the '-S' option to give it a name. How do I change that name once the session has already started?

0

5 Answers 5

76

There is a screen command to do this. From the manual:

Command: sessionname [name]

(none)

Rename the current session. Note that for screen -list the name shows up with the process-id prepended. If the argument name is omitted, the name of this session is displayed.

Caution: The $STY environment variable still reflects the old name. This may result in confusion. The default is constructed from the tty and host names.

To access the screen command line, use Prefix:, where Prefix is typically Ctrl-a.

So you will most likely have to do so: Ctrl-a:sessionname [name]

2
  • does not work on mac. Do you mean press control + a +: three buttons at once?
    – Ka-Wa Yip
    Aug 6, 2016 at 19:13
  • 5
    no it means ctrl+a (both buttons at once) followed by ':'
    – Harry Wood
    Sep 27, 2017 at 15:03
37

To rename the window title within a screen session:

  • press and release Ctrl+a and then press Shift+a

To rename the actual session name (displayed with screen -ls) use:

6
  • 3
    It seems this changes the window title but not the name shown in, for example, screen -R or screen -list.
    – reg
    Oct 29, 2014 at 17:10
  • 4
    As @reg states, this changes the title of the current window as seen in Ctrl-a " - not the screen session as a whole, which was the question asked by the OP.
    – John Rix
    Aug 13, 2015 at 11:43
  • does not work on mac. Do you mean press control + shift +a?
    – Ka-Wa Yip
    Aug 6, 2016 at 19:12
  • 3
    @kww it's press Ctrl-a first, then Shift-a.
    – mitnk
    Oct 9, 2016 at 3:54
  • C+a doesn't help at all, but the link you posted did Nov 7, 2018 at 10:29
12
# screen -S old_session_name -X sessionname new_session_name
1
  • 1
    This didn't work for me on Fedora 29 (Screen version 4.06.02 (GNU) 23-Oct-17), I had to use Ctrl a followed by :sessionname <new-session-name>. It did, however, work on OS X with Screen version 4.00.03 (FAU) 23-Oct-06
    – adamc
    Nov 21, 2018 at 23:06
2

Don't forget to update the contents of the $STY variable with the new name:

$ session -S OldName -X sessionname NewName

$ echo $STY

PID.OldName  <- Where PID is the actual Process ID on your system

Note: If you tried a screen top at this point, it'll fail with a message about not being able to find the old session in /run/uscreens/S-username.

$ export STY=PID.NewName <- Where PID is the actual Process ID on your system

$ screen top

This will now work, since the $STY variable is being used (along with other purposes) to find the location in /run/uscreens/S-username of the session file.

0

May not be answering this exact question, but to change the name displayed at the bottom like (0 bash), you can use

  • Ctrl-a then :title <newtitle> to change the bash part
  • Ctrl-a then :number <newnumber> to change the number (which will also change relative order of your session instances).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.