gnome-terminal은 vnc 세션에서 "env -i"를 사용하는 경우에도 일부 환경을 상속합니다.

gnome-terminal은 vnc 세션에서 "env -i"를 사용하는 경우에도 일부 환경을 상속합니다.

어떻게든 gnome-terminal은 쉘 초기화 파일에 설정되지 않은 일부 환경(시스템 전체/사용자 수준)을 얻을 수 있습니다.

env -i DISPLAY=":1.0" /usr/bin/gnome-terminal

$> env다른 많은 변수가 제공되며 그 중 xterm은 다음 변수만 제공합니다.

env -i DISPLAY=":1.0" /usr/bin/xterm
$> env
DISPLAY=:1.0
TERM=xterm
WINDOWID=37748770
XTERM_VERSION=X.Org 6.8.99.903(253)
XTERM_LOCALE=C
LOGNAME=bkatkam
XTERM_SHELL=/bin/csh
HOSTTYPE=x86_64-linux
VENDOR=unknown
OSTYPE=linux
MACHTYPE=x86_64
SHLVL=1
PWD=/home/bkatkam
USER=bkatkam
GROUP=inv
HOST=inv2

그러나 이는 새 VNC 세션에서 지워집니다. 내 생각엔 vnc 세션이 어딘가에 환경을 저장하고 있는 것 같습니다. 어디에 저장되어 있는지 알 수 없습니다.

나도 경험해봤는데,csh: 터미널이 알 수 없는 위치에서 환경 변수를 상속합니다., 그러나 이 문제의 근본 원인은 발견되지 않았습니다.

편집: env -i열려 있는 모든 그놈 터미널을 닫은 후 이제 명령이 올바른 환경을 제공합니다. 하지만 정상적으로 터미널을 열면 (아무것도 없음 env -i) 관련없는 환경이 상속됩니다.

답변1

gnome-terminal디버깅 후 상위 프로세스로부터 Xvnc환경을 상속받는다는 것을 알게 되었습니다.

Xvnc차례로 vncserverVNC가 생성된 터미널에서 환경을 가져옵니다. 따라서 VNC의 환경이 깨끗한지 확인하십시오. 명령어로 만들었어요

env -i PATH="/usr/bin:/bin" HOME="/home/bkatkam" vncserver -geometry 1920x1080

관련 정보