터미널을 여는 시작 스크립트가 작동하지 않는 이유는 무엇입니까?

터미널을 여는 시작 스크립트가 작동하지 않는 이유는 무엇입니까?

스크립트 작성에 장난을 치기 위해 시작 시 터미널을 열어야 하는 스크립트를 만들었습니다.

#!/bin/bash
#start terminal at startup
#/usr/bin/gnome-terminal

나는 그것을 /etc/init.d 디렉토리에 넣은 다음 이것을 실행했습니다.

update-rc.d myscript defaults

하지만 컴퓨터를 재부팅해도 아무 일도 일어나지 않습니다. 왜?

답변1

짧은 답변:

gnome-terminalGUI 응용 프로그램입니다. 따라서 실행만 가능합니다.사용자로서. 실행하려고 하는 순간에는 (아직) 로그인한 사용자가 없습니다. 대신 시작 응용 프로그램에 (-를 실행하는 명령) 스크립트를 넣으십시오.

당신은하지 않습니다필요대본조금도그러나 시작 응용 프로그램에 직접 명령을 추가할 수 있습니다.

gnome-terminal로그인하시면 시작됩니다 .

그 외에도 실행 명령이 gnome-terminal올바르지 않습니다. @steeldriver가 언급했듯이 감사 합니다 /usr/bin/gnome-terminal. 또는 에 있으므로 $PATH간단히 gnome-terminal.

답변2

스크립트의 주요 오류는 세 번째 명령문에서 실제로 터미널을 여는 명령을 주석 처리했다는 것입니다. "를 제거해주세요.#" 세 번째 진술에서. 한편 당신은 간단히 사용할 수 있습니다그놈 터미널활성화하려면 사용자 자체로 실행해야 합니다. 즉, update-rc에 추가해도 작동하지 않는다는 의미입니다. 터미널 방식을 더 선호한다면 crontab에 스크립트를 추가하고 다음을 사용하여 사용자의 crontab 파일에 추가할 수 있습니다.재부팅억누르다. 시작 시 스크립트가 실행됩니다. 그래서 나는 다음과 같이 요약한다.
script.sh라는 파일 이름은 다음과 같습니다.

#!/bin/bash
#start terminal at startup
gnome-terminal

다음 명령을 사용하여 사용자가 스크립트를 실행할 수 있도록 만듭니다.

chmod u+x /path/to/script.sh

이제 터미널을 열고 다음과 같이 사용자의 crontab을 편집하십시오.

crontab -e -u username

그에 따라 필요한 변경을 수행한 후 파일 맨 아래에 다음 문을 추가합니다.

@reboot /path/to/script.sh

이제 재부팅하세요. 그게 다야.

관련 정보