diff options
Diffstat (limited to 'launchd/user_startx/launchd_startx.c')
-rw-r--r-- | launchd/user_startx/launchd_startx.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/launchd/user_startx/launchd_startx.c b/launchd/user_startx/launchd_startx.c index 67419a4..e2589be 100644 --- a/launchd/user_startx/launchd_startx.c +++ b/launchd/user_startx/launchd_startx.c @@ -39,8 +39,6 @@ #include <stdlib.h> #include <spawn.h> -#include "console_redirect.h" - int main(int argc, char **argv, char **envp) { aslclient aslc; pid_t child; @@ -53,8 +51,13 @@ int main(int argc, char **argv, char **envp) { aslc = asl_open(BUNDLE_ID_PREFIX".startx", BUNDLE_ID_PREFIX, ASL_OPT_NO_DELAY); - xi_asl_capture_fd(aslc, NULL, ASL_LEVEL_INFO, STDOUT_FILENO); - xi_asl_capture_fd(aslc, NULL, ASL_LEVEL_NOTICE, STDERR_FILENO); + asl_log_descriptor(aslc, NULL, ASL_LEVEL_INFO, STDOUT_FILENO, ASL_LOG_DESCRIPTOR_WRITE); + asl_log_descriptor(aslc, NULL, ASL_LEVEL_NOTICE, STDERR_FILENO, ASL_LOG_DESCRIPTOR_WRITE); + + /* https://github.com/XQuartz/XQuartz/issues/114 */ + char const * const home = getenv("HOME"); + assert(home); + chdir(home); assert(posix_spawnp(&child, argv[1], NULL, NULL, &argv[1], envp) == 0); wait4(child, &pstat, 0, (struct rusage *)0); |