Merge branch 'patch/getpwuid' of https://github.com/usertam/kitty
This commit is contained in:
commit
122ba17df6
@ -176,7 +176,7 @@ env COLORTERM
|
||||
try:
|
||||
expected_login_shell = pwd.getpwuid(os.geteuid()).pw_shell
|
||||
except KeyError:
|
||||
with suppress(Exception):
|
||||
with suppress(KeyError):
|
||||
self.skipTest('Skipping login shell detection as getpwuid() failed to read login shell')
|
||||
if os.path.basename(expected_login_shell) == 'nologin':
|
||||
self.skipTest('Skipping login shell detection as login shell is set to nologin')
|
||||
|
||||
@ -67,7 +67,7 @@ using_id() {
|
||||
}
|
||||
|
||||
using_python() {
|
||||
detect_python && output=$(command "$python" -c "import pwd, os; print(pwd.getpwuid(os.geteuid()).pw_shell)") \
|
||||
detect_python && output=$(command "$python" -c "import pwd, os; exec(\"try:print(pwd.getpwuid(os.geteuid()).pw_shell)\nexcept:print(os.environ.get('SHELL')or'/bin/sh')\")") \
|
||||
&& login_shell="$output" && login_shell_is_ok
|
||||
}
|
||||
|
||||
|
||||
@ -22,10 +22,9 @@ request_data = int('REQUEST_DATA')
|
||||
leading_data = b''
|
||||
login_shell = os.environ.get('SHELL') or '/bin/sh'
|
||||
try:
|
||||
login_shell = pwd.getpwuid(os.geteuid()).pw_shell or login_shell
|
||||
login_shell = pwd.getpwuid(os.geteuid()).pw_shell
|
||||
except KeyError:
|
||||
with contextlib.suppress(Exception):
|
||||
print('Failed to read login shell via getpwuid() for current user, falling back to', login_shell, file=sys.stderr)
|
||||
pass
|
||||
export_home_cmd = b'EXPORT_HOME_CMD'
|
||||
if export_home_cmd:
|
||||
HOME = base64.standard_b64decode(export_home_cmd).decode('utf-8')
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user