Launcher не уважает TMPDIR

В моем .bashrc я определяю TMPDIR=${HOME}/tmp, поэтому временные файлы находятся под моим зашифрованным $HOME. emacs, вызванный из средства запуска, не видит этого определения, но emacsclient, вызванный из оболочки, делает.

До сих пор я знаю, что emacs (после (server-start)) открывает сокет в '/ tmp', 'emacsclient' пытается связаться с 'emacs' через сокет в '$ {HOME} / и очень плохо. Как я могу убедить программу запуска (через emacsclient.desktop?) Передать правильное значение для TMPDIR?

0
задан 2 October 2011 в 23:30

2 ответа

Попробуйте поместить определение переменной в .profile вместо .bashrc. У последнего есть оператор около вершины, который заставляет его выходить очень рано, когда выполняется неинтерактивной оболочкой. Выйдите из системы и войдите в нее, чтобы увидеть, работает ли она.

Также не забудьте добавить export следующим образом:

export TMPDIR="$HOME/tmp"

Если это не сработает, измените модуль запуска (он находится в /usr/share/applications) так, чтобы его строка Exec гласила: [ 118]

Exec=sh -c 'TMPDIR="$HOME/tmp" emacs'
0
ответ дан 2 October 2011 в 23:30

Полагаю, я не могу передать свой TMPDIR в функцию emacs server-start, поэтому я думаю, мне придется заставить emacsclient использовать /tmp для удержания сокета.

В моих .bashrc:

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

, но это кажется неоптимальным. Есть предложения?

0
ответ дан 2 October 2011 в 23:30

Другие вопросы по тегам:

Похожие вопросы: