fixed os detection and preferred shells