la modifica di / etc / environment non ha influito sulle variabili di ambiente


10

Sto cercando di installare il sistema esperto Euler seguendo queste istruzioni . Per aggiungere la variabile d'ambiente ho modificato il mio /etc/environmentper diventare come segue:

 PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:
/home/mohammad/Desktop/eye"
 EYE_HOME = "/home/mohammad/Desktop/eye"

Ma quando uso printenv PATHnon vedo la nuova directory aggiunta al mio percorso.

Cosa sto facendo di sbagliato qui?


Quel link non funziona in questo momento (SourceForge è inattivo) ma puoi specificare se vuoi variabili di ambiente a livello di sistema? Dal momento che è per un'applicazione, questo è probabilmente il caso, e quindi molte delle risposte che seguono sono sbagliate.
Michael Scheper,

Risposte:


8

Non so il motivo per cui PATH non sia stato modificato (dopo aver effettuato nuovamente l'accesso), ma

EYE_HOME = "/home/mohammad/Desktop/eye"
--------^-^

questi spazi impediscono l'impostazione di EYE_HOME.

Va notato che /etc/environmentnon è un file di script, ma un tipo di file di assegnazione letto da PAM. OTOH tali spazi non sono consentiti nei file di script come /etc/profilee ~/.profileneanche.

Se si utilizza un file di script, è necessario esportare le variabili come mostrato nella risposta di Avinash Raj.

Si noti che mentre ~/.bashrcfunziona se si avvia il programma da una finestra del terminale, potrebbe non funzionare se lo si avvia dall'ambiente grafico, poiché non è di provenienza dal display manager.


@ gunnar-hijalmarsson --- corretto. Il fatto che il display manager non sia avviato dalla mia shell mi ha morso molte volte. Ho pubblicato un trucco per vedere le variabili impostate nel DE: askubuntu.com/a/356973/16395
Rmano

Bel trucco, @Rmano! Qualche possibilità che tu possa aggiungerlo a help.ubuntu.com/community/EnvironmentVariables ?
Gunnar Hjalmarsson,

Grazie - Non ne ho mai modificato uno e non so se avessi i permessi. Lo esaminerò se avrò tempo, ma per il resto mi sento libero di copiare / incollare tutto ciò che vuoi --- quella pagina ha bisogno di essere aggiornata male. Una domanda: non tutti i display manager (lightdm, gdm, kdm) di origine ~/.profile, anche se il mio shell di default non è bash, ma, ad esempio, zsh?
Rmano,

Controllato da me stesso. Io uso zsh; le applicazioni lanciate da DE vedono le variabili impostate in ~/.pam_environmente ~/.profile(NOT ~/.zprofile). Questo è buono e cattivo, ma la parte cattiva viene risolta cambiando in .profilemodo da generare il mio .zprofilee .zshenv. E confermo che l'uso .pam_environmentè negativo, a volte viene sovrascritto (non dovrebbe, ma lo è).
Rmano,

@Rmano: so che ~/.profileproviene da lightdm e gdm; non sono sicuro di kdm.
Gunnar Hjalmarsson,

5
gedit ~/.bashrc

Dopodiché aggiungi le righe seguenti,

export EYE_HOME="/home/mohammad/Desktop/eye"
export PATH=$PATH:$EYE_HOME

Salvare il file e acquistarlo,

source ~/.bashrc

1
sarebbe una variabile di sistema?
Moha l'onnipotente cammello il


1
@AvinashRaj: queste variabili non solo saranno solo per l'utente, ma non saranno visibili se l'applicazione non viene avviata da un terminale della riga di comando ... l'ambiente grafico viene avviato da solo, non usando la shell dell'utente. Vedi askubuntu.com/a/356973/16395
Rmano

0

Puoi provare anche questi due file per la configurazione a livello di sistema:

  • /etc/profile
  • /etc/bashrc

Per la configurazione a livello di utente:

  • $HOME/.profile
  • $HOME/.bashrc

Basta aggiungere le variabili come hai fatto /etc/environment. Ma dovrai accedere e disconnetterti (o eseguire la ricarica corretta). Forse con login e logout /etc/environmentfunzionerebbe ma non ne sono sicuro.


-1

Vuoi modificare il tuo file .bashrc nella tua home directory.

Quando modifichi il percorso, dovresti includerlo :$PATHalla fine in modo da non sostituire il percorso corrente.

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.