세 개의 구성 파일을 찾았습니다.
.xinitrc
.xsession
.xsessionrc
첫 번째는 사용하기 위한 것이고 startx
두 번째와 세 번째는 디스플레이 관리자를 사용할 때 사용하는 것으로 알고 있습니다. 그러나 결국 둘의 차이점은 무엇입니까?
답변1
~/.xinitrc
집행자xinit
, 일반적으로 전화로 startx
. 프로그램은 로그인 후 실행됩니다. 먼저 텍스트 콘솔에서 실행한 다음 실행 GUI를 사용합니다 startx
. 의 역할은 일반적으로 키 바인딩 .xinitrc
과 같은 일부 GUI 관련 설정을 설정하여 세션의 GUI 부분을 시작하는 것사용xmodmap
(xkbcomp
xrdb
~/.xsession
그래픽 모드(in)로 로그인할 때 실행됩니다.디스플레이 관리자) 및 디스플레이 관리자는 "사용자 정의" 세션 유형을 호출합니다. (기록 디스플레이 관리자 xdm의 경우 .xsession
이는 항상 실행되지만 사용자에게 세션 유형 선택권을 제공하는 최신 디스플레이 관리자의 경우 일반적으로 .xsession
실행하려면 "custom"을 선택해야 합니다.) 이것이 수행하는 작업은 로그인 시 매개변수를 설정하는 것입니다( 환경 변수 등) GUI 세션을 시작합니다. .xsession
일반적으로
#!/bin/sh
. ~/.profile
. ~/.xinitrc
~/.xsessionrc
GUI 로그인 시 X 시작 스크립트에 의해 실행되는 Debian(및 Ubuntu, Linux Mint 등의 파생 제품)에서는 모든 세션 유형과 모든 디스플레이 관리자에서 작동합니다. startx
사용자에게 세션이 없는 경우에도 실행됩니다. .xinitrc
이 경우 startx
GUI 로그인에 사용되는 것과 동일한 세션 시작 스크립트가 사용되기 때문입니다. 리소스가 로드된 후 프로그램(예: 핵심 에이전트, D-Bus 데몬 등)이 시작되기 전에 비교적 일찍 실행됩니다. 일반적으로 이후 시작 스크립트에서 사용할 수 있는 변수를 설정합니다. 내가 아는 한, 공식적인 문서는 없으며 무엇이 작동하는지 확인하려면 소스 코드를 자세히 살펴봐야 합니다.
.xinitrc
X11 윈도우 시스템의 역사적 기능 이므로 .xsession
모든 Unix 시스템에서 유사하게 작동하고 사용할 수 있습니다. 반면에 .xsessionrc
이는 데비안의 기능이며 데비안 기반이 아닌 배포판에는 유사한 기능을 구현하지 않는 한 이 기능이 없습니다.
.xprofile
와 매우 유사 .xsessionrc
하지만일부 디스플레이 관리자를 위한 세션 시작 스크립트GDM(GNOME Display Manager) 및 lightdm을 포함하지만 xdm 및 kdm과 같은 다른 항목은 포함하지 않습니다.
답변2
또 다른 논의에 따르면,~/.xinitrc 없이 startx + ~/.xsession을 사용하면 기능이 저하됩니다(xfce4, sid).
첫 번째:
.xsessionrc
보유용지구 환경변하기 쉬운. 요점은 내 것입니다.둘째:
40x11-common_xsessionrc
in/etc/X11/Xsession.d
은50x11-common_determine-startup
. 따라서.xsessionrc
이전에 읽은 것처럼.xsession
모든 환경 변수 세트는 NET의 명령으로 실행되는 응용 프로그램에서 사용할 수 있습니다.xsession
.
추가 자료: