If you want your xterm or rxvt to run a login shell (Section 3.4), give it the -ls flag, or put a line like one of the following in your X resource file (Section 6.5):
xterm*loginShell: true ...for xterm XTerm*loginShell: true ...for xterm or rxvt Rxvt*loginShell: true ...for rxvt
Once you've defined the appropriate resource, you can get a nonlogin shell (which is otherwise the default) with xterm +ls.
--JP and SJC
Copyright © 2003 O'Reilly & Associates. All rights reserved.