IT-lexikon › Infrastruktur › smproxy

smproxy

Infrastruktur In English → Uppdaterad: 2026-10-10
Mer info
Skapad av
Ralph Mor, X Consortium
År
Typ
Sessionsproxy för X11
Licens
MIT
Källkod
gitlab.freedesktop.org

X11R6:s sessionsproxy: ett program som ansluter till sessionshanteraren å alla de fönsters vägnar vars ägare aldrig lärde sig XSMP, och lovar att starta om dem från deras WM_COMMAND.

XSMP kom 1994 till ett skrivbord fullt av program som inte skulle uppdateras på åratal, så Ralph Mor skrev i samma utgåva en proxy. smproxy startas i sessionen, lyssnar efter nya toppfönster och letar efter sådana som saknar SM_CLIENT_ID men har WM_COMMAND — på fönstret självt eller på ledarfönstret som WM_CLIENT_LEADER pekar på, så att ett program med fem fönster blir en klient och inte fem. För var och en ansluter den till sessionshanteraren som en egen XSMP-klient, med maskinnamn ur WM_CLIENT_MACHINE och återstartskommando ur WM_COMMAND, och sessionshanteraren ser ingen skillnad mot ett riktigt program.

När sessionshanteraren begär SaveYourself skickar smproxy i sin tur WM_SAVE_YOURSELF till de fönster som anmält det i WM_PROTOCOLS, väntar på att WM_COMMAND skrivs om och rapporterar det nya kommandot vidare; program som inte stödjer ens det blir återstartade utan läge. Mer kan en proxy inte göra, och det räckte för xterm, xclock och Xt-världen men inte för mycket annat. KDE byggde in samma logik i ksmserver i stället för att köra programmet, GNOME struntade i det, och smproxy följer fortfarande med X.Org vid sidan av xsm — ett dokument över hur man i efterhand ger protokollstöd åt program man inte kan ändra.

Källor smproxy(1) · XSMP
← Tillbaka till lexikonet