Sun Jun 2 20:25:55 2002 Michael Jennings (mej)
Oops, missed these. SVN revision: 6298
This commit is contained in:
parent
981b29c895
commit
ed14ba8dde
|
@ -4683,3 +4683,7 @@ Sun Jun 2 20:23:07 2002 Michael Jennings (mej)
|
|||
|
||||
Latest Escreen patch along with twin support from Azundris.
|
||||
----------------------------------------------------------------------
|
||||
Sun Jun 2 20:25:55 2002 Michael Jennings (mej)
|
||||
|
||||
Oops, missed these.
|
||||
----------------------------------------------------------------------
|
||||
|
|
|
@ -1,100 +1,197 @@
|
|||
|
||||
ESCREEN
|
||||
|
||||
1 - What is it?
|
||||
|
||||
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.
|
||||
_____ _ ___ _____
|
||||
| ___/ \ / _ \ _ _ | ____|___ ___ _ __ ___ ___ _ __
|
||||
| |_ / _ \| | | | (_|_) | _| / __|/ __| '__/ _ \/ _ \ '_ \
|
||||
| _/ ___ \ |_| | _ _ | |___\__ \ (__| | | __/ __/ | | |
|
||||
|_|/_/ \_\__\_\ (_|_) |_____|___/\___|_| \___|\___|_| |_|
|
||||
|
||||
Frequently Asked Questions about the Eterm "Escreen" extension
|
||||
|
||||
|
||||
|
||||
2 - How do I get 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.
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
3 - How do I start it?
|
||||
|
||||
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.
|
||||
BEFORE INSTALLING IT
|
||||
|
||||
|
||||
|
||||
4 - What should I expect from it? (subject to change)
|
||||
Q What is it?
|
||||
|
||||
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.
|
||||
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...
|
||||
|
||||
* .screenrc, $SCREENRC, [/usr/local]/etc/screenrc and $SYSSCREENRC are
|
||||
supported.
|
||||
You get this picture -- if you're a power-user, this is for you.
|
||||
|
||||
* Eterm-buttons are supported (left click on display-name to activate
|
||||
the display, middle to close it, right to rename it).
|
||||
|
||||
* Sending statements to screen (^A: in the default setup) with
|
||||
tab-completion
|
||||
|
||||
* 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
|
||||
|
||||
* support for SSH-tunneling through firewalls
|
||||
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.
|
||||
|
||||
|
||||
|
||||
5 - What's new?
|
||||
Q How do I get it?
|
||||
|
||||
* Entering and exiting copy mode no longer produces a dialog box.
|
||||
Just too bloody annoying, that.
|
||||
A You already have it.
|
||||
|
||||
* SCREENRC, SYSSCREENRC, .../etc/screenrc support (thanks mej)
|
||||
./configure --enable-escreen && make && make install
|
||||
|
||||
* Easy-to-remember key-layout (optional, see below)
|
||||
|
||||
* Comes up much faster
|
||||
|
||||
* You can pass arbitrary paramters to screen/scream now
|
||||
Oh, and you also need the screen program. In our tests, we used
|
||||
Screen version 3.09.11 (FAU) 14-Feb-02.
|
||||
|
||||
|
||||
|
||||
6 - What should I expect in the future? (TODO)
|
||||
Q What should I expect from it? (subject to change)
|
||||
|
||||
* 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").
|
||||
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).
|
||||
|
||||
* Sending statements to screen (^A: in the default setup) with
|
||||
tab-completion
|
||||
|
||||
* 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
|
||||
|
||||
* support for SSH-tunneling through firewalls
|
||||
|
||||
* Easy-to-remember key-layout (optional, see below)
|
||||
|
||||
* You can pass arbitrary paramters to screen/scream
|
||||
|
||||
|
||||
|
||||
9 - FAQ
|
||||
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.
|
||||
|
||||
|
||||
|
||||
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.
|
||||
|
||||
-- Azundris 2002/05/13 <scream@azundris.com> http://www.azundris.com/
|
||||
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/23 <scream@azundris.com> http://www.azundris.com/
|
||||
|
|
|
@ -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 #######################################################################
|
||||
|
|
Loading…
Reference in New Issue