Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
An easy way to use GNU Screen over SSH (earthinfo.org)
41 points by Anon84 on May 17, 2009 | hide | past | favorite | 10 comments


I think you guys are being a bit harsh on this article. Its not as if it was saying "ssh to remote and run screen" was something new. It does provide some useful hints on .screenrc setup and while running a script to connect to the remote screen may not be for everyone it is useful.


This is all pretty basic... not sure why this is news-worthy.

And, as thras pointed out, it's needlessly complicated. All you need to do is:

ssh yourserver -t "screen -D -RR"

And you'll have a new screen session, or reattach to your old screen session, however you left it set up.

If you're on a mac and you want to set up a different background colour for each server, check out my tutorial at: http://www.swombat.com/setting-up-terminalapp-with-tr-0


Indeed, it is really basic. I guess I could see value in aliasing that to save typing. In my case, I have a "Screen" menu in fvwm with menu entries like this:

    + %terminal.png%"caspian" Exec exec xterm -geometry 80x25+30-28 -T "screen : caspian" -e ssh -t eki@caspian.vying.org screen -x -R
I have menus for local screens as well, with entries like:

    + %terminal.png%"dorothy" Exec exec xterm -geometry 80x37+30+60 -T "screen : dorothy" -e screen -x -c $HOME/.screenrc-dorothy -R dorothy
I usually create a new screen config for each project that launches shells in the right directories, etc. For example, here's my .screenrc-dorothy:

    chdir $HOME/projects/dorothy/lib/dorothy
    screen -t lib           1 zsh

    chdir $HOME/projects/dorothy/test/dorothy
    screen -t test          2 zsh

    chdir $HOME/projects/dorothy/ext
    screen -t ext           3 zsh

    chdir $HOME/projects/dorothy
    screen -t irb           4 zsh
    at        irb#            eval 'stuff "irb -r dorothy\015"'

    chdir $HOME/projects/dorothy
    screen -t zsh           0 zsh

    hardstatus alwayslastline "%{rk}%H %{gk}%c %{yk}%M%d %{wk}%?%-Lw%?%{bw}%n*%f %t%?(%u)%?%{wk}%?%+Lw%?"
That gives me shells in the directories I'm likely to be working from, and starts an irb session in another shell.

I guess this is only newsworthy if you're not the type to customize your environment to your liking. Well, that and the fact that gnu screen is somewhat difficult to learn and researching it is a pain because "screen" is such a poor, generic name for a project.

I'd love to see this turn into a thread of neat things that can be done with gnu screen.


> researching it is a pain because "screen" is such a poor, generic name for a project.

Really. I find it pretty easy to use search terms like "gnu screen" or "screenrc" to get lots of results in Google...


ssh yourserver -t "screen -D -RR" doesnt't allow you use screen from multiple xterms

if you use ssh -t yourserver screen -S main -xRR -p windowname -q as was used in the post, you get to use, multiple xterms all connecting to the same session.


I find the main problem with running screen over ssh is that the remote screen doesn't interact well with the local one. I tend to just have multiple local ssh sessions and not run screen remotely, but it isn't ideal.


The solution to this is to use a different escape sequence than C-a on the remote machine, or on your local machine.

I put escape ^Ww in my local .screenrc, and this alleviates most if not all the problems with running screen on both the local and remote machines.


Was there a hard way? I just ssh to the machine and type 'screen -Rd'

The article seems like needless complication.


If I understand correctly, it is newsworthy because it provides a method by which you can automatically go to a particular session and/or shell in that session by running just one command on your local machine in which you specify the Screen title of that session/shell.


Yeah, how often do you create screens anyway? For me it's roughly once per reboot...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: