People leaving a house that smells of stale smoke usually say, "It's nice, but it smells like smoke." Perhaps you have been trying to sell or have purchased a house with this problem. Whether the home is inherited, or a summer home frequently vacant, houses that have been smoked in carry unmistakable odors from cigarette, pipe, or cigar smoke. It is a challenge to remove smoke odors, and although it won't be easy, and may require numerous attempts, there are a few things you can do to get rid of stale smoke smell in a closed-up house.
Paint the interior of the house, including ceilings and baseboards with a paint specifically designed to mask odors, such as Kilz brand primer and paint. Painting the house probably needs to be done anyway, and although it may not solve all problems, it's a start.
Apply wood cleaner, not wood polish, to all cabinetry and wall paneling using an old t-shirt.
Replace carpeting. It is guaranteed that detectable odors are permanently attached to carpet fibers. This is an expensive option, but just cleaning carpet won't do the trick. Even professional carpet cleaning is, unfortunately, unreliable in this regard.
Clean air ducts and change furnace/air conditioner filters. A professional service will have to clean the ducts, but a filter change can be done by the homeowner. Consider purchasing a scented furnace/air conditioner filter. There are several brands available in scents from fresh linen to cinnamon.
Open windows and doors, preferably all at once. Open them frequently and open them wide to get a cross breeze going. The windier the day, the better. In conjunction with above methods, this is one of the best ways to ride a house of smoke smells. There is something about fresh air that nothing else can duplicate.