28
27
static DisplayServer *
29
seat_xremote_create_display_server (Seat *seat)
28
seat_xremote_create_display_server (Seat *seat, const gchar *session_type)
31
XServerRemote *xserver;
30
XServerRemote *x_server;
32
31
const gchar *hostname;
34
if (strcmp (session_type, "x") != 0)
36
l_warning (seat, "X remote seat only supports X display servers, not '%s'", session_type);
35
40
hostname = seat_get_string_property (seat, "xserver-hostname");
37
42
hostname = "localhost";
38
43
number = seat_get_integer_property (seat, "xserver-display-number");
40
g_debug ("Starting remote X display %s:%d", hostname, number);
42
xserver = xserver_remote_new (hostname, number, NULL);
44
return DISPLAY_SERVER (xserver);
45
l_debug (seat, "Starting remote X display %s:%d", hostname, number);
47
x_server = x_server_remote_new (hostname, number, NULL);
49
return DISPLAY_SERVER (x_server);
53
seat_xremote_create_greeter_session (Seat *seat)
55
Greeter *greeter_session;
56
const gchar *xdg_seat;
58
greeter_session = SEAT_CLASS (seat_xremote_parent_class)->create_greeter_session (seat);
59
xdg_seat = seat_get_string_property (seat, "xdg-seat");
62
l_debug (seat, "Setting XDG_SEAT=%s", xdg_seat);
63
session_set_env (SESSION (greeter_session), "XDG_SEAT", xdg_seat);
65
return greeter_session;
48
seat_xremote_create_session (Seat *seat, Display *display)
69
seat_xremote_create_session (Seat *seat)
50
XServerRemote *xserver;
53
xserver = XSERVER_REMOTE (display_get_display_server (display));
55
session = xsession_new (XSERVER (xserver));
56
session_set_remote_host_name (SESSION (session), xserver_get_hostname (XSERVER (xserver)));
58
return SESSION (session);
72
const gchar *xdg_seat;
74
session = SEAT_CLASS (seat_xremote_parent_class)->create_session (seat);
75
xdg_seat = seat_get_string_property (seat, "xdg-seat");
78
l_debug (seat, "Setting XDG_SEAT=%s", xdg_seat);
79
session_set_env (SESSION (session), "XDG_SEAT", xdg_seat);
62
seat_xremote_run_script (Seat *seat, Display *display, Process *script)
85
seat_xremote_run_script (Seat *seat, DisplayServer *display_server, Process *script)
64
XServerRemote *xserver;
66
xserver = XSERVER_REMOTE (display_get_display_server (display));
67
process_set_env (script, "DISPLAY", xserver_get_address (XSERVER (xserver)));
68
process_set_env (script, "REMOTE_HOST", xserver_get_hostname (XSERVER (xserver)));
70
SEAT_CLASS (seat_xremote_parent_class)->run_script (seat, display, script);
87
XServerRemote *x_server;
89
x_server = X_SERVER_REMOTE (display_server);
90
process_set_env (script, "DISPLAY", x_server_get_address (X_SERVER (x_server)));
91
process_set_env (script, "REMOTE_HOST", x_server_get_hostname (X_SERVER (x_server)));
93
SEAT_CLASS (seat_xremote_parent_class)->run_script (seat, display_server, script);