Если в этом случае используется один каталог конфигурации emacs «.emacs.d» для всех пользователей компьютера с Linux, то это решение https://emacs.stackexchange.com/a/4258/5488 будет работать в большинстве случаев, но в некоторых случаи emacs пытается записать временные файлы в каталог user-emacs (например, файл .ido.last). В таких случаях, если общий каталог конфигурации имеет разрешение на запись для всех пользователей, он будет работать, но может оказаться нежелательным решением, поскольку каждый системный пользователь может не захотеть использовать один и тот же каталог для хранения временных файлов. В таком случае следующее решение будет лучшим вариантом.
Общий общий конфигурационный файл .emacs.d / init.el должен начинаться с
;; should come before calling package-initialize as it will populate
;; everything under common config "~/.emacs.d/elpa"
(setq user-init-file (or load-file-name (buffer-file-name)))
(setq package-user-dir (concat (file-name-directory user-init-file) "elpa"))
(package-initialize)
Сделайте, чтобы общий конфиг .emacs.d имел права на чтение для всех пользователей (не нужно иметь права на запись)
another_user $ emacs -q --load /path/to/shared/config/.emacs.d/init.el
У каждого пользователя будет свой собственный каталог «~ / .emacs.d /», но он используется только для сохранения временных файлов, но пакеты и другие конфигурации загружаются из общего каталога конфигурации.
.emacs.d
каталогом, если вы не изменили HOME, что мне кажется проблематичным. Люди предоставили обходные пути ниже, но для меня это звучит как очень разумный запрос возможностей для самого Emacs.