리눅스에서 그래픽 로그인을위한 환경 변수를 어떻게 설정합니까?


15

리눅스에서 그래픽 로그인을 위해 임의의 환경 변수를 설정하는 방법을 찾고 있습니다. 터미널을 시작하고 터미널 내에서 환경 변수를 내보내는 것에 대해서는 이야기하지 않습니다. 그 변수는 해당 터미널에만 존재하기 때문입니다. 그래픽 세션에서 시작된 모든 프로그램에 적용 할 환경 변수를 설정하는 방법을 알고 싶습니다.

다시 말해서 Xorg는 ~/.bash_login무엇에 해당 합니까?

답변:


10

언제든지 (을)에 넣을 수 .profile있으므로 모든 로그인을 신청해야합니다.

그러나 .bash_login존재 하는 경우 문제가 발생 합니다.이 경우 bash는 읽지 않습니다 .profile.

변수를 .profilebash와 다른 로그인 모두에 적용하려면 .bash_login!를 사용하지 마십시오 ! bash 특정 변수를 .bashrc대신 넣으십시오 .

또는 대안 .profile으로.bash_login


덕분에 .profile일했다.
Ryan C. Thompson

1
또한 .profile은 내가 원하는 bash 코드를 넣을 수 있기 때문에 정말 좋습니다. 따라서 기존 환경 변수에 추가하고 다른 작업을 완전히 수행합니다.
Ryan C. Thompson

1
KDE의 경우 이것을 넣고로 ~/.kde/env/끝내야합니다 .sh. startkde맨 페이지를 참조하십시오 .
라이언 C. 톰슨

2
실제로 이것은 조금 더 복잡해 보입니다. 선택 배포, 데스크톱 환경 및 로그인 셸에 따라 다릅니다. Ubuntu 10.04의 Gnome의 경우 .KDE에 ~/.gnomerc표시된대로 설정 스크립트를에 배치해야합니다 . /etc/X11/Xsession.d/55gnome-session_gnomerc.KDE는 로그인 쉘인 쉘에 대한 프로파일 스크립트를 읽습니다. 이면 SHELL=bash읽습니다 ~/.profile. 이면 SHELL=zsh읽습니다 ~/.zprofile. 다른 껍질에 어떤 영향을 미치는지 모르겠습니다.
Ryan C. Thompson

4

내가 .profile나는에 작업 환경 설정 해제 분할했습니다, 그래서 그냥 설정 환경 변수보다 더 않는 .setenv파일 환경을 설정합니다. 데비안에서 X11의 환경을 설정하기 위해 .xsessionrc집에 다음을 추가했습니다 .

. ~/.setenv

.xsessionrc소스가되는 파일 은 /etc/X11/Xsession.d/40x11-common_xsessionrc입니다.

bash가 환경을 설정하는 데 사용하는 파일을 사용하면 내가 원하는 것을하지 못했습니다. 물론 X11에서 bash 쉘을 시작하면 원하는 환경을 얻을 수 있습니다. 그러나 데스크톱 환경에서 원하는 소프트웨어를 실행하려면 PATH를 설정해야합니다. 예를 들어, 일반적인 경로 외부에 설치된 Firefox의 사용자 정의 버전을 자주 사용합니다. 데스크탑 환경이 기본 경로에서 찾을 수있는 것을 사용하지 않고 올바른 버전을 시작하기를 원합니다. 이를 위해서는 데스크탑 환경이 시작되기 전에 PATH를 설정해야합니다.


0

Xorg 자체는 프로그램을 시작하지 않기 때문에 하나도 없습니다. 사용하는 디스플레이 관리자 (gdm, xdm, xinit, startx 등) 또는 세션 관리자 (gnome-session, KDE 등) 데스크톱 세션 프로세스의 부모이기 때문입니다. 불행히도, 각각 다른 시작 스크립트 / 도트 파일을 가진 다양한 것들이 있으므로, 한 가지 크기에 맞는 답은 없습니다. (X의 클라이언트 / 서버 모델에서 X 서버는 클라이언트와 동일한 시스템에 있지 않을 수도 있으며, 사용자 대신 루트로 실행되는 경우가 많으므로 환경 변수와 같은 설정에 잘못된 위치가 있습니다.)


나는 Xorg 자체가 내가보고 싶은 것이 아니라는 것을 안다. X 세션에서 환경 변수를 설정하는 방법을 알고 싶습니다.
Ryan C. Thompson
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.