유니티 애플리케이션 런처에 대한 환경 변수 설정


8

.desktop응용 프로그램을 시작할 파일을 만들었습니다 . 우리의 응용 프로그램은 특정 환경 변수가 올바르게 구성되어 있어야합니다. 나는 사용자 별 기초에 (내가 좋아하는, 알고있는 보통의 후보를이 환경 변수를 구성 할 수 있습니다 어디 ~/.bashrc~/.profile일을하지 않습니다).

해결 방법이있을 수 있으므로 응용 프로그램을 시작하기 전에 파일 Exec=줄 에서 구성 할 수 .desktop있습니까?

답변:


15

데스크탑 파일 자체에서 다음을 통해 프로그램을 실행할 수 있습니다 env.

Exec=/usr/bin/env VAR=value /usr/bin/yourprogram

또는 래퍼 스크립트 (예 :)를 사용하십시오 /usr/bin/yourprogram.env.

#!/bin/sh
VAR=value
export VAR
exec /usr/bin/yourprogram.real "$@"

그러나 Unity가 래퍼를 통해 시작된 경우 Unity가 프로그램을 올바르게 추적 할 수 없으므로 솔루션이 모두 좋지 않습니다.

~/.profile작업하는 것이 훨씬 낫습니다 . 올바른 구문을 사용하고 있는지 확인하십시오.

export VAR=value

또는

VAR=value
export VAR

또한 로그인 할~/.profile 때만 읽을 있으므로 변경 후 로그 아웃해야합니다.


감사. 불행히도 사용 제안이 효과 env VAR=value /my/app가 없습니다. 시작할 때 환경 변수 VAR가 설정되어 있지 않습니다 (에서 파일을 편집하여 시도했습니다 ). 래퍼 스크립트를 만드는 것은 나에게 선택 사항이 아닙니다. 이것은 최종 사용자에게 배포 된 응용 프로그램에서 작동해야하며 최종 사용자가 래퍼 스크립트를 배치 할 위치를 모르겠습니다 (런처를 만드는 데 관리자 권한이 필요하지 않아야 함) ). value/my/appdesktop~/.gnome/apps
Mike L.

(허? 나는 ~/.gnome/apps아직도 사용되고 있다는 것을 몰랐다 ; ~/.local/share/applications지난 몇 년간 불려 왔다.) @ 마이크가 자신의 응용 프로그램이라면 왜 적절한 환경 변수를 자동으로 결정하도록 고칠 수 없는가? (또한 어떤 변수를 구체적으로 설정 했는지 물어볼 수 있습니까?)
user1686

우리 응용 프로그램의 Java 런타임 환경 위치를 정의하는 변수를 설정하려고합니다.
Mike L.

1
아마 standard.freedesktop.org/basedir-spec/basedir-spec-latest.html 표준 위치를 사용하십시오
technosaurus

.desktop사용 하여 파일을 설치했습니다 xdg-desktop-menu install <my-desktop-file>. 두 위치로 복사 한 것 같습니다. 항상 잘못된 위치를 편집하고있었습니다.
Mike L.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.