all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#46532: plantuml in pure environment does not find X11
@ 2021-02-15 12:52 Dr. Arne Babenhauserheide
  2021-02-15 15:11 ` Maxime Devos
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Dr. Arne Babenhauserheide @ 2021-02-15 12:52 UTC (permalink / raw)
  To: 46532

[-- Attachment #1: Type: text/plain, Size: 1464 bytes --]

Dear Guix hackers,

when installing plantuml in a pure environment, it throws an java.awt.AWTError: Can't connect to X11 window server using ':1' as the value of the DISPLAY variable.

To reproduce:

$ guix environment --ad-hoc --pure plantuml -- plantumlNo protocol specified
Exception in thread "main" java.awt.AWTError: Can't connect to X11 window server using ':1' as the value of the DISPLAY variable.
	at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
	at sun.awt.X11GraphicsEnvironment.access$200(X11GraphicsEnvironment.java:65)
	at sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:115)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:74)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:264)
	at java.awt.GraphicsEnvironment.createGE(GraphicsEnvironment.java:103)
	at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:82)
	at java.awt.image.BufferedImage.createGraphics(BufferedImage.java:1181)
	at net.sourceforge.plantuml.FileFormat.<clinit>(FileFormat.java:93)
	at net.sourceforge.plantuml.Option.<init>(Option.java:97)
	at net.sourceforge.plantuml.Run.main(Run.java:93)

When I leave out --pure, it works, so I assume that a dependency on X11
might be missing.

Best wishes,
Arne
-- 
Unpolitisch sein
heißt politisch sein
ohne es zu merken

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 1125 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#46532: plantuml in pure environment does not find X11
  2021-02-15 12:52 bug#46532: plantuml in pure environment does not find X11 Dr. Arne Babenhauserheide
@ 2021-02-15 15:11 ` Maxime Devos
  2021-02-15 15:18 ` Maxime Devos via web
  2021-02-16  9:32 ` Efraim Flashner
  2 siblings, 0 replies; 5+ messages in thread
From: Maxime Devos @ 2021-02-15 15:11 UTC (permalink / raw)
  To: Dr. Arne Babenhauserheide, 46532


