Nếu trường hợp sử dụng được chia sẻ emacs đơn cấu hình ".emacs.d" thư mục trên tất cả các người dùng của một máy Linux thì giải pháp này https://emacs.stackexchange.com/a/4258/5488 sẽ làm việc trong hầu hết các trường hợp, nhưng trong một số trường hợp emacs cố gắng ghi các tệp tạm thời vào thư mục người dùng-emacs (chẳng hạn như tệp .ido.last). Trong những trường hợp như vậy nếu thư mục config được chia sẻ có quyền ghi cho tất cả người dùng thì nó sẽ hoạt động nhưng có thể không phải là giải pháp mong muốn vì mỗi người dùng hệ thống có thể không muốn chia sẻ cùng một thư mục để lưu trữ tệp tạm thời. Trong trường hợp như vậy, giải pháp sau đây sẽ là lựa chọn tốt hơn.
Tệp cấu hình được chia sẻ chung .emacs.d / init.el sẽ bắt đầu bằng
;; 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)
Làm cho cấu hình được chia sẻ .emacs.d có quyền đọc cho tất cả người dùng (không cần có quyền ghi)
another_user $ emacs -q --load /path/to/shared/config/.emacs.d/init.el
Mỗi người dùng sẽ có thư mục "~ / .emacs.d /" của riêng mình nhưng chỉ được sử dụng để lưu các tệp tạm thời nhưng các gói và cấu hình khác được tải từ thư mục cấu hình chung.
.emacs.d
thư mục tùy chỉnh trừ khi bạn thay đổi HOME, điều này có vẻ có vấn đề với tôi. Mọi người đã cung cấp cách giải quyết bên dưới, nhưng, với tôi, điều này nghe có vẻ như là một yêu cầu tính năng rất hợp lý cho chính Emacs.