added .xsession/display-setup support

ly_0_1_0
nullgemm 7 years ago
parent 27f14eeb45
commit da52e705df

@ -5,6 +5,7 @@ build/ly :
install : build/ly
install -d ${DESTDIR}/etc/ly
install -D build/ly -t ${DESTDIR}/usr/bin
install -D xsetup.sh -t ${DESTDIR}/etc/ly
install -D ly.service -t ${DESTDIR}/usr/lib/systemd/system
ln -sf /usr/lib/security/pam_loginuid.so ${DESTDIR}/usr/lib/pam_loginuid.so

@ -28,6 +28,7 @@
#define LY_CMD_HALT "/sbin/shutdown"
#define LY_CMD_XINITRC "~/.xinitrc"
#define LY_CMD_MCOOKIE "/usr/bin/mcookie"
#define LY_CMD_XSETUP "/etc/ly/xsetup.sh"
#define LY_XAUTHORITY ".lyxauth"
/* paths */

@ -483,7 +483,9 @@ int xinitrc)
waitpid(child, &status, 0);
reset_terminal(pwd);
snprintf(cmd, sizeof(cmd),
"exec xinit %s%s -- %s %s %s -auth %s", xinitrc ? "" : "/usr/bin/",
"exec xinit %s %s%s -- %s %s %s -auth %s",
LY_CMD_XSETUP,
xinitrc ? "" : "/usr/bin/",
de_command, LY_CMD_X,
display_name, vt, getenv("XAUTHORITY"));
execve(pwd->pw_shell, argv, environ);

@ -10,7 +10,8 @@ struct pam_response** resp, void* appdata_ptr);
int start_env(const char* username, const char* password,
const char* de_command, enum deserv_t display_server);
void launch_xorg(struct passwd* pwd, pam_handle_t* pam_handle,
const char* de_command, const char* display_name, const char* vt, int xinitrc);
const char* de_command, const char* display_name, const char* vt,
int xinitrc);
void launch_wayland(struct passwd* pwd, pam_handle_t* pam_handle,
const char* de_command);
void launch_shell(struct passwd* pwd, pam_handle_t* pam_handle);

@ -0,0 +1,4 @@
#!/bin/bash
~/.xsession
exec $@
Loading…
Cancel
Save