Non-orthogonal multiple access (NOMA) is one of the promising radio access techniques for next generation wireless networks. Opportunistic multi-user scheduling is necessary to fully exploit multiplexing gains in NOMA systems, but compared with traditional scheduling, interrelations between users' throughputs induced by multi-user interference poses new challenges in the design of NOMA schedulers. A successful NOMA scheduler has to carefully balance the following three objectives: maximizing average system utility, satisfying desired fairness constraints among the users and enabling real-time, and low computational cost implementations. In this paper, scheduling for NOMA systems under temporal fairness constraints is considered. Temporal fair scheduling leads to communication systems with predictable latency as opposed to utilitarian fair schedulers for which latency can be highly variable. It is shown that optimal system utility is achieved using a class of opportunistic scheduling schemes called threshold based strategies (TBS). One of the challenges in temporal fair scheduling for heterogeneous NOMA scenarios - where only specific users may be activated simultaneously - is to determine the set of feasible temporal shares. In this work, a variable elimination algorithm is proposed to accomplish this task. Furthermore, an (online) iterative algorithm based on the Robbins-Monro method is proposed to construct a TBS by finding the optimal thresholds for a given system utility metric. Various numerical simulations of practical scenarios are provided to illustrate the effectiveness of the proposed NOMA scheduling in static and mobile scenarios.