EnvironmentFile=/etc/sysconfig/display-manager.env
SmackProcessLabel=System
ExecStart=/usr/bin/sh -c "while [ ! -e /run/wayland-0 ] ; do /usr/bin/sleep .1 ; done ;/bin/chown -f root:display /run/wayland-0;/bin/chmod 775 /run/wayland-0"
-ExecStartPost=/usr/bin/sh -c "/usr/bin/touch /run/.wm_ready"
[Install]
WantedBy=graphical.target
dlog_vprint(dlog_level_from_ds_log_level(level), LOG_TAG, fmt, args);
}
+static int
+server_create_wm_ready(void)
+{
+ FILE *wm_ready = NULL;
+ const char *path_wm_ready = "/run/.wm_ready";
+
+ wm_ready = fopen(path_wm_ready, "wb");
+ if (!wm_ready) {
+ ds_err("fail to open path:%s", path_wm_ready);
+ return 0;
+ }
+
+ ds_inf("Create %s", path_wm_ready);
+
+ fclose(wm_ready);
+
+ return 1;
+}
+
int
main(int argc, char *argv[])
{
server.name = wl_display_add_socket_auto(server.display);
HS_CHECK(server.name, goto end, "Could not add socket for wayland");
+ ret = server_create_wm_ready();
+ HS_CHECK(ret, goto end, "Failed to create wm_ready");
+
setenv("WAYLAND_DISPLAY", server.name, true);
ds_inf("Running headless server on WAYLAND_DISPLAY=%s", server.name);