refactor; 'self._init_descriptor' changed to 'self.o_fd'
also throw a haily mary for os.environ['LINES'] and COLUMNS