BCS
BCS

Reputation: 78585

multi tabbed SSH client using screen

Is there an SSH client that can present a client side GUI interface to the screen* program?

I'm thinking of an SSH program that would hook in with screen's session handling and map client side actions (clicking on a tab, ctrl-tab, scrolling, possibly even allowing several tabs to be seen at the same time) to whatever it takes to make screen at the other end do it's thing.

* The screen program that allow multiple virtual consoles under a single terminal session, for example you can run several apps under a single SSH connection and switch between them as well as other cool things.

Upvotes: 4

Views: 4418

Answers (4)

nameht
nameht

Reputation:

ctrl+a shift+'

.. gui front-end to screen? what are you talking about??

also, because my rep is so low, and i cant comment, id like to LOL @ geoffc for his comment in the question

Upvotes: 1

dbr
dbr

Reputation: 169573

An interesting idea, and quite possible (vim7's tabs show as clicky GUI tabs in gnome-terminal), but I don't see the benefit of doing this..

Using the follow ~/.screenrc shows "graphical" tabs:

startup_message off
vbell off
hardstatus alwayslastline
hardstatus string '%{gk}[ %{G}%H %{g}][%= %{wk}%?%-Lw%?%{=b kR}(%{W}%n*%f %t%?(%u)%?%{=b kR})%{= kw}%?%+Lw%?%?%= %{g}]%{=y C}[%d/%m %c]%{W}'

..which look like the following (after renaming the tabs using ctrl+a,a:

x http://img216.imageshack.us/img216/9401/picture4myi.png

You can scroll around in a screen session using "copy mode", by doing ctrl+a,[ and using the cursor keys (press Esc or ctrl+c to exit it)

You can also attach to the same screen session multiple times using the screen -x flag (rather than -r), so you could use any tabbed terminal emulator, and open one tab for each screen-window.

If you really did want to start implementing this - one option would be to look into modifying gnome-terminal, to copy the behaviour with vim's tabs for screen. Or, write your own screen client - you don't need to do anything as fragile sounding as scraping the terminal - there's a FIFO file in (usually) /tmp/uscreens/S-$USER/$PID.sessionname which I think is how screen communicates, and remember screen is open-source!

Upvotes: 2

Draemon
Draemon

Reputation: 34711

Interesting idea. I use screen everyday both on my local machine and for SSH sessions. I think your biggest problem is that I suspect most screen users are commandline junkies like me who just won't see the benefit of making a gui for tabs. In fact, I have all my terminals in one gnome-terminal window under different tabs, and having screen's text-based tabs is a nice way not to confuse the two.

I suspect it could be done, but you'd be writing a specialised terminal emulator which analyses screen's output (custom .screenrc) and retrofits the gui.

A lot of work for minimal gain.

Upvotes: 1

Mikeage
Mikeage

Reputation: 6564

I've never seen one, but the following may help you. Add to your .screenrc

To show a row of "tabs" on the bottom caption always "%{.bW}%-Lw%{.rW}%n %t%{-}%+Lw %=%{..G} %{..Y} %m/%d"

To show the current program as the screen name [assuming you're using bash and your prompt ends with "$ " by default; others shells are the exact same idea]

shelltitle "$ |sh"

Upvotes: 0

Related Questions