loginshellにしてみて不具合あったら片っ端から直していきゃいい。
perlやemacsはloginshellにした前例はある。がんがれ。