[PATCH] add [xwayland] path weston.ini option
Maksim Melnikau
maxposedon at gmail.com
Tue Aug 13 23:24:08 PDT 2013
It sets the path to the xserver to run.
Signed-off-by: Maksim Melnikau <maxposedon at gmail.com>
---
man/weston.ini.man | 6 ++++++
src/xwayland/launcher.c | 10 ++++++++--
2 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/man/weston.ini.man b/man/weston.ini.man
index 9c22b3f..204c4ee 100644
--- a/man/weston.ini.man
+++ b/man/weston.ini.man
@@ -357,6 +357,12 @@ sets the size of the terminal font (unsigned integer).
The terminal shell (string). Sets the $TERM variable.
.RE
.RE
+.SH "XWAYLAND SECTION"
+.TP 7
+.BI "path=" "/usr/bin/Xorg"
+sets the path to the xserver to run (string).
+.RE
+.RE
.SH "SEE ALSO"
.BR weston (1),
.BR weston-launch (1),
diff --git a/src/xwayland/launcher.c b/src/xwayland/launcher.c
index b639479..8d8e060 100644
--- a/src/xwayland/launcher.c
+++ b/src/xwayland/launcher.c
@@ -42,6 +42,8 @@ weston_xserver_handle_event(int listen_fd, uint32_t mask, void *data)
struct weston_xserver *wxs = data;
char display[8], s[8];
int sv[2], client_fd;
+ char *xserver = NULL;
+ struct weston_config_section *section;
if (socketpair(AF_UNIX, SOCK_STREAM | SOCK_CLOEXEC, 0, sv) < 0) {
weston_log("socketpair failed\n");
@@ -62,8 +64,11 @@ weston_xserver_handle_event(int listen_fd, uint32_t mask, void *data)
snprintf(display, sizeof display, ":%d", wxs->display);
- if (execl(XSERVER_PATH,
- XSERVER_PATH,
+ section = weston_config_get_section(wxs->compositor->config, "xwayland", NULL, NULL);
+ weston_config_section_get_string(section, "path", &xserver, XSERVER_PATH);
+
+ if (execl(xserver,
+ xserver,
display,
"-wayland",
"-rootless",
@@ -72,6 +77,7 @@ weston_xserver_handle_event(int listen_fd, uint32_t mask, void *data)
"-terminate",
NULL) < 0)
weston_log("exec failed: %m\n");
+ free(xserver);
_exit(EXIT_FAILURE);
default:
--
1.8.3.2
More information about the wayland-devel
mailing list