Skip to content

screen-session is a collection of tools for GNU Screen. It includes a session saver and a session manager, among others.

License

Notifications You must be signed in to change notification settings

testacc/screen-session

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

screen-session - collection of tools for GNU Screen
=========================================

Website: http://adb.cba.pl

Repository: http://github.com/skoneka/screen-session

Howto: http://adb.cba.pl/gnu-screen-tips-page-my.html#howto-screen-session

-----------------------------------------------------------------------
Description
-----------------------------------------------------------------------
screen-session is a collection of tools for GNU Screen, including
session saver.

session saver currently supports saving of:
directories, programs, layouts, scrollbacks, titles and filters
It recognizes groups and regular windows. Currently there is no support 
for serial and telnet window types.

Available screen-session modes:

----
save        - save Screen sessions to disk

load        - load sessions from disk

ls          - list saved sessions
----

manager     - sessions manager (screenie like) but featuring session 
            preview in a split window

regions     - display number in ever region
            (script reassembling the functionality of tmux display-panes.

dir         - starts a new Screen window in the same working directory 
            on the position next to the current window

dump        - dump informations about windows in session

grab        - change tty of a process to this terminal

kill        - send signal to last process started in a window

kill-zombie - kill all zombie windows in session

kill-current-group  - recursively kill all windows in the current group.

renumber    - renumber windows to fill gaps

sort        - sort windows by title

-----------------------------------------------------------------------
Installation and Requirements
-----------------------------------------------------------------------
see INSTALL


-----------------------------------------------------------------------
Running screen-session
-----------------------------------------------------------------------
see HOWTO


-----------------------------------------------------------------------
Detailed Description
-----------------------------------------------------------------------
session saver saves directories and programs by directly reading /proc 
filesystem and sorts them by parent pid.  There is almost no "stuffing" 
so there is no interaction with programs in windows.

After session loading, in every new window starts screen-session-primer 
(small C program) which displays a list of processes and asks user what 
to do (whether to start none, part of or all window's processes).
Then, primer tries to restore the string of processes by execing 
for nodes:
$ shell -c "program args; shell" 
and for leafs:
$ program args 

Entire string of processes can only be properly restored if every 
non-leaf is a shell which accepts '-c command' switch.

Can be restored completly:
0 zsh -> 1 bash -> 2 vim hello.c 

Only up to 1:
0 zsh -> 1 man hello -> 2 less


There is also a blacklist for programs which may not be started
(file $HOME/.screen-sessions/BLACKLIST).
 
screen-session-primer uses linux color escapes. If you dont want color
remove "-DCOLOR" from config.mk

Normally screen-session does not restore exact window numbers. If you 
want to force verbatim restoring use --exact flag.

Savefiles are .tar.bz2 archives (scrollbacks can take a *lot* of space). 
During reading temporary files are stored in  /tmp/screen-session-$USER.

By default session saver also tries to save vim sessions using ":mksession"


-----------------------------------------------------------------------
Bugs
-----------------------------------------------------------------------
There are no bugs, only features.

- Do not try to save/load a completly detached session with enabled 
  layouts in screen-session because Screen will crash.
  Disable layouts saving/loading with --no-layout flag.

- If screen-session locks your session try to find and kill all processes
  started by it.

Send suggestions to admin<[at]>adb.cba.pl or github issue tracker
http://github.com/skoneka/screen-session/issues

About

screen-session is a collection of tools for GNU Screen. It includes a session saver and a session manager, among others.

Resources

License

Stars

Watchers

Forks

Packages

No packages published