[-- Attachment #1.1: Type: text/plain, Size: 551 bytes --]

On Mon, 2021-02-15 at 13:52 +0100, Dr. Arne Babenhauserheide wrote:
> Dear Guix hackers,
> 
> when installing plantuml in a pure environment, it throws an java.awt.AWTError: Can't connect to X11 window server using ':1' as the value of the DISPLAY variable.

Is the environment variable XAUTHORITY set?
Compare the value inside the environment and outside the environment.

Perhaps "XAUTHORITY" should be added to %precious-variables in
guix/scripts/environment.scm.  An untested patch is attached,
I'll test it now.

Greetings,
Maxime.

[-- Attachment #1.2: 0001-scripts-preserve-XAUTHORITY-in-pure-environments.patch --]
[-- Type: text/x-patch, Size: 951 bytes --]

From 7eac4f5a427fb094865ece58c3509606264884b0 Mon Sep 17 00:00:00 2001
From: Maxime Devos <maximedevos@telenet.be>
Date: Mon, 15 Feb 2021 16:07:37 +0100
Subject: [PATCH] scripts: preserve XAUTHORITY in pure environments

(XXX untested)

Fixes: <https://issues.guix.gnu.org/46532>

* guix/scripts/environment.scm
  (%precious-variables): add 'XAUTHORITY'
---
 guix/scripts/environment.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/guix/scripts/environment.scm b/guix/scripts/environment.scm
index f4d12f89bf..656294d29d 100644
--- a/guix/scripts/environment.scm
+++ b/guix/scripts/environment.scm
@@ -53,7 +53,7 @@
 
 ;; Protect some env vars from purification.  Borrowed from nix-shell.
 (define %precious-variables
-  '("HOME" "USER" "LOGNAME" "DISPLAY" "TERM" "TZ" "PAGER"))
+  '("HOME" "USER" "LOGNAME" "XAUTHORITY" "DISPLAY" "TERM" "TZ" "PAGER"))
 
 (define %default-shell
   (or (getenv "SHELL") "/bin/sh"))
-- 
2.30.0


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* bug#46532: plantuml in pure environment does not find X11
  2021-02-15 12:52 bug#46532: plantuml in pure environment does not find X11 Dr. Arne Babenhauserheide
  2021-02-15 15:11 ` Maxime Devos
@ 2021-02-15 15:18 ` Maxime Devos via web
  2021-02-16  9:32 ` Efraim Flashner
  2 siblings, 0 replies; 5+ messages in thread
From: Maxime Devos via web @ 2021-02-15 15:18 UTC (permalink / raw)
  To: 46532

self-proposed patch works for me





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#46532: plantuml in pure environment does not find X11
  2021-02-15 12:52 bug#46532: plantuml in pure environment does not find X11 Dr. Arne Babenhauserheide
  2021-02-15 15:11 ` Maxime Devos
  2021-02-15 15:18 ` Maxime Devos via web
@ 2021-02-16  9:32 ` Efraim Flashner
  2021-02-26 21:53   ` Running eolie in a container (was: bug#46532: plantuml in pure environment…) zimoun
  2 siblings, 1 reply; 5+ messages in thread
From: Efraim Flashner @ 2021-02-16  9:32 UTC (permalink / raw)
  To: Dr. Arne Babenhauserheide; +Cc: 46532


[-- Attachment #1.1: Type: text/plain, Size: 1869 bytes --]

On Mon, Feb 15, 2021 at 01:52:42PM +0100, Dr. Arne Babenhauserheide wrote:
> Dear Guix hackers,
> 
> when installing plantuml in a pure environment, it throws an java.awt.AWTError: Can't connect to X11 window server using ':1' as the value of the DISPLAY variable.
> 
> To reproduce:
> 
> $ guix environment --ad-hoc --pure plantuml -- plantumlNo protocol specified
> Exception in thread "main" java.awt.AWTError: Can't connect to X11 window server using ':1' as the value of the DISPLAY variable.
> 	at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
> 	at sun.awt.X11GraphicsEnvironment.access$200(X11GraphicsEnvironment.java:65)
> 	at sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:115)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:74)
> 	at java.lang.Class.forName0(Native Method)
> 	at java.lang.Class.forName(Class.java:264)
> 	at java.awt.GraphicsEnvironment.createGE(GraphicsEnvironment.java:103)
> 	at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:82)
> 	at java.awt.image.BufferedImage.createGraphics(BufferedImage.java:1181)
> 	at net.sourceforge.plantuml.FileFormat.<clinit>(FileFormat.java:93)
> 	at net.sourceforge.plantuml.Option.<init>(Option.java:97)
> 	at net.sourceforge.plantuml.Run.main(Run.java:93)
> 
> When I leave out --pure, it works, so I assume that a dependency on X11
> might be missing.
> 

I have the following scriptlet that someone shared for running eolie in
a container. I'm guessing it could be modified to run platuml if needed.


-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #1.2: guix-container --]
[-- Type: text/plain, Size: 310 bytes --]

guix environment \
--preserve='^DISPLAY$' --container --network \
--expose=/etc/machine-id \
--expose=/etc/ssl/certs/ \
--share=$HOME/.local/share/eolie/=$HOME/.local/share/eolie/ \
--share=/tmp/.X11-unix/=/tmp/.X11-unix/ \
--share=$HOME/.Xauthority=$HOME/.Xauthority \
--ad-hoc eolie nss-certs dbus --  eolie

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Running eolie in a container (was: bug#46532: plantuml in pure environment…)
  2021-02-16  9:32 ` Efraim Flashner
@ 2021-02-26 21:53   ` zimoun
  0 siblings, 0 replies; 5+ messages in thread
From: zimoun @ 2021-02-26 21:53 UTC (permalink / raw)
  To: Efraim Flashner, Dr. Arne Babenhauserheide; +Cc: Guix Devel

Hi Efraim,

On Tue, 16 Feb 2021 at 11:32, Efraim Flashner <efraim@flashner.co.il> wrote:

> I have the following scriptlet that someone shared for running eolie in
> a container. I'm guessing it could be modified to run platuml if needed.

> guix environment \
> --preserve='^DISPLAY$' --container --network \
> --expose=/etc/machine-id \
> --expose=/etc/ssl/certs/ \
> --share=$HOME/.local/share/eolie/=$HOME/.local/share/eolie/ \
> --share=/tmp/.X11-unix/=/tmp/.X11-unix/ \
> --share=$HOME/.Xauthority=$HOME/.Xauthority \
> --ad-hoc eolie nss-certs dbus --  eolie

From the manual [1],

--8<---------------cut here---------------start------------->8---
guix environment --preserve='^DISPLAY$' --container --network \
  --expose=/etc/machine-id \
  --expose=/etc/ssl/certs/ \
  --share=$HOME/.local/share/eolie/=$HOME/.local/share/eolie/ \
  --ad-hoc eolie nss-certs dbus --  eolie
--8<---------------cut here---------------end--------------->8---

is it not enough for eolie?  Is the 2 lines

   --share=/tmp/.X11-unix/=/tmp/.X11-unix/ \
   --share=$HOME/.Xauthority=$HOME/.Xauthority \

really required?  If yes, the manual should be updated. :-)

1: <https://guix.gnu.org/manual/devel/en/guix.html#Invoking-guix-environment>


All the best,
simon


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-02-26 21:56 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-02-15 12:52 bug#46532: plantuml in pure environment does not find X11 Dr. Arne Babenhauserheide
2021-02-15 15:11 ` Maxime Devos
2021-02-15 15:18 ` Maxime Devos via web
2021-02-16  9:32 ` Efraim Flashner
2021-02-26 21:53   ` Running eolie in a container (was: bug#46532: plantuml in pure environment…) zimoun

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.