쉘 스크립트를 중단해야만 실행할 수 있습니다

쉘 스크립트를 중단해야만 실행할 수 있습니다

코드는 다음과 같습니다.

#!/usr/bin/bash
echo hello world!
sxhkd -c $HOME/.config/sxhkd/sxhkdrc
echo done sxhkd
setxkbmap -option caps:swapescape
echo done setxkbmap
xset r rate 250 60
echo done xset

시작할 때 실행하고 싶기 때문에 crontab @reboot /home/name/startup.sh에 넣었는데 작동하지 않아서 스크립트를 직접 실행하려고 했는데 hello world가 표시되고 아무 일도 일어나지 않습니다. 새로운 프롬프트는 없지만 ctrl+c를 눌러 프로그램을 중지하면 나머지는 정상적으로 실행됩니다. 어떻게 해결할 수 있나요? 저는 페도라를 입고 있어요.

답변1

sxhkd 행 끝에 "&"를 추가하여 백그라운드에서 실행하십시오. 그렇지 않으면 sxhkd를 종료할 때까지 해당 행에 갇히게 됩니다. 아마도 원하지 않을 것입니다.

sxhkd -c $HOME/.config/sxhkd/sxhkdrc &

하지만 cronjob에서 실행하고 싶은지 잘 모르겠습니다. 사용자로 실행하고 싶지 않으신가요? .xinitrc귀하의 창 관리자나 데스크톱 환경에서 사용하는 다른 시작 스크립트나 다른 시작 스크립트 에서 시작할 수 있습니까 ?

관련 정보