Imposta la variabile di ambiente per il launcher dell'applicazione unity


8

Ho creato un .desktopfile per avviare la nostra applicazione. La nostra applicazione richiede che una determinata variabile d'ambiente sia configurata correttamente. Dove posso configurare questa variabile d'ambiente su una base per utente (i soliti candidati che conosco, mi piacciono ~/.bashrce ~/.profilenon funzionano).

Forse c'è una soluzione, quindi posso configurarlo nella Exec=riga del .desktopfile prima di avviare l'applicazione?

Risposte:


15

Nel file desktop stesso, è possibile eseguire il programma tramite env:

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

In alternativa, utilizzare uno script wrapper (ad es. /usr/bin/yourprogram.env):

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

Tuttavia, entrambe sono soluzioni scadenti, poiché Unity non sarà in grado di tracciare correttamente il programma se viene avviato tramite un wrapper.

Sarebbe molto meglio iniziare a ~/.profilelavorare: assicurati di utilizzare la sintassi corretta e tutto il resto:

export VAR=value

o

VAR=value
export VAR

Ricorda inoltre che ~/.profileviene letto solo quando accedi , quindi devi disconnetterti dopo averlo modificato.


Grazie. Sfortunatamente, il tuo suggerimento da usare env VAR=value /my/appnon funziona; la variabile di ambiente VARnon è impostata su valueall'avvio /my/app(ho provato modificando il desktopfile in ~/.gnome/apps). La creazione di uno script wrapper non è un'opzione per me, perché dovrebbe funzionare per la nostra applicazione distribuita agli utenti finali e non so dove l'utente vorrebbe che si trovasse lo script wrapper (la creazione del programma di avvio non deve richiedere i diritti di amministratore ).
Mike L.

(Huh? Non sapevo che ~/.gnome/appsfosse ancora in uso; è stato chiamato ~/.local/share/applicationsnegli ultimi anni.) @ Mike, se è la tua applicazione, perché non può essere riparato per determinare automaticamente la variabile d'ambiente corretta? (Inoltre, posso chiedere quale variabile si sta specificando?)
user1686

Sto cercando di impostare una variabile che definisce la posizione dell'ambiente di runtime Java per la nostra applicazione.
Mike L.


Ho installato il .desktopfile usando xdg-desktop-menu install <my-desktop-file>. Sembra che lo abbia copiato in due posizioni e ho sempre modificato quello sbagliato ...
Mike L.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.