[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Emacs inside container: preserved DISPLAY unavailable etc
From: |
t |
Subject: |
Emacs inside container: preserved DISPLAY unavailable etc |
Date: |
Tue, 04 Jan 2022 12:29:13 +0000 |
User-agent: |
mu4e 1.6.9; emacs 28.0.50 |
Hi guix.
Straigt out of manual:
--------------------
$ guix shell --container --no-cwd --network emacs-next
--expose=$HOME/.emacs.d --preserve='^DISPLAY$' -- emacs
No protocol specified
Display :1 unavailable, simulating -nw
Please set the environment variable TERM; see 'tset'.
--------------------
Why? What's going on here? Am I supposed to expose some device or
smth? This is almost verbatim from Guix manual.
Is there a way to find out which process' reporting that error?
Lets pretend it isn't XXI century and try terminal emacs:
$ guix shell --container --no-cwd --network emacs-next
--expose=$HOME/.emacs.d --preserve='^TERM$' -- emacs
This starts emacs in the terminal, but fails to load any user
installed libraries e.g. use-package. Looks like they reside
inside ~/.guix-profile/share/emacs/site-lisp, so maybe all we need
to do is again follow the manual and --link-profile
$ guix shell --container --no-cwd --network emacs-next
--expose=$HOME/.emacs.d --preserve='^TERM$' --link-profile --
emacs
That doesn't help but load-path inside emacs has
$HOME/.guix-profile/share/emacs/site-lisp as first entry,
hm. However, if we look inside its almost empty. So, I'm not
entirely sure exactly what --link-profile even achieves. Is there
some magic in play that "trims" /gnu/store entries only to
whatever was in manifest (or packages) passed to guix shell
--container? That would make sense if we are indeed trying to
isolate things. If so, solution would be to -m manifest.scm with
all my emacs packages along with emacs-next.
I'd really like to solve the 'display unavailable' above. Could
anyone help, please?
Thank you
- Emacs inside container: preserved DISPLAY unavailable etc,
t <=