diff options
Diffstat (limited to 'launchd/user_startx')
-rw-r--r-- | launchd/user_startx/Makefile.am | 1 | ||||
-rw-r--r-- | launchd/user_startx/launchd_startx.c | 11 |
2 files changed, 7 insertions, 5 deletions
diff --git a/launchd/user_startx/Makefile.am b/launchd/user_startx/Makefile.am index e895ee2..1b18db0 100644 --- a/launchd/user_startx/Makefile.am +++ b/launchd/user_startx/Makefile.am @@ -26,7 +26,6 @@ libexec_PROGRAMS = launchd_startx AM_CPPFLAGS = -I$(srcdir)/.. -DXINITDIR=\"$(xinitrcdir)\" -DBINDIR=\"$(bindir)\" dist_launchd_startx_SOURCES = \ - $(srcdir)/../console_redirect.c \ launchd_startx.c CPP_FILES_FLAGS = \ 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); |