Fri 22 May 2009 04:40:22 PM UTC, comment #3:
Well, actually, it's not the act of setting TERM: that's already been set. What that command does is completely wipe out all other environment variables, and also prevent screen from loading the ~/.screenrc and /etc/screenrc files.
Since it works, this means that there's either something in your environment that screen doesn't like, or something in your ~/.screenrc. Find out by trying each of these variations:
$ env - TERM="$TERM" screen -t blah
$ screen -c /dev/null -t blah
If the "env" one works but not the "screen -c ..." one, then it must be something in your environment. If the second one works but not the first, then it must be something in your ~/.screenrc.
I suppose for completeness I should have you run:
$ bash -c 'screen -t blah'
to see if that still hangs (I would expect it to: otherwise there's something very funky with your shell setup).
Once you determine whether it's the environment or the config file, try to isolate where the problem is coming from. For instance, in the config file, you could save a copy, then throw out half the contents. If it starts working, the problem was in the thrown-out half. Keep throwing out contents until you've figured out where the problem was (and then please let me know!)
|