어느 날 나는 디스플레이 관리자 독립 게스트 세션을 만드는 것을 생각했습니다.
/tmp/guest-XXXXXX
나의 기본 아이디어는 임시 홈 디렉토리(fe )를 동적으로 생성하고 이 세션을 해당 홈 디렉토리에 할당하는 사용자 정의 프로그램으로 로그인 셸을 변경하는 것입니다 . 사용자가 로그아웃하면 디렉터리가 다시 삭제됩니다. 내가 겪고 있는 문제는 다음과 같습니다. 집을 설정해야 하며 /etc/passwd
문제 없이 HOME 환경 변수를 재정의할 수 있지만 응용 프로그램은 passwd
적어도 그래픽에서 여전히 환경 변수 대신 홈 설정을 사용하고 있는 것 같습니다. 환경. passwd
세션이 시작될 때까지 몰랐기 때문에 집을 마련할 수 없었습니다 .
제가 생각해낸 기본 논리는 다음과 같습니다.
- 로그인 셸이 시작되었습니다.
- 임시 집 만들기
- HOME이 임시 집으로 설정되었습니다.
- 진짜 껍질은 갈라져 있다
- 실제 쉘이 종료된 후 임시 홈은 삭제됩니다.
su
사용자로 들어가면 작동하는 것 같지만 그래픽 세션을 실행하면 대부분/모든 프로그램이 passwd
.
그래픽 세션이 활성화된 동안 사용자의 홈페이지를 동적으로 변경할 수 있습니까? 그래픽 세션이 작동하는 방식의 아키텍처에서 뭔가를 간과하고 있습니까?