10 Screen Command Examples to Manage Linux Terminals

The screen is a full-screen software program that can be used to multiplexes a physical console between several processes (typically interactive shells). It offers a user to open several separate terminal instances inside a single terminal window manager.

[ You might also like: How to Use ‘Tmux Terminal’ to Access Multiple Terminals Inside a Single Console ]

The screen application is very useful if you are dealing with multiple programs from a command-line interface and for separating programs from the terminal shell. It also allows you to share your sessions with others users and detach/attach terminal sessions.

Linux Screen Commands
Screen Command Examples

On my Ubuntu Server Edition, Screen has been installed by default. But, in Linux Mint does not have a screen installed by default, I need to install it first using the apt-get command before using it.

Please follow your distribution installation procedure to install the screen.

$ sudo apt-get install screen       [On Debian, Ubuntu and Mint]
$ sudo yum install screen           [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
$ sudo emerge -a sys-apps/screen    [On Gentoo Linux]
$ sudo pacman -S screen            [On Arch Linux]
$ sudo zypper install screen       [On OpenSUSE]    

Actually, the screen is a very good terminal multiplexer program in Linux which is hidden inside hundreds of Linux commands.

Let’s start to see the usage of the screen command in Linux with the following examples.

Start Screen for the First Time

Just type the screen at the command prompt. Then the screen will show an interface exactly as the command prompt.

[email protected] ~ $ screen
Screen Terminal Program
Screen Terminal Program

Show Screen Parameter

When you enter the screen, you can do all your work as you are in the normal command-line environment. But since the screen is an application, so it has commands or parameters.

Type “Ctrl-A” and “?” without quotes. Then you will see all commands or parameters on the screen.

Screen Terminal Key Bindings
Screen Terminal Key Bindings

To get out of the help screen, you can press the “space-bar” button or “Enter“. (Please note that all shortcuts which use “Ctrl-A” are done without quotes).

Detach the Terminal Session with Screen

One of the advantages of a screen that is you can detach it. Then, you can restore it without losing anything you have done on the screen. Here’s the sample scenario:

You are in the middle of SSH on your server. Let’s say that you are downloading a 400MB patch for your system using the wget command.

[ You might also like: How to Secure and Harden OpenSSH Server ]

The download process is estimated to take 2 hours long. If you disconnect the SSH session, or suddenly the connection is lost by accident, then the download process will stop. You have to start from the beginning again. To avoid that, we can use a screen and detach it.

Take a look at this command. First, you have to enter the screen.

[email protected] ~ $ screen

Then you can do the download process. For example on my Linux Mint, I am upgrading my dpkg package using the apt-get command.

[email protected] ~ $ sudo apt-get install dpkg
Sample Output
Reading package lists... Done
Building dependency tree      
Reading state information... Done
The following packages will be upgraded:
1 upgraded, 0 newly installed, 0 to remove and 1146 not upgraded.
Need to get 2,583 kB of archives.
After this operation, 127 kB of additional disk space will be used.
Get:1 http://debian.linuxmint.com/latest/ 
testing/main dpkg i386 1.16.10 [2,583 kB]
47% [1 dpkg 1,625 kB/2,583 kB 47%]     14,7 kB/s

While downloading in progress, you can press “Ctrl-A” and “d“. You will not see anything when you press those buttons. The output will be like this:

[detached from 5561.pts-0.mint]
[email protected] ~ $

Re-attach the Terminal Session with Screen

After you detach the screen, let say you are disconnecting your SSH session and going home. In your home, you start to SSH again to your server and you want to see the progress of your download process. To do that, you need to restore the screen. You can run this command:

[email protected] ~ $ screen -r

And you will see that the process you left is still running.

When you have more than 1 screen session, you need to type the screen session ID. Use screen -ls to see how many screens are available.

[email protected] ~ $ screen -ls
Sample Output
[email protected] ~ $ screen -ls
There are screens on:
        7849.pts-0.mint (10/06/2021 01:50:45 PM)        (Detached)
        5561.pts-0.mint (10/06/2021 11:12:05 AM)        (Detached)
2 Sockets in /var/run/screen/S-pungki

If you want to restore screen 7849.pts-0.mint, then type this command.

[email protected] ~ $ screen -r 7849

Using Multiple Screen Terminal Windows

When you need more than 1 screen to do your job, is it possible? Yes, it is. You can run multiple screen windows at the same time. There are 2 (two) ways to do it.

First, you can detach the first screen and run another screen on the real terminal. Second, you do a nested screen.

Switching Between Screen Terminal Windows

When you do a nested screen, you can switch between screens using keys “Ctrl-A” and “n“. It will move to the next screen. When you need to go to the previous screen, just press “Ctrl-A” and “p“.

To create a new screen window, just press “Ctrl-A” and “c“.

Enable Screen Logging in Linux

Sometimes it is important to record what you have done while you are in the console. Let say you are a Linux Administrator who manages a lot of Linux servers.

With this screen logging, you don’t need to write down every single command that you have done. To activate the screen logging function, just press “Ctrl-A” and “H“. (Please be careful, we use capital ‘H’ letters. Using non-capital ‘h’, will only create a screenshot of the screen in another file named hardcopy).

At the bottom left of the screen, there will be a notification that tells you to like: Creating logfile “screenlog.0“. You will find screenlog.0 file in your home directory.

This feature will append everything you do while you are in the screen window. To close the screen to log running activity, press “Ctrl-A” and “H” again.

Another way to activate the logging feature, you can add the parameter “-L” when the first time running the screen. The command will be like this.

[email protected] ~ $ screen -L

Lock Linux Terminal Screen

The screen also has a shortcut to lock the screen. You can press the “Ctrl-A” and “x” shortcuts to lock the screen. This is handy if you want to lock your screen quickly. Here’s a sample output of the lock screen after you press the shortcut.

Screen used by Pungki Arianto  on mint.

You can use your Linux password to unlock it.

Add password to Lock Screen

For security reasons, you may want to put the password to your screen session. A Password will be asked whenever you want to re-attach the screen. This password is different from the Lock Screen mechanism above.

To make your screen password protected, you can edit the “$HOME/.screenrc” file. If the file doesn’t exist, you can create it manually. The syntax will be like this.

password crypt_password

To create “crypt_password” above, you can use the “mkpasswd” command on Linux. Here’s the command with the password “pungki123“.

[email protected] ~ $ mkpasswd pungki123

mkpasswd will generate a hash password as shown above. Once you get the hash password, you can copy it into your “.screenrc” file and save it. So the “.screenrc” file will be like this.

password l2BIBzvIeQNOs

Next time you run the screen and detach it, a password will be asked when you try to re-attach it, as shown below:

[email protected] ~ $ screen -r 5741
Screen password:

Type your password, which is “pungki123” and the screen will re-attach again.

After you implement this screen password and you press “Ctrl-A” and “x“, then the output will be like this.

Screen used by Pungki Arianto on mint.
Screen password:

A Password will be asked to you twice. The first password is your Linux password, and the second password is the password that you put in your .screenrc file.

Leaving Screen Terminal Session

There are 2 (two) ways to leaving the screen. First, we are using “Ctrl-A” and “d” to detach the screen. Second, we can use the exit command to terminating the screen. You also can use “Ctrl-A” and “K” to kill the screen.

That’s some of the screen usages on daily basis. There are still a lot of features inside the screen command. You may see the screen man page for more detail.

If you liked this article, then do subscribe to email alerts for Linux tutorials. If you have any questions or doubts? do ask for help in the comments section.

If You Appreciate What We Do Here On TecMint, You Should Consider:

TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.

If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.

Support Us

We are thankful for your never ending support.

51 thoughts on “10 Screen Command Examples to Manage Linux Terminals”

  1. Jeezus, I may be many years late but THANK YOU for this wonderful article. So succinct and verbose I love it! You are a genius~!

  2. Another useful command is: “screen -S NAME -d -m COMMAND“.

    This starts a detached session named “NAME” and runs the command “COMMAND” inside.

    You then can later reattach and see what “COMMAND” is doing with “screen -r NAME”

  3. Under: “Using Multiple Screen” you are missing text on the second way to view. Suspect it’s using split screen, but it’s a mystery.

  4. Since I started using lainux in 1998, I have ALWAYS logged in ROOT on tty1 and [ME] on tty3. That way, I can run a long admin task as ROOT and ctrl alt F3 to [ME]s X session to continue while ROOT works on his task.

    Also, if an unscrupulous Indian company takes over my session, claiming it has magical info from Microsoft regarding viruses, I can ctrl alt F1 to get ROOT to kill the browser hosting the Indian company’s process.

  5. I’ve been trying to install screen for the past few hours without success.

    Any help guys. Using ubunto 16.4.3

    $ sudo apt-get install screen
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    E: Unable to locate package screen
    • Make sure you have enabled Ubuntu repositories:

      To enable all repositories (main, universe, restricted, multiverse), use the following commands:

      sudo add-apt-repository main
      sudo add-apt-repository universe
      sudo add-apt-repository restricted
      sudo add-apt-repository multiverse

Got something to say? Join the discussion.

Have a question or suggestion? Please leave a comment to start the discussion. Please keep in mind that all comments are moderated and your email address will NOT be published.