Launcher não respeita o TMPDIR

0

No meu .bashrc , defino TMPDIR=${HOME}/tmp para que os arquivos temporários fiquem sob minha criptografia $HOME . emacs , invocado do ativador, não vê essa definição, mas emacsclient , invocado de um shell.

Até agora, eu sei que emacs (após (server-start) ) abre um socket em '/ tmp', o 'emacsclient' tenta se comunicar com 'emacs' através de um socket em '$ {HOME} / tmp', e faz muito mal. Como posso convencer o lançador (via emacsclient.desktop?) A passar o valor correto para TMPDIR?

    
por waltinator 02.10.2011 / 21:16

2 respostas

1

Tente colocar a definição da variável em .profile em vez de .bashrc . Este último tem uma instrução perto do topo que faz com que ele saia muito cedo quando executado por um shell não interativo. Saia e volte a ver para ver se funciona.

Também não se esqueça de adicionar export da seguinte forma:

export TMPDIR="$HOME/tmp"

Se isso não funcionar, modifique o lançador (está em /usr/share/applications ) para que a linha Exec diga:

Exec=sh -c 'TMPDIR="$HOME/tmp" emacs'
    
por Krzysztof Kosiński 03.10.2011 / 03:30
0

Acho que não posso passar meu TMPDIR para a função emacs server-start , por isso acho que terei que tornar emacsclient use /tmp para manter o soquete.

No meu .bashrc :

export EDITOR="env TMPDIR=/tmp emacsclient"
export VISUAL="env TMPDIR=/tmp emacsclient"

mas isso parece sub-ótimo. Alguma sugestão?

    
por waltinator 03.10.2011 / 03:25