Skip to content

compositor: avoid setting WAYLAND_DISPLAY=wayland-0

M. Stoeckl requested to merge mstoeckl/weston:wayland-gt-1 into master

This commit alters the way that Weston picks a Wayland display socket name. Instead of using wl_display_add_socket_auto to look for the first available name in wayland-0, wayland-1, .... to wayland-32, the code now checks names wayland-1, wayland-2, .... up to wayland-32.

This change is a workaround for a suboptimal behavior of libwayland-client. If a client program calls wl_display_connect(NULL) and the WAYLAND_DISPLAY environment variable is not set, then the program will by default try to connect to 'wayland-0'. This is a problem when a computer has a running Wayland compositor but is being accessed in some other fashion, such as through an X session on a different virtual terminal, over ssh, etc. Client programs launched through those means may attempt to connect to an unrelated compositor. Changing libwayland behavior to remove the default would also work, but a) libraries have stronger backward compatibility expectations b) that would likely break more people's setups than just changing Weston would.

Closes #205 (closed).

Merge request reports