데스크톱 입력에는 Exec 값에 "bash"가 필요합니다.

데스크톱 입력에는 Exec 값에 "bash"가 필요합니다.

저는 최근 Gnome이 시작될 때 일부 스크립트를 실행하기 위해 데스크탑 항목을 조작하기 시작했습니다.

일부 freedesktop 문서도 읽었습니다.이 게시물시작 스크립트 생성 정보. 현재 데스크톱 항목을 실행하고 있지만 내가 이해한 대로 작동하지 않습니다.

일부 시스템 정보: Windows의 VirtualBox에서 실행되는 CentOS7입니다.

이것은 내 데스크톱 항목입니다.

[Desktop Entry]
Name=fixres
GenericName=Resolution Fixer
Comment=Changes resolution to 1920x1080
Exec=bash /home/detroitwilly/scripts/fixres.sh
Terminal=false
Type=Application
X-GNOME-Autostart-enabled=true

실행되는 스크립트는 xrandr을 사용하여 새로운 해상도 모드를 추가하고 이를 내 가상 모니터에 적용합니다.

이제 스크립트의 첫 번째 줄에는 shebang이 있습니다 #!/bin/bash. 제가 이해한 바에 따르면 shebang이 스크립트의 첫 번째 줄에 있으면 데스크톱 항목 줄 bash에 이를 지정할 필요가 없습니다 . 이 줄을 제거 Exec=하면 응용 프로그램이 실행되지 않습니다.bashExec=

/bin또한 내 변수에 있는지 확인했으므로 $PATH자동으로 액세스할 수 있어야 합니다 bash.

스크립트 경로 앞에 추가해야 하는 이유에 대한 아이디어가 있습니까 bash?

감사해요!

답변1

BASH 스크립트를 직접 실행하려면 다음 두 부분이 필요합니다.

  1. 셰르본
  2. 실행 가능 비트

Shebang은 다음과 같아야합니다.

#!/usr/bin/env bash

(사용하는 env것이 가장 좋습니다. 예를 들어 전체 경로로 작성할 수도 있습니다 #!/bin/bash.)

그런 다음 실행 가능 비트를 다음과 같이 설정하십시오.

chmod +x /home/detroitwilly/scripts/fixres.sh

관련 정보