When I try to use write to talk to users logged into an X session results vary depending on which terminal they are using. Gnome terminal can pick up writes, but neither lxterminal nor terminator can. The reason is that lxterminal and terminator don't have associated pts devices:With lxterminal(s) running:$ whotshaw    tty7         2013-01-27 21:34With Gnome terminal running:$ whotshaw    tty7         2013-01-27 21:34tshaw    pts/1        2013-01-27 22:25 (:0)(the tty7 entry in the above is the X session)Is there a way to configure other terminals to take pts devices or would that have to be done in source code?
Why do only some terminals get a pts
terminal;gnome terminal;lxterminal
Original questionAll of the mentioned programs have a pts. The problem is not that your specified terminals don't have a pts device but that the information isn't recorded. Why doesn't lxterminal or other terminals show up in whowho retrieves it information from a utmp file, typically /var/run/utmp and is written to by programs themselves. In order to write an utmp entry programs have to have access to the file which normal, standard applications like lxterm or urxvt don't have.Allow access to /var/run/utmp for applicationsTypically /var/run/utmp is not write-able for the normal user, i.e. programs can't create new entries as a malicious user could just overwrite the file or write fake entries.On my system /var/run/utmp has following permissions:$ ls -l /var/run/utmp -rw-rw-r-- 1 root utmp 3072 Jan 28 08:26 /var/run/utmpthat means in order to write to the file you have to have at least to be in the group. The best solution to give permissions to programs for updating /var/run/utmp is changing the permissions of the program so it can update the file. You can do this by setting the group of the executable to utmp and set the setgid flag which means it will set the group id from the file permissions, i.e.:chgrp utmp /usr/bin/urxvtchmod g+s /usr/bin/urxvt