일반 사용자로 rc.local을 실행하는 방법은 무엇입니까?


8

나는 'startx'를 포함하여 로그인 직후에 전화를 받고 싶다는 칭찬을 가지고 있으며, rc.local그들에게 좋은 곳 이라고 생각 했지만 문제는 rc.local루트로 실행되고 싶지 않기 때문에 분명히 할 수 있습니다. 이 같은:

su username -c somecommend-here

그러나 전체 'rc.local'을 일반 사용자로 실행하는 방법을 찾고 있습니까, 아니면 내 코드를 넣을 수있는 더 좋은 곳이 있습니까?

추신. 우분투 미니 리믹스 1104i386을 사용하고 있습니다.

감사


AFAIK rc.local은 부팅 순서가 끝나면 로그인과 동시에 실행됩니다. 내 말은, 당신이 로그인하지 않아도 실행되지만, 당신은 실행 보류중인 것일 수 있습니다 개미에 로그인 할 수 있습니다.
Javier Rivera

@JavierRivera 그래서 해결책은 무엇입니까?
omeid

답변:


6

사용자가 로그인 할 때 명령을 시작하는 가장 쉬운 방법은 명령에 대한 .desktop파일 을 만들어 ~/.config/autostart폴더에 넣는 것입니다 . 데스크탑 파일은 어떻게 생겼습니까? 다음은 wget사용자가 로그인 할 때마다 Ask Ubuntu 홈 페이지를 검색하는 예입니다 .

[Desktop Entry] 
Name=Launch wget
Comment=Fetches the Ask Ubuntu home page.
Exec=wget http://askubuntu.com/

그래픽 로그인 후 (startx OP가 요청한대로) 시작하는 것은 좋은 생각이 아닙니다 .
enzotib

@enzotib : 그래픽 로그인에 대한 언급이 없습니다.
Nathan Osman

어쩌면 나는 질문을 오해했을 것 startx입니다 rc.local. 사용자가에서 시작할 것이라고 믿었습니다 . 미안
enzotib

1

/etc/rc.local과 crontab의 차이점을 모르지만 일반적으로 서비스 계정을 만들고 적절한 작업을 추가합니다. 예를 들면 다음과 같습니다. sudo crontab -u p4padmin -e

@reboot ~/bin/p4p -d -r ~/var/p4p/cache/foo -p 2020 -t depot:2020 -L ~/var/p4p/log/foo.log

서비스를 실행하기 위해 로그인 할 필요는 없습니다.


0

리눅스 방식은 ~/.bashrc대신에 명령을 추가하는 것입니다 /etc/rc.local.

모든 사용자는 .bashrc홈 디렉토리에 있습니다. 이 스크립트 파일은 사용자가 로그인 한 직후 자동으로 실행됩니다.이 스크립트 파일은 사용자의 자격 증명으로 실행되므로 su명령이 필요하지 않습니다.

이것이 바로 당신이 찾고있는 것 같습니다.


예를 들어 .bashrc사용자가 normal을 사용하여 로그인 할 때 읽히지 않기 때문에 이것은 올바르지 않습니다 lightdm.

나는 그가 언급 한 "수동"startx 명령 때문에 사용자가 디스플레이 관리자 대신 명령 행 로그인을 사용하고 있다고 너무 빨리 결론을 내렸다 .... my bad :-)
thom
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.