Windows에서 .EXE 파일처럼 두 번 클릭하여 스크립트를 실행하는 방법은 무엇입니까?


116

.exeWindows에서 파일 처럼 두 번 클릭하여 bash 스크립트를 실행 가능하게하려면 어떻게 해야합니까? 런처를 만들고 스크립트를 할당 하려고 시도했지만 두 가지 결과가 있습니다.

  1. 터미널이 반짝 거리고 사라지고 아무 것도 수행되지 않습니다.
  2. 작업하려면 터미널에서 실행되도록 지정해야합니다.

스크립트에 tomcat의 모든 종속성을 포함하여 오프라인 PC에 tomcat을 설치하는 스크립트가 있습니다. 스크립트를 사용하는 대부분의 사람들이 우분투에 익숙하지 않기 때문에 Windows처럼 두 번 클릭하여 스크립트를 작동시켜야합니다.

위의 설명을 잊어 버리십시오. 터미널을 사용하지 않고 두 번 클릭하여 실행할 수있는 스크립트를 만들고 싶습니다. 아무도 어떻게 알아?


데스크탑 파일을 잘못 작성했을 수 있습니다. 당신은 (게시 할 수 그대로 ) 당신이 쓴의 .desktop 실행을?
Jjed

또한 이것을 보셨습니까? askubuntu.com/q/34597/24694
Jjed

큰 아이디어가 아닌 이름과 명령을 지정하는 실행기 일뿐입니다.

3
muru는 이것을 알려 주며
draoi

1
향후 방문자를위한 참고 자료 : 우분투의 기본 파일 관리자 인 노틸러스는 2019 년 취약점으로 인해 최신 릴리스에서 실행 파일을 실행하는 기능을 제거 할 것입니다. 토론과 함께 GitLab에 관한 주제코드 커밋에 관한 기사
Sergiy Kolodyazhnyy

답변:


134

나는 이것을 테스트했고 잘 작동했다. 스크립트가 올바른 shebang으로 시작하는지 확인하십시오 ( 예 :)#!/usr/bin/env bash .

그런 다음 다음 단계를 수행하십시오.

  • 히트 Alt+ F2명령을 실행합니다.
  • 를 입력 dconf-editor하고 누르십시오 Enter.
  • dconfg-editor에서 다음으로 이동하십시오. org ➤ gnome ➤ nautilus ➤ preferences
  • executable-text-activation드롭 다운 메뉴를 클릭 하고 다음을 선택하십시오.

    launch : 스크립트를 프로그램으로 시작합니다.
    또는
    묻기 : 대화 상자를 통해 수행 할 작업을 묻습니다.

    스크린 샷

  • dconf-editor를 닫습니다. 그게 다야!

터미널을 사용하는 다른 방법 : 실행 :

gsettings set org.gnome.nautilus.preferences executable-text-activation 'launch'

참고 : 파일은 실행 가능해야합니다. 파일의 권한을 변경해야 할 수도 있습니다. 마우스 오른쪽 버튼을 클릭하고 "파일을 프로그램으로 실행 허용"

스크린 샷

소스 .


이것은 훌륭하게 작동했습니다. 참고로 오른쪽 드롭 다운 메뉴 executable-text-activation(기본값은 display) 를 클릭하면 "드롭 다운 메뉴"에 도달합니다 .
ryanjdillon

5
응용 프로그램을 호출 할 수없는 사람들을 위해, 먼저 설치해야합니다sudo apt-get install dconf-editor
whale_steward

1
이것은 데스크탑을 제외한 모든 곳에서 작동합니다. 데스크탑에서도 작동하게하려면 어떻게해야합니까? Xubuntu 14.10을 사용하고 있습니다.
shrx

LXDE (Lubuntu 용)에서이를 수행 할 수있는 방법이 있습니까?
childofsoong

이것은 slax unix에서 훌륭하게 작동합니다 . 엄지 드라이브로 부팅 할 수있는 정말 훌륭한 Unix 시스템 은 slax.org 를 참조하십시오 .
raddevus

74

노틸러스 (AKA 파일)

  1. 파일로 이동 하십시오 ( Unity에서 편집 (17.04 이하))> 환경 설정> 동작 탭

    스크린 샷

  2. 실행 가능한 텍스트 파일의 설정을 변경하십시오.

    스크린 샷


3
이제 '파일-> 환경 설정'. (17.04)
niry

단! 임호가는 길.
codepleb

출력을 보는 방법?
Amr Lotfy

10

우분투 및 모든 Unix 기반 OS에서 afaik은 기본적으로 실행 파일로 설정된 것이 없습니다. 이를 수행하는 두 가지 방법이 있습니다.

  1. 실행할 스크립트 나 파일을 마우스 오른쪽 버튼으로 클릭하십시오. 속성으로 이동 한 다음 권한 탭으로 이동하십시오. 실행이라는 확인란을 클릭하십시오.

  2. cd파일이있는 디렉토리로 터미널 을 엽니 다 . 을 입력하십시오 . 파일이 실행되도록 설정됩니다.chmod ugo+x filename

이제 사용자는 하트 컨텐츠를 두 번 클릭 할 수 있습니다.


2
그것은 여전히 ​​터미널에서 실행하거나 디스플레이 또는 실행으로 무엇을 할 것인지 묻습니다 ... 그래서 그것은 내가 필요로하지 않습니다

이 답변 만 데스크탑 파일을 실행 가능하게 만들기 위해 Gnome Ubuntu 17.04에서 작동했습니다
Kunok

파일을 두 번 클릭하지 않고 터미널에서 파일을 실행하기위한 것입니다.
DimiDak

8

* .desktop 파일을 만드는 것이 여기에 없다고 생각 합니다.

$ cat shortcut-for-my-script.desktop
[Desktop Entry]
Type=Application
Terminal=true
Name=Click-Script
Icon=utilities-terminal
Exec=gnome-terminal -e "bash -c './script.sh;$SHELL'"
Categories=Application;

하나의 스크립트에 대해 * .desktop 파일을 두 개 이상 만들면 서로 다른 매개 변수를 전달 하여 여러 구성 을 만들 수 있습니다 . 이는 매우 편안하고 사용하기 쉬운 방법입니다.


1
이것이 우분투에 대한 최고의 답변입니다. 당신이 (또는 아마하지? 않음) 지정할 필요하지 않을 수 있습니다 Terminal=True그리고 Exec=gnome-terminal당신은 말 그대로 ... 터미널 창에서의 출력을보고 싶어 스크립트에 대한 바로 가기를 만드는 경우를 제외하고 또한 당신이 가리킬 수 있습니다 Icon어떤 정의에 당신이 원할 수도있는 png
BuvinJ

6

XFce를 사용하는 경우 다음 명령을 실행하여 Thunar에서 스크립트를 실행할 수 있습니다.

xfconf-query --channel thunar --property /misc-exec-shell-scripts-by-default \
             --create --type bool --set true

또는 gui를 사용 xfce4-settings-editor하고 동일한 속성을 만듭니다.

를 실행 xfce4-settings-editor한 후 다음을 입력하십시오.

  • /misc-exec-shell-scripts-by-default

  • 부울

  • 참된

xfce4 설정 편집기의 그림


여기에 (즉, "위험"기능을 다시 활성화하지 않고)하는 Thunar에서 사용자 지정 작업으로 목적을 달성하는 방법.
cipricus

또한 여기 Zenity를 사용하여 질문하는 방법에 대한 "편집 또는 실행?"
cipricus

2

당신은 3 점을 확인해야합니다 :

  • 노틸러스 / 니모 구성 : https://askubuntu.com/a/286651/301025
  • 스크립트 파일은 실행 가능 해야합니다 . https://askubuntu.com/a/275714/301025
  • 파일 시스템은 실행을 허용해야합니다 .

    1. mount콘솔에 입력
    2. 파일 시스템에 noexec플래그 가 있는지 확인
    3. 수정 된 시스템 noexec을 편집 /etc/fstab하고 다시 마운트 하여 플래그를 제거하십시오 (예 : 재부팅 작업).

1

데스크탑에서 SHEL 스크립트로 실행을 시작하거나 명령 행에서 무엇이든 백그라운드에서 실행되도록 스크립트에 신호를 보내는 것을 잊지 마십시오.

작업이 끝나면 스크립트가 죽습니다.


1
내가

1

umask기본 값을 기반으로 기본적으로 파일에 대한 권한을 실행하지 않았으며 다음과 같이 실행 권한을 얻으려면 mod를 변경해야합니다.

chmod u+x filename

1
Broth Ali는 확실히 그렇게했습니다

0

Thunar대한 답변을 보완하기 위해 :이 답변은 Thunar의 이전 기능을 다시 활성화하여 두 번 클릭으로 스크립트를 실행할 수있게합니다. 그러나이 기능은 보안 위험 요소로 간주되었습니다.

이를 피하기 위해 가장 우아한 해결책은 "해당 파일에 무엇을 원하십니까 : 실행 또는 편집"과 같은 질문이있는 팝업 창을 얻는 것입니다. (당신이 PCManFM와 니모 같은 다른 파일 관리자에있는 것과 유사한) 때 클릭 해당 파일 - Zenity를 사용하여 : 여기 .


대안은 커스텀 액션 , 아마도 Thunar가 가진 최고의 기능 일 것입니다.

실행 가능한 텍스트 파일을 실행하는 데 사용하는 명령은 sh -c %f"Run / Execute script"라는 사용자 지정 작업입니다.

여기에 이미지 설명을 입력하십시오

모양 조건은 단순히 "텍스트"입니다.

여기에 이미지 설명을 입력하십시오

Xfce4 터미널을 열린 상태로 유지하면서 유사한 스크립트를 터미널에서 이러한 스크립트 ( "터미널에서 실행")에서 실행하는 데 사용할 수 있습니다.

xfce4-terminal -H -x %f

여기에 이미지 설명을 입력하십시오

선택적으로, 그리고 바람직하게는, 실행 파일을 제외한 모든 텍스트 파일에 대해 이러한 옵션을 숨기려면 "모양 조건"하에서 .sh파일 (또는 .py경우 등)로 모양 사용을 제한하는 방법이 있습니다 .

여기에 이미지 설명을 입력하십시오

-실행 파일 이름을 적절하게 변경하기 전에.


-1

특히 Android Studio의 경우 내 원래 답변을 여기에서 따를 수 있습니다 .

데스크탑 실행기를 작성하려면 다음을 수행하십시오.

  • 도구 메뉴 Create Desktop Entry..에서를 클릭하십시오 .

여기에 이미지 설명을 입력하십시오

  • 비밀번호를 묻는 메시지가 표시되면 현재 로그인의 비밀번호를 입력하십시오.

  • 마지막으로 Android Studio 화면에 다음과 같은 알림이 표시됩니다.

여기에 이미지 설명을 입력하십시오

  • 당신은에서 볼 수있는 응용 프로그램 => 프로그램 => 안드로이드 스튜디오 , 당신은 또한 시스템을 다시 시작한 후 바탕 화면에 볼 수 있습니다.

감사합니다. :)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.