WM_CLIENT_MACHINE
Die ICCCM-Eigenschaft, die den Rechner benennt, auf dem ein X-Programm läuft – gedacht, damit rsh wusste, wo es neu zu starten ist, heute vor allem die Sicherung, die den Fenstermanager davon abhält, den falschen Prozess abzuschießen.
Der Name ist älter als seine Bedeutung: WM_CLIENT_MACHINE ist Atom Nummer 36 in der Liste der vordefinierten Atome des X-Protokolls, festgelegt in X11R1 1987, zwei Jahre bevor ICCCM 1.0 bestimmte, was hineingehört. Die Antwort war eine Zeichenkette eines der TEXT-Typen mit dem Namen des Client-Rechners „aus Sicht des Rechners, auf dem der Server läuft“ – eine Formulierung, die einräumt, dass zwei Computer einander nicht immer gleich nennen. Xlibs XSetWMProperties setzt sie stets, mit dem kurzen Hostnamen aus gethostname, sodass xterm und jedes Xt- und Motif-Programm sie trägt, ohne es zu wissen; GTK und Qt setzen sie selbst. Es ging um Sitzungen: Zusammen mit WM_COMMAND sagte sie, wo der Befehl per rsh auszuführen war, wenn eine Sitzung in einem Netzwerk wiederhergestellt wurde, in dem die Programme auf anderen Rechnern liefen als der Bildschirm.
Diese Verwendung starb mit XSMP, doch EWMH gab der Eigenschaft eine zweite Aufgabe: Ein Programm, das _NET_WM_PID setzt, muss auch WM_CLIENT_MACHINE setzen, und der Fenstermanager darf SIGKILL nur senden, wenn der Name mit dem eigenen übereinstimmt – eine PID von einem anderen Rechner, die per X11-Forwarding über SSH eintrifft, zeigt sonst auf irgendeinen beliebigen lokalen Prozess. EWMH verlangt deshalb einen vollqualifizierten Domainnamen, den praktisch niemand liefert: xprop zeigt auf den meisten Desktops einen Kurznamen, und der Vergleich funktioniert nur, weil beide Seiten zufällig dasselbe gethostname fragen. xlsclients gibt die Eigenschaft als erste Spalte aus, eine Erinnerung daran, dass X-Displays einst voller Programme von mehreren Rechnern waren.