The answers given (Ctrl-b D or Ctrl-b : list-clients RET) will give you a list of clients with their (virtual) tty terminal and window size, but does NOT tell you the associated username. From outside of a tmux session, you can also use "tmux -S /tmp/pair list-clients"
One method to list actual users that are connected is to run lsof on the named socket, ie: "lsof /tmp/pair"
Or you can use the 'who' command to view a listing of users associated with the virtual terminals. If you are just differentiating between your own connections, you can use an alis to filter that: "who | awk '{print $2,$NF}' |grep -v '(:[0-9]'"
Here's a quick Perl script that puts the tmux and 'who' outputs together. For usage with shared sockets, pass the socket file as the sole argument, ie: "tmux_ls.pl /tmp/shared":
my $sock="";
$sock = "-S ".$ARGV[0] if $ARGV[0];
my $clients = `tmux $sock list-clients`;
# Use open to loop like a file
open my $fh, '<', \$clients or die $!;
printf("%-10.10s\t%-10.10s\t%-10.10s\t%-16.16s\t%s\n", "Session", "TTY", "Username", "Timestamp", "Origin");
while(<$fh>) {
my @cols = split(' ');
my ($tty) = $cols[0] =~ /^\/dev\/(pts\/\d+)/;
my $session = $cols[1];
my $who = `who | grep $tty`;
my @whoc = split(' ',$who);
printf("%-10.10s\t%-10.10s\t%-10.10s\t%-16.16s\t%s\n", $session,$tty,$whoc[0], "$whoc[2] $whoc[3]", $whoc[4]);
}