Table of Contents

Screen

Screen - Screen Manager for Linux - Exceptionally Useful

Screen is a Window Manager for a Linux SSH Terminal. Similar to having Multiple Desktops and applications, screen provides just that for the Command Line Interface (CLI). As screen runs on the server, if you are downloading a file onto the server etc. or compiling a programme, and your net connection drops, your Screen “session” remains running inside screen, and your applications remain open and active. You can customise screen to provide a Time and Date, along with a Status bar of open applications. This is a MUST HAVE for anyone using a Linux server via the commandline.

Install Screen

 apt-get install screen
 #or download it manually from http://www.gnu.org/software/screen/#TOCdownloading

Basic Usage

 mesg n       #turn messaging off
 screen
 ctrl a c     #copies and makes new screen
 ctrl a w     #view screens
 ctrl a A     #rename current screen
 ctrl a d     #detach all screens
 screen -DR   #open screen and atttach screens
 ctrl a #     #Where # is the screen number
 ctrl a n     #show next screen window

Regions/ Multiple Windows in Screen

 ctrl a S      #split current window. Leaves bottom screen empty
 ctrl a <tab>  #tab between regions/split screens
 ctrl a Q      #unsplit all windows from screen

Monitor Screens for Activity

 ctrl a M       #toggles Monitoring on or off.

Nested/Multiple Screens

 ctrl a a c      #copies a nested screen
 ctrl a a w      #views screens
 ctrl a a #      #go to screen number

Scroll Back in a Screen

 ctrl a [[

Copy and Paste & Search in a Screen

 ctrl a [        #enters copy mode
 /wordtofind     #finds word, same as in vi.
 <enter> to start copy. Move arrow keys. Enter to stop copy.
 ctrl a ]]       #paste

Setting a Permanent Status Bar

 vi $HOME/.screenrc
 hardstatus on
 hardstatus alwayslastline
 hardstatus string "%w%=%m/%d %c"

LOCK SCREEN

ctrl a x #locks the screen with the current linux password #If the terminal is closed, and then the screen reattached - no password :(


Ref: http://www.bangmoney.org/presentations/screen.html

Flash Taskbar in PuTTY on Screen Activity

So I've been trying to get this for a while. If I receive an email via pine or pm via irssi it would be nice if PuTTY would flash on the taskbar. Following this page on redbrick got it 1/2 working, in that if the current screen window had activity and PuTTY was minimised, then the taskbar would flash. I wanted it so if any screen window had activity that the taskbar would flash. Anyways after a bit of trial and error here is how I got it:

**Step 1: Putty Config**
 Terminal -> Bell -> Taskbar/caption indication on bell: Flashing
 #Might want to save this to the default profile in PuTTY.

**Step 2: Screen Config**
This is the important step I had overlooked a few times.
 vi .screenrc
 vbell off
 bell_msg '^GBell in window %n'
 #The ^G (CTRL G) is the key)

**Step 3: irssi config**
 vi .irssi/config
 
 settings = {
  "fe-common/core" = {
    beep_msg_level = "MSG HILIGHT";
    beep_when_away = "yes";
    beep_when_window_active = "yes";
    bell_beeps = "yes";
  };
 };

After all this, screen will have to be restarted to take effect. Now, upon getting an email to pine or pm to irssi, PuTTY should flash on the taskbar. Not sure whether this will work for Gome/KDE.

References: