gdm 로그인 시 모든 사용자에 대해 자동으로 스크립트를 실행하는 방법은 무엇입니까?

gdm 로그인 시 모든 사용자에 대해 자동으로 스크립트를 실행하는 방법은 무엇입니까?

사용자가 gdm을 통해 로그인할 때 일부 지침을 실행하려면 어떤 파일을 수정해야 합니까?

시도해 보았지만 /etc/bashrcbash를 시작할 때만 (그리고 xterm을 열 때마다) 실행됩니다. 사용자가 로그인할 때 한 번만 실행하고 싶습니다.

내가 원하는 것은 사용자가 로그인할 때마다 일부 사용자 기본 설정(창 관리자 포함)을 "재설정"하여 WM이 초기화되기 전에 스크립트를 실행해야 하는 것입니다.

답변1

나에게 가장 적합한 솔루션은 /etc/gdm/PostLogin/Default사용자가 gdm을 사용하여 로그인한 직후에 수행됩니다. 정확히 내가 원했던 것입니다.

답변2

데비안과 그 파생물에서는 수정할 수 있지만 /etc/profile보편적이라고 생각하지는 않습니다.

답변3

매뉴얼 페이지에서:

bash가 --login 옵션을 사용하여 대화형 로그인 셸 또는 비대화형 셸로 호출되면 먼저 /etc/profile 파일(파일이 있는 경우)에서 명령을 읽고 실행합니다. 파일을 읽은 후 ~/.bash_profile, ~/.bash_login, ~/.profile을 순서대로 찾아 존재하고 읽을 수 있는 첫 번째 파일부터 명령을 읽고 실행합니다. 이 동작은 셸을 시작할 때 --noprofile 옵션을 사용하여 비활성화할 수 있습니다.

로그인 쉘이 종료되면 bash는 ~/.bash_logout 파일(존재하는 경우)에서 명령을 읽고 실행합니다.

로그인 쉘이 아닌 대화형 쉘을 시작할 때 bash는 /etc/bash.bashrc 및 ~/.bashrc 파일이 존재하는 경우 해당 명령을 읽고 실행합니다. --norc 옵션을 사용하여 이를 비활성화할 수 있습니다. --rcfile file 옵션은 bash가 /etc/bash.bashrc 및 ~/.bashrc 대신 파일에서 명령을 읽고 실행하도록 강제합니다.

사용자의 WM을 변경하려면: kdm/gdm/xdm/slim을 제거하고 ~/.xinitrc에서 WM을 설정하고 bash 구성에서 "startx"를 실행합니다.

관련 정보