requires openpty from libutil. (I think some Linux libcs even support this, or used to. But I'm not sure, so I'm leaving that out.)