2017-05-22 1 views
0

시스템을 재부팅 할 때 자동 실행되는 우분투 스크립트를 설치하려고합니다.쉘 상호 작용이있는 자동 시작 스크립트

/etc/rc.local에서 실행 해 보았습니다. 문제 : 내 스크립트가 Gtk 팝업을 던지는 c 프로그램을 호출하고 쉘의 printfs를 scanf 입력을 기다립니다. 내가 rc.local에 배치하고 시스템을 재부팅하면 시스템이 실행되지 않는 것처럼 보이지만 실제로는 부트 쉘 백그라운드에서 실행됩니다 (따라서/var/log/syslog에서 볼 수 있습니다). 따라서 gtk 팝업은 표시되지 않습니다. printf/scanf의 상호 작용.

그런 다음 나는 그것을 얻을 수있는 다른 방법을보고, 내가 찾은 ~ /의 .config/자동 시작 여기에/ 난 다음이 포함 된 file.desktop 장소 :로 myscripf에서

[Desktop Entry] 
Name=backup Exec=/path/myScript.sh 
Type=Application 
Hidden=false 
NoDisplay=false 
X-GNOME-Autostart-enabled=true 

내가 화장을을 다음 :

gnome-terminal -e "bash -c \"/ path/myprogram; 간부 인 bash는 \ ""&

마지막이 작동하고이 때 재부팅이 실행되고 있지만, 문제는 지금 내 프로그램은 내가 찾던 정확히 무엇 인 (Q 새로운 쉘에서 실행 2 배 하나를되고있는 것입니다) 그리고 rc.local 메소드로 일어난 부팅 배경에서 또 하나. 어떻게해야합니까?

답변

0

systemd 서비스를 사용하여 스크립트를 자동 시작하는 경우에 더 좋습니다. 우분투의 최신 버전은 systemd 서비스를 사용하여 스크립트를 예약합니다./lib/systemd/system 디렉토리에서 찾을 수 있습니다.

+0

작동하지 않습니다. –

+0

작성한 서비스 파일을 붙여 넣을 수 있습니까? – newbie

+0

backup.service : [단위] 설명 = 백업 서비스 DefaultDependencies = 더 [서비스] 유형 = 원샷 ExecStart =/가정/호르헤/Documentos/스크립트/overwatchSaver/백업/script.sh [설치] 없습니다 WantedBy = multi-user.target –

관련 문제