Screen allows you to run scripts or commands in their own virtual window within the terminal, essentially allowing you to have a terminal multi-tasking environment where you can switch between your windows or another users at will. This howto will give you the basics of screen plus some other useful features that may help you in your daily administration tasks. This howto is intended to get you up and running with basic screen functionality within just a few minutes. Please read the manpage for a far more in-depth description of features and options.

Applicable to Centos Versions:

  • Centos 5.x

Requirements

Explanation of requirements.

  1. Root or appropriate sudo access to the system.

Doing the Work

Basic description of what will be done and what is expected.

  1. Install screen if it’s not already installed:
  2. yum install screen
  3. Setup screen for multi-user mode:
  4. Multi-user mode is helpful for teaching something in realtime because multi-user mode allows 1 or more people observe another performing commandsor other system maintenance, or it could allow more than one user access to the status of scripts or custom commands running in separate screens.
    
    setuid the screen binary:chmod u+s /usr/bin/screen
    
    Edit /etc/screenrc and add this at the top:###Multi-user Mode###multiuser onacladd usernameaclchg usernameacldel username###End Multi-user Mode###
  5. Useful screen commands:
  6. List a particular users screen sessions:screen -list username/ (the forward slash is important)
    
    List your own active screen sessions:screen -ls
    
    Re-attach to a specific users screen and session:screen -x username/shared-session
    
    Start a screen session and give it a unique name:screen -S somename
    
    Detach from a running screen session leaving it running in the background:Hit the key combination: Control + A/a + D/d (not case sensitive)
    
    Re-attach to a specific screen you've named:screen -R somename
    
    Power detach a screen that you are logged into from another location:This is helpful if you've been accidentally disconnected from ssh while in a remote screen session and it's still attached.screen -D somename

Troubleshooting

How to test

Explanation troubleshooting basics and expectations.

  1. Read the manpage:
  2. man screen
  3. Can’t find screen or it can’t be found via YUM?:
  4. Make sure you're running authentic Centos and not using a 3rd party VPS, Cpanel, or other shared hosting discount server.
    
    the output of this command should tell you what you have:uname -a; lsb_release -a; yum repolist all
    
    Should produce output similar to this:Linux host.example.org 2.6.18-164.el5 #1 SMP Thu Sep 3 03:33:56 EDT 2009 i686 i686 i386 GNU/LinuxLSB Version:    :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarchDistributor ID: CentOSDescription:    CentOS release 5.4 (Final)Release:        5.4Codename:       FinalLoaded plugins: fastestmirror, merge-conf, priorities, protect-packages, protectbase, securityrepo id                  repo name                                                             statusaddons                   CentOS-5 - Addons                                                     enabled:     0base                     CentOS-5 - Base                                                       enabled: 2,535c5-media                 CentOS-5 - Media                                                      disabledc5-testing               CentOS-5 - Testing                                                    disabledcentosplus               CentOS-5 - Plus                                                       disabledcontrib                  CentOS-5 - Contrib                                                    disabledepel                     Extra Packages for Enterprise Linux 5 - i386                          enabled: 3,696epel-debuginfo           Extra Packages for Enterprise Linux 5 - i386 - Debug                  disabledepel-source              Extra Packages for Enterprise Linux 5 - i386 - Source                 disabledepel-testing             Extra Packages for Enterprise Linux 5 - Testing - i386                disabledepel-testing-debuginfo   Extra Packages for Enterprise Linux 5 - Testing - i386 - Debug        disabledepel-testing-source      Extra Packages for Enterprise Linux 5 - Testing - i386 - Source       disabledextras                   CentOS-5 - Extras                                                     enabled:   324rpmforge                 Red Hat Enterprise 5 - RPMforge.net - dag                             disabledupdates                  CentOS-5 - Updates                                                    enabled:     0repolist: 6,555

Common problems and fixes

Describe common problems here, include links to known common problems if on another site

More Information

Any additional information or notes.

Disclaimer

We test this stuff on our own machines, really we do. But you may run into problems, if you do, come to #centos on irc.freenode.net

Added Reading

© 2012 CentosHelp.org