Description of problem: Starting screen from a user whose shell is /bin/tcsh is unsuccessful in launching tcsh in each screen window. You can still open window, change windows, detach, reattach, and exit, but no shells actually appear. Version-Release number of selected component (if applicable): screen-4.0.3-10.fc9.x86_64 How reproducible: always Steps to Reproduce: 1. useradd -s /bin/tcsh testuser 2. passwd testuser 3. login as testuser 4. screen 5. Ctrl-A n to create a new window. 6. Ctrl-A K in succession to kill each window until screen exits. Actual results: title bar: [screen 0: tcsh] empty screen window Expected results: a tcsh prompt Additional info: screen works fine if the login shell is bash
Created attachment 298805 [details] strace tcsh If you start screen with bash, it works. But then try to start tcsh inside screen, and it hangs: [cra@localhost ~]$ tcsh Attached is the strace from this attempt: [cra@localhost ~]$ strace -o tcsh-strace.txt tcsh
This is caused by prompt setting in /etc/csh.cshrc.
(In reply to comment #2) > This is caused by prompt setting in /etc/csh.cshrc. Do you have a proposed fix for this?
--- setup-2.6.12/csh.cshrc.orig 2008-02-22 17:48:32.000000000 +0100 +++ setup-2.6.12/csh.cshrc 2008-04-04 14:57:50.000000000 +0200 @@ -40,7 +40,7 @@ if ($?TERM) then breaksw case screen: if ($?tcsh) then - set prompt='%{\033_%n@%m:%c\033%}[%n@%m %c]%# ' + set prompt='%{\033_%n@%m:%c\033\\%}[%n@%m %c]%# ' else alias precmd 'echo -n "\033_${USER}@${HOSTNAME}:${PWD}"; echo -n "\033\\"' endif
Ugh, mye, my bad. I'll build a new package today that fixes this (among a few other things). Thanks for the fix, Miroslav. Read ya, Phil