White Sox beat Royals 2-1