What | Removed | Added |
---|---|---|
CC | zimtsui@gmail.com | |
Flags | needinfo?(zimtsui@gmail.com) |
Created attachment 862687 [details] /usr/bin/emacs modified shell script (In reply to Zim Tsui from comment #0) > # Possible reason > > The binary `/usr/bin/emacs` is not built from emacs source, but made by the > SUSE package maintainer. The binary checks whether it's run in terminal or X > to determine whether it should exec `emacs-nox` or `emacs-x11`. /usr/bin/emacs is a shell script and not a binary which enables to switch between emacs-x11, emacs-gtk, or emacs-nox. Abd indeed this script also tries to provide a connection to the dbus API if not given. > > The `/usr/bin/emacs` binary defines an environment variable > `XDG_RUNTIME_DIR` as `/run/user/<USER_ID>` arbitrarily. But `/run/user/0` > doesn't exist because it should be created by `/etc/profile` in a login > shell. And `sudo` doesn't spawn a new login shell. The /run/user/<USER_ID> will not be created by the login shell but by the systemd pam module pam_systemd(.so) -> `man 8 pam_systemd' Give the attached shell script as a replacement of /usr/bin/emacs a try and report if this does work for you.