mirror of
https://github.com/kovidgoyal/kitty.git
synced 2024-10-04 01:59:04 +03:00
Fix forward_stdio not working on macOS
This commit is contained in:
parent
cea92583dd
commit
70e068e414
@ -319,12 +319,14 @@ def fork(self) -> Optional[int]:
|
||||
if ksi == 'invalid':
|
||||
ksi = 'enabled'
|
||||
argv = [kitten_exe(), 'run-shell', '--shell', shlex.join(argv), '--shell-integration', ksi]
|
||||
if is_macos:
|
||||
if is_macos and not self.pass_fds and not opts.forward_stdio:
|
||||
# In addition for getlogin() to work we need to run the shell
|
||||
# via the /usr/bin/login wrapper, sigh.
|
||||
# And login on macOS looks for .hushlogin in CWD instead of
|
||||
# HOME, bloody idiotic so we cant cwd when running it.
|
||||
# https://github.com/kovidgoyal/kitty/issues/6511
|
||||
# login closes inherited file descriptors so dont use it when
|
||||
# forward_stdio or pass_fds are used.
|
||||
import pwd
|
||||
user = pwd.getpwuid(os.geteuid()).pw_name
|
||||
if cwd:
|
||||
|
@ -3316,7 +3316,9 @@
|
||||
allows child processes to print to kitty's STDOUT directly. For example,
|
||||
:code:`echo hello world >&$KITTY_STDIO_FORWARDED` in a shell will print
|
||||
to the parent kitty's STDOUT. Sets the :code:`KITTY_STDIO_FORWARDED=fdnum`
|
||||
environment variable so child processes know about the forwarding.
|
||||
environment variable so child processes know about the forwarding. Note that
|
||||
on macOS this prevents the shell from being run via the login utility so getlogin()
|
||||
will not work in programs run in this session.
|
||||
''')
|
||||
|
||||
opt('+menu_map', '',
|
||||
|
Loading…
Reference in New Issue
Block a user