배쉬 프로그래밍. 프로그램을 두 번 클릭하는 것과 콘솔에서 실행하는 것의 차이점

배쉬 프로그래밍. 프로그램을 두 번 클릭하는 것과 콘솔에서 실행하는 것의 차이점

다음 내용으로 vpn.sh라는 스크립트를 작성했습니다.

#!/bin/sh

cd /etc/openvpn

sudo openvpn client.ovpn &

konsole에 있으면 ./vpn.sh가 제대로 작동합니다. 하지만 vpn.sh 파일을 두 번 클릭해도 아무 일도 일어나지 않습니다. 누구든지 위의 두 가지 방법의 차이점을 말해 줄 수 있습니까?

답변1

내가 말하려는 것은 다음을 sudo사용하여 명령줄에서 작동한다는 것입니다.(사람들이 명령줄에 비밀번호를 입력할 수 있기 때문입니다), 그러나 그래픽 환경에서는 작동하지 않을 수 있습니다.

이 경우 사용 중인 데스크탑 환경에 따라 gksudo또는 를 사용해야 합니다 . 참조kdesudo그래픽 sudo더 많은 정보를 알고 싶습니다.

답변2

사용 중인 파일 브라우저가 .sh 파일을 쉘 스크립트로 실행하도록 설정되지 않은 것 같습니다. 터미널에 ./vpn.sh를 입력하면 파일이 터미널에서 쉘 스크립트로 실행됩니다. 파일을 두 번 클릭하여 동일한 작업을 수행하려고 하면 파일 브라우저가 스크립트를 동일한 방식으로 처리하도록 설정되어 있지 않으므로 아무 일도 일어나지 않습니다.

답변3

두 번 클릭하면 관리자/루트로 실행하고 있습니까?

사용 중인 콘솔에서 실행하면 sudo파일을 admin/root로 실행하고 있음을 의미합니다.

관련 정보