354 lines
12 KiB
Plaintext
354 lines
12 KiB
Plaintext
|
|
|
|
_____ _ ___ _____
|
|
| ___/ \ / _ \ _ _ | ____|___ ___ _ __ ___ ___ _ __
|
|
| |_ / _ \| | | | (_|_) | _| / __|/ __| '__/ _ \/ _ \ '_ \
|
|
| _/ ___ \ |_| | _ _ | |___\__ \ (__| | | __/ __/ | | |
|
|
|_|/_/ \_\__\_\ (_|_) |_____|___/\___|_| \___|\___|_| |_|
|
|
|
|
Frequently Asked Questions about the "Escreen/Etwin" extension
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
BEFORE INSTALLING IT
|
|
|
|
|
|
|
|
Q What is 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...
|
|
|
|
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.
|
|
|
|
|
|
|
|
Q How do I get it?
|
|
|
|
A 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 should I expect from it? (subject to change)
|
|
|
|
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
|
|
|
|
|
|
|
|
Q What's new?
|
|
|
|
* Should work with Debian Unstable now (2002/10/03)
|
|
|
|
* libscream's functions are available through Eterm's scripting
|
|
facility. See escreen.cfg for an example.
|
|
|
|
* Preliminary Twin support. For now, Twin-URLs (Eterm -U twin://)
|
|
and Twin's mouse-protocol are supported, allowing you start twin
|
|
within Eterm (making it the only terminal emulator to support Twin,
|
|
AFAIK). Next release should feature Twin support through libscream
|
|
(thus exposing Twin to button- and key-bindings through Eterm's
|
|
scripting interface).
|
|
|
|
For more information on Twin see
|
|
http://freshmeat.net/projects/twin/?topic_id=158
|
|
|
|
* Tear-off tabs. You can select the button-representation of a
|
|
display and drag-and-drop it [currently under reconstruction]
|
|
|
|
- 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.
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
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 ceases 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!
|
|
|
|
A Well, yes. ^A talks to the screen program. Put a line
|
|
like "escape ^Aa" in "~/.screenrc". The example declares
|
|
Control-A (^A) to be the magic key (and ^A-a what you need
|
|
to press to send the escape (^A in the example) to the application
|
|
instead); you'll want to put something else to move it around.
|
|
See "man screen" for details.
|
|
|
|
Note that ^A: opens a buffer where you can directly enter
|
|
statements like "escape ^Uu"; trying things out will be
|
|
easier that way. Yes, it the magic key 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
|
|
other than ^A (on the command-line, within Escreen, or in .screenrc).
|
|
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 key-bindings?
|
|
|
|
A Sure. Eterm is The Configurable Terminal, after all. A pret-a-porter
|
|
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?
|
|
|
|
A You can always override the escapes like so:
|
|
|
|
Eterm -U screen://user@host.com/-e^Xy
|
|
|
|
Where ^X is the escape and y the literal (man screen).
|
|
|
|
|
|
|
|
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 "-RDD". 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/-xRR"
|
|
|
|
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.
|
|
|
|
|
|
|
|
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 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.
|
|
|
|
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 Who's responsible for this?
|
|
|
|
A Escreen is an Eterm extension conceived and written by Azundris.
|
|
Do not complain to KainX (who courteously added the patch for the
|
|
enjoyment of the hardy) if you break your Eterm by compiling this
|
|
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/23 <scream@azundris.com> http://www.azundris.com/
|