데스크톱 파일이있는 위치를 기준으로 .desktop 파일에서 'Path'변수를 설정하고 싶습니다. 관리 할 수 없습니다.
선언하지 않거나 공란으로 설정하면 어디에서 실행하더라도 홈 폴더가 기본값입니다. 파일 시스템 내 현재 위치와 관련된 값을 허용하지 않습니다.
데스크톱 파일이있는 위치를 기준으로 .desktop 파일에서 'Path'변수를 설정하고 싶습니다. 관리 할 수 없습니다.
선언하지 않거나 공란으로 설정하면 어디에서 실행하더라도 홈 폴더가 기본값입니다. 파일 시스템 내 현재 위치와 관련된 값을 허용하지 않습니다.
답변:
.desktop 파일에서 CWD를 설정할 수 없습니다. 응용 프로그램에 특정 CWD를 가지려면 응용 프로그램에 대한 간단한 래퍼 스크립트를 작성해야합니다.
#!/bin/sh
(cd /where/you/want/it/to/be && exec your_program)
당신은 대체 할 수 your_program
거기 $@
등을들 수 있으며, 인수로 your_program으로 스크립트를 실행합니다 run-in-dir.sh your_program
. 이 방법으로 동일한 스크립트를 사용하여 해당 디렉토리에서 시작하려는 모든 프로그램을 래핑 할 수 있습니다.
Exec에서 인라인 bash 미니 스크립트를 사용 하여이 문제를 해결할 수 있습니다. 명령을 실행하기 전에 .desktop 파일의 경로가 PATH에 추가됩니다.
Exec=bash -c "export PATH=$PATH:`dirname %k`; your_command"
% k는 데스크탑 파일 자체의 경로로 대체됩니다. 이 dirname
명령은 파일 이름 부분을 잘라 내고 디렉토리 만 남겨 둡니다. PATH가 이와 같이 설정되면 your_command
전체 경로없이 호출 할 수 있습니다.
이름에 공백이있는 디렉토리 이름의 경우 마침내 나를 위해 일했습니다.
Exec=/bin/bash -c 'cd "$(dirname "$0")"; wine game.exe -windowed' %k