다음 상황에서 자동으로 스크립트를 실행하려고 합니다.
- 특정 사용자 로그인.
- 사용자 독립적인 로그인 방법: 쉘, 데스크탑 환경 세션 또는 기타 수단을 통해.
이를 달성하기 위해 저는 호기심으로 부팅 프로세스의 여러 단계에 대한 init 스크립트를 조사하고 있습니다. 내 특정 문제는 프로세스에 대한 이해를 고려할 때 많은 작업이 필요한 것 같습니다. 더 좋고 쉬운 방법이 있는지 궁금합니다. 내가 어떻게 이해했는지 설명하겠습니다.
컴퓨터가 시작될 때 무언가를 실행하는 일반적인 방법은 를 사용하는 것입니다 /etc/init.d
. 이는 로그인하기 전에 실행되기 때문에 필요한 것과는 거리가 멀습니다.
로그인 시 무언가를 실행하는 일반적인 방법은
/etc/profile
스크립트를 사용하거나 더 적절하게 사용하는 것입니다 /etc/profile.d
. 모든 사용자가 실행하려는 스크립트를 로드하고 기본적으로 DE에서는 실행되지 않으므로 이것이 필요한 것은 아닙니다.
특정 사용자가 셸에 로그인할 때 무언가를 실행하는 일반적인 방법은 을 사용하는 것입니다 ~/.profile
(또는 기본 셸에 따라 동등한 방법: ~/.bash_profile
, ~/.bash_login
, ~/.login
등). 이는 특정 사용자에 대해서만 수행되며 이는 원칙적으로 나에게 필요한 것입니다. 문제는 와 같습니다 /etc/profile
. 이러한 스크립트는 데스크탑 환경의 "세션 로그인"에서는 실행되지 않습니다.
물론 특정 데스크탑 환경의 기능을 사용하여 스크립트를 실행할 수 있습니다. 그러나 이것은 배포판 간에 이식 가능하지 않으며 이는 내가 원하는 것이 아닙니다. 예를 들어 Ubuntu에서는 .desktop
파일을 생성하여 ~/.config/autostart
. 또한 나는 여기에서 읽었습니다.http://www.linuxmisc.com/11-unix-aix/6118cce17a587c8d.htmDE에서 etc/profile 실행의 불안정성과 관련하여 이는 좋은 해결책이 아닙니다.
그래서 내가 필요한 것을 성취할 뚜렷한 장소가 없는 것 같습니다. 문제는 다음과 같습니다
- 사용자가 모든 로그인 양식에 공통적이라는 점을 고려하면 쉘 로그인과 DE 간에 공통점이 있습니까? 이 스크립트/명령은 어디에/무엇입니까?
- 1에 대한 대답이 아무데도 연결되지 않으면 다음과 같이 묻고 싶습니다. 로그인 프런트엔드와 독립적으로 작업을 수행할 수 있는 장소/스크립트가 필요한 것이 분명한데 왜 존재하지 않습니까?