summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorMichael Jennings <mej@kainx.org>2002-06-03 00:26:15 +0000
committerMichael Jennings <mej@kainx.org>2002-06-03 00:26:15 +0000
commited14ba8ddea043176bf856a05b98750bc25793ee (patch)
tree36c7f908b5026d9541aed2a7232537673be6c77f /doc
parent981b29c8950aa25559cca3f65dcbc293bae94e4f (diff)
downloadeterm-ed14ba8ddea043176bf856a05b98750bc25793ee.tar.gz
Sun Jun 2 20:25:55 2002 Michael Jennings (mej)
Oops, missed these. SVN revision: 6298
Diffstat (limited to 'doc')
-rw-r--r--doc/README.Escreen338
-rw-r--r--doc/escreen.cfg10
2 files changed, 256 insertions, 92 deletions
diff --git a/doc/README.Escreen b/doc/README.Escreen
index 62a2d60..4d5d7af 100644
--- a/doc/README.Escreen
+++ b/doc/README.Escreen
@@ -1,100 +1,197 @@
-ESCREEN
-1 - What is it?
+ _____ _ ___ _____
+| ___/ \ / _ \ _ _ | ____|___ ___ _ __ ___ ___ _ __
+| |_ / _ \| | | | (_|_) | _| / __|/ __| '__/ _ \/ _ \ '_ \
+| _/ ___ \ |_| | _ _ | |___\__ \ (__| | | __/ __/ | | |
+|_|/_/ \_\__\_\ (_|_) |_____|___/\___|_| \___|\___|_| |_|
+
+Frequently Asked Questions about the Eterm "Escreen" extension
-Eterm now offers you to compile in experimental support for the
-"screen" program. "screen" is a terminal multiplexer (one window,
-several shells). Yes, it's like konsole or multi-gnome-terminal,
-only that your shells won't die just because X or the Window Manager
-do. Oh, and you can pick up your home session from work, and vice
-versa. And several people can connect to the same session at once,
-and...
-You get this picture -- if you're a power-user, this is for you.
-Also, if you're not a power-user, this is *not* for you. It's alpha.
-It's experimental. Reported bugs will get fixed where possible, but
-there can be no newbie support at this time.
+------------------------------------------------------------------------------
-2 - How do I get it?
+ BEFORE INSTALLING IT
-You already have it. ./configure --enable-escreen && make && make install
-Oh, and you also need the screen program. In our tests, we used
-Screen version 3.09.11 (FAU) 14-Feb-02.
+Q What is it?
-3 - How do I start it?
+A Eterm now offers you to compile in experimental support for the
+ "screen" program. "screen" is a terminal multiplexer (one window,
+ several shells). Yes, it's like konsole or multi-gnome-terminal,
+ only that your shells won't die just because X or the Window Manager
+ do. Oh, and you can pick up your home session from work, and vice
+ versa. And several people can connect to the same session at once,
+ and...
-If you call it an Eterm, it will behave like one. Same for an Escreen.
-(you'd have to symlink from Escreen to Eterm first, of course).
-Additionally, when called with a command-line (-e "/some/program"), the
-suite will *always* behave like an Eterm, even if invoked as Escreen.
-Likewise, when called with an URL (-U "screen://user@some.host.gov/"),
-it will behave like an Escreen, even if invoked under another name.
+ You get this picture -- if you're a power-user, this is for you.
+ Also, if you're not a power-user, this is *not* for you. It's alpha.
+ It's experimental. Reported bugs will get fixed where possible, but
+ there can be no newbie support at this time.
-4 - What should I expect from it? (subject to change)
-An Eterm should open with a screen (without a status-line) running
-inside of it. There should be a button-bar in the Eterm enumerating
-the multiplexed terminal (you usually start with one), and button with
-a menu of screen-related actions. If you normally don't use a button-bar,
-Escreen will create one for you. Otherwise, it will add buttons to your
-existing bar.
+Q How do I get it?
-* .screenrc, $SCREENRC, [/usr/local]/etc/screenrc and $SYSSCREENRC are
- supported.
+A You already have it.
-* Eterm-buttons are supported (left click on display-name to activate
- the display, middle to close it, right to rename it).
+ ./configure --enable-escreen && make && make install
-* Sending statements to screen (^A: in the default setup) with
- tab-completion
+ Oh, and you also need the screen program. In our tests, we used
+ Screen version 3.09.11 (FAU) 14-Feb-02.
-* support for screen command-line options:
- Eterm -U screen://localhost/-xRR+-c~/.screenrc.testing
-* menu for "screen"-functions (if you add your own, use ^A as the
- escape-character in the ECHO action; Escreen will remap it to
- whatever is actually used in the session)
-* alert boxes for messages from screen
+Q What should I expect from it? (subject to change)
-* support for SSH-tunneling through firewalls
+A An Eterm should open with a screen (without a status-line) running
+ inside of it. There should be a button-bar in the Eterm enumerating
+ the multiplexed terminal (you usually start with one), and button with
+ a menu of screen-related actions. If you normally don't use a button-bar,
+ Escreen will create one for you. Otherwise, it will add buttons to your
+ existing bar.
+* .screenrc, $SCREENRC, [/usr/local]/etc/screenrc and $SYSSCREENRC are
+ supported. To a point. If something doesn't work, try things without
+ the screenrc. If it works then, find the offending line in the screenrc
+ and send it to me if you'd like a fix. Thankyou.
+* Eterm-buttons are supported (left click on display-name to activate
+ the display, middle to close it, right to rename it).
-5 - What's new?
+* Sending statements to screen (^A: in the default setup) with
+ tab-completion
-* Entering and exiting copy mode no longer produces a dialog box.
- Just too bloody annoying, that.
+* support for screen command-line options:
+ Eterm -U screen://localhost/-xRR+-c~/.screenrc.testing
-* SCREENRC, SYSSCREENRC, .../etc/screenrc support (thanks mej)
+* menu for "screen"-functions (if you add your own, use ^A as the
+ escape-character in the ECHO action; Escreen will remap it to
+ whatever is actually used in the session)
-* Easy-to-remember key-layout (optional, see below)
+* alert boxes for messages from screen
-* Comes up much faster
+* support for SSH-tunneling through firewalls
-* You can pass arbitrary paramters to screen/scream now
+* Easy-to-remember key-layout (optional, see below)
+* You can pass arbitrary paramters to screen/scream
-6 - What should I expect in the future? (TODO)
-* Limited support for scrolling. screen doesn't give us all the info
- we'd need to make this really sexy. There will likely be limited
- support for screen (we need to keep this, it will be what we'll find
- on remote machine), and possibly support for enhanced screen-clones
- (like the perchance forthcoming "scream").
+Q What's new?
+* Dialog boxes now longer block the entire GUI (only Eterm's).
+
+* Display-closing has a dialog-box now.
+
+* Code clean-up. It's actually understandable now.
+ (You can also compile libscream w/o support for screen now. : )
+
+* Logs debug info through libast now if it available
+
+* Fix for scrollbar (reported by mej).
+
+* Fix for remote sessions with no corresponding local user
+ (reported by tfing).
+
+* Tear-off tabs. You can select the button-representation of a
+ display and drag-and-drop it
+
+ - to another button:
+
+ The display is moved to that position; the dragged-to display
+ and all displays following it each move one slot to the right.
+ (Yes, a swap may occur rather than an insert, cause that's what
+ screen does. We'll provide a work-around with the next version.)
+
+ - to the desktop:
+
+ This opens another Escreen window (selecting the dragged session
+ where possible). This is very alpha and not intended for productive
+ use (yet).
+
+
+
+Q What should I expect in the future? (TODO)
+
+* Limited support for scrolling. screen doesn't give us all the info
+ we'd need to make this really sexy.
+
+* Possibly support for enhanced screen-clones (like the perchance
+ forthcoming "scream").
+
+
+
+------------------------------------------------------------------------------
+
+
+
+ AFTER INSTALLING IT
+
+
+
+Q How do I start it?
+
+A If you call it an Eterm, it will behave like one. Same for an Escreen.
+ (you'd have to symlink from Escreen to Eterm first, of course).
+ Additionally, when called with a command-line (-e "/some/program"), the
+ suite will *always* behave like an Eterm, even if invoked as Escreen.
+ Likewise, when called with an URL (-U "screen://user@some.host.gov/"),
+ it will behave like an Escreen, even if invoked under another name.
+
+
+
+Q Something is amiss! Moan, moan, complain, complain!
+
+A Before you complain:
+
+* Take a deep breath, remember you didn't pay for this.
+
+* Check whether you are using the latest version. Support for each
+ version stops with the release of a new one!
+
+* Read all of the FAQ, your question may be answered in there.
+ Remember that the FAQ grows with almost each release, so re-reading
+ it with each release is a good idea. Gives you something to do while
+ compiling, too. Also see the manual page for Eterm, and that for screen.
+
+* Check whether the problem only occurs when using your screenrc
+ (see below).
+
+* If remote sessions break, check whether terminfo isn't broken on the
+ remote machine.
+
+* Send a detailed bug-report. Often, it will not be possible to reproduce
+ the bug on my set, so I'll need the info from yours. This includes your
+ screenrc. Sometimes tracing the problem will only be possible if you send
+ me Escreen's debug output. To get it, #define NS_DEBUG in screamcfg.h
+ and recompile.
+
+* If you send a usable bug-report, you will normally receive a free fix,
+ or at least an explanation why there will be no fix. If on the other
+ hand you asked something that's explained in this FAQ, we will laugh
+ at you and THEN be rude. Sorry, but you already got free code, a free
+ FAQ, and, in many cases, free support. Wasting my time with questions
+ I already answered is not a welcome response to this generosity.
+
+
+
+Q Creating a new screen takes forever!? (While connecting to an
+ existing one doesn't?)
+
+A It's the price of making things compatible with stupid screen. To
+ disable compatibility mode for local connections, pass -z 0 to Eterm
+ on the command line. (This has no effect on remote sessions!)
+ Depending on your setup, -z 0 will either make creating new screens
+ much faster, or not work at all for you. Good luck.
-9 - FAQ
Q ^A does funny things!
@@ -108,6 +205,8 @@ A Well, yes. ^A talks to the screen program. Put a line
statements like "escape ^Uu"; trying things out will be
easier that way. yes, it will be ^U: afterwards. ; )
+
+
Q I typed ^A and it *doesn't do* funny things!
A You probably already have changed the magic escape key to something
@@ -115,12 +214,16 @@ A You probably already have changed the magic escape key to something
Er, you *did* hold Control, then press A, rather then typing a ^ and
an A, right?
+
+
Q But I don't like all this control-whatever stuff, can I have easier
- to remember bindings?
+ to remember key-bindings?
A Sure. Eterm is The Configurable Terminal, after all. A pret-a-porter
- example that you can simply add to your theme.cfg file (or %include
- from it) lives in escreen.cfg -- enjoy.
+ example that you can simply add to the action context of your theme.cfg
+ file (or %include from it) lives in escreen.cfg -- enjoy.
+
+
Q Escreen changes the escape on the remote box to the same thing as on
the local box, does it have to?
@@ -131,30 +234,91 @@ A You can always override the escapes like so:
Where ^X is the escape and y the literal (man screen).
-Q I don't see any buttons when I connect to a remote screen!
-A Some Debian-users reported this before, and it is presumed to be a
- problem with the terminfo-data. Call up Eterm (or xterm, or whatnot).
- *Then* call up "screen" from inside that terminal. Is the last line
- inverted? If it isn't, something is seriously weird with your setup,
- and it's not a problem in Escreen. Sorry. : (
- 2002/05/13 rewritten code should handle most of these cases
- 2002/05/18 rewritten code should handle even more of these cases : )
-Q Escreen opens, then closes again.
+Q Escreen only creates a new session when there is none; otherwise,
+ it connects to the existing one!
+
+A It's not a bug, it's a feature. : ) The default parameters for
+ the screen Escreen starts are "-xRR". You can override those by
+ putting your own parameters in the URL
+
+ Eterm -U "protocol://user@host:port/screen_parameters"
+
+ like so:
+
+ Eterm -U "screen://foo@bar.com/-r"
+
+ or, for a local screen with no parameters:
+
+ Eterm -U "localhost/ " # which is the same as
+ Eterm -U "/ " # which is the same as
+ Eterm -U /+
+
+
+
+Q Escreen complains about stuff in my .screenrc!
+
+A If it works aside from that, ignore the machine. If it doesn't, try
+ things without the screenrc. If it works then, find the offending
+ line in the screenrc and send it to me if you'd like a fix. Thankyou.
+
+
+
+Q When Escreen connects to an existing session, things don't work.
+ They do otherwise.
+
+A In all likelihood you're not using the same .screenrc when picking
+ up the session that you used when creating it. If it's just a matter
+ of the escapes being different, you can tell the front-end which ones
+ the backend uses either by providing the right screenrc, or by setting
+ them on the command-line:
+
+ Eterm -U "/-e^Xy"
+
+ Where ^X is the escape-character, and y the literal. Replace as needed.
+ See "man screen" for more info on escapes.
+
+
+
+Q I don't see any buttons when I run Escreen (Eterm -U "")!
+
+A Escreen could not set up screen in a decent way. Don't use -z 0.
+ Try it without the screenrc interfering. If this only happens when
+ picking up a session, see above.
+
+
+
+Q Escreen opens, then closes again (with a local session).
+
+A Escreen cannot run "screen". If you do have "screen", and it is in the
+ search path, screen apparently terminates right away. Normally
+ this is a session-problem: there are several sessions, and Escreen
+ doesn't know which one to pick up, or all sessions are "dead"
+ (unreachable).
+
+ screen -ls will give you a list of the sessions;
+ screen -wipe will remove dead sessions;
+ Eterm -U "/-r session_name" will pick up the session named session_name.
+
+
+
+Q Escreen opens, then closes again (with a remote session).
+
+ If it's not one of the problems described above, the remote end might
+ just find your terminal type confusing. The "--term-name" option with
+ something vanilla (--term-name vt100) should remedy this.
+
-A Escreen cannot run "screen". If you do have "screen", and it is in
- the search path, screen apparently terminates right away. Normally
- this means that your screen-sessions are messed up; "screen -ls" will
- give you a list of them; "screen -wipe" will do the cleaning up.
- If this happens with a remote session, the remote end might just find
- your terminal type confusing. The "--term-name" option with something
- vanilla (--term-name vt100) should remedy this.
Q Escreen works, except when I use -Z to tunnel through a firewall?
A Try to manually ssh to the firewall, see how long that takes. Then,
- tune the -Z option accordingly (cf man Eterm).
+ tune the delay in the -Z option accordingly (cf man Eterm):
+
+ Eterm -U ... -Z "localport:firewall:remoteport,delay"
+
+
Q I'd like for the button labels to be in a different colour.
@@ -162,21 +326,15 @@ A At this time, the labels follow the general (text) colours.
You will be able to define colours for (foreground|background|active|bell)
windows' labels in later releases.
+
+
Q "screen" support rocks! Can we have it in konsole/multi-gnome-terminal?
A I will not attempt anything like that before I am happy with Escreen.
The code, however, is LGPL'd, and its use is documented by example of
Eterm (grep for ESCREEN). If you can work with that, do.
-Q What's with the licence changing?
-A I wrongly assumed that Eterm was GPL'd rather than BSD'd, so I stuck
- a GPL on the first alpha. To correct this mistake, the licence was
- changed. In an attempt to honour both the convictions of the authors
- of Eterm (BSD licence) and those of screen (GPL) which Escreen tries
- to bring together, it appears that the licensing of Escreen should
- land somewhere in the middle; therefore, I nominally chose LGPL.
- This may be softened to BSD at a later date.
Q Who's responsible for this?
@@ -186,5 +344,11 @@ A Escreen is an Eterm extension conceived and written by Azundris.
in (or by trying to use the alpha-functionality). By using this,
you agree that anything happening while or because of using it is
your fault, and your fault only.
+ Unfortunately, screen is poorly coded, and a bummer to support.
+
+ Someone (perhaps this kitty) may at some point provide a better
+ backend, but since we cannot expect that backend on our every
+ client's machine, we'll still need to support GNU screen, much
+ as we may hate its protocol (or lack thereof, really).
--- Azundris 2002/05/13 <scream@azundris.com> http://www.azundris.com/
+-- Azundris 2002/05/23 <scream@azundris.com> http://www.azundris.com/
diff --git a/doc/escreen.cfg b/doc/escreen.cfg
index ec6b43b..07655a1 100644
--- a/doc/escreen.cfg
+++ b/doc/escreen.cfg
@@ -8,7 +8,7 @@
# See "man Eterm" for more information.
# 2002/05/19 Azundris <scream@azundris.com>
- # CONTROL VARIETY #########################################################
+ # CONTROL VARIETY ############################################################
# ctrl-left -> previous display, ctrl-right -> next display
bind ctrl Left to echo ^Ap
@@ -35,7 +35,7 @@
bind ctrl 0x39 to echo ^A8
bind ctrl 0x30 to echo ^A9
- # ALT VARIETY #############################################################
+ # ALT VARIETY ################################################################
# alt-left -> previous display, alt-right -> next display
bind alt Left to echo ^Ap
@@ -63,7 +63,7 @@
bind alt 0x39 to echo ^A8
bind alt 0x30 to echo ^A9
- # FUNCTION KEYS ###########################################################
+ # FUNCTION KEYS ##############################################################
# F1..F10 -> display_0..display_9
bind F1 to echo ^A0
@@ -80,7 +80,7 @@
# alt F4 -> close display
bind alt F4 to echo ^Ak
- # MISC STUFF ##############################################################
+ # MISC STUFF #################################################################
# DISPLAY
@@ -129,4 +129,4 @@
- # ENDS ####################################################################
+ # ENDS #######################################################################