I thought I'd write a simple something this Saturday; just a little trick that's served me well over the years.
This has to do with any login session in a terminal window (Telnet, SSH, etc). Although this may not always be the case, most places I've ever worked at have had, at least, a few machines were they enforced time-outs on your login. This can be frustrating if you're in the middle of doing something, get called away to do something else, and come back to a "Disconnected!" dialogue box.
Usually, you should be able to get away with just putting a line like this in your .profile or .bash_profile:
But, I've found that a lot of setups don't honor this shell setting. Instead, they take a measure of your activity and log you out if you don't produce enough in your session. So, when you type:
Even if that takes all day to run, you'll still get disconnected in 5 minutes.
This simple shell loop has almost always worked for me:
while :;do print -n "* ";sleep 15;done
echo -n "* "
echo "*\c" <--- \c is the escape character representation of a space.
for the print statement in that little one-line loop, depending on your shell (sh doesn't support the "print" statement) and its implementation of echo (you might be using the built-in or the system binary; in any event - one of these three varieties should do the trick for you.
I leave the carriage-return out on purpose so I can come back later and look at:
instead of pages of single *'s along the side of my screen, forcing me to scroll back forever to remember what I was doing ;)
This trick basically works because, even though you're not directly interacting with your terminal, you're sending packets back and forth every time that print (or echo) statement executes.
Enjoy a little less stress. Your terminal windows should now be waiting for you instead of threatening to leave :)
linux unix internet technology
Saturday, December 15, 2007