https://github.com/TigerVNC/tigervnc/commit/1f1aaca09a1f9919f5169caea9c396b14c2af765 https://bugs.gentoo.org/952991 From 1f1aaca09a1f9919f5169caea9c396b14c2af765 Mon Sep 17 00:00:00 2001 From: Pierre Ossman Date: Tue, 8 Apr 2025 14:41:04 +0200 Subject: [PATCH] Don't print Xvnc banner before parsing args If we'll be running in inetd mode, then stdout and stderr will be a client socket and not an appropriate place for logging. Mimic what Xorg does instead. --- unix/xserver/hw/vnc/xvnc.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/unix/xserver/hw/vnc/xvnc.c b/unix/xserver/hw/vnc/xvnc.c index ddb249937..a13168c47 100644 --- a/unix/xserver/hw/vnc/xvnc.c +++ b/unix/xserver/hw/vnc/xvnc.c @@ -446,7 +446,7 @@ ddxProcessArgument(int argc, char *argv[], int i) } if (!strcmp(argv[i], "-showconfig") || !strcmp(argv[i], "-version")) { - /* Already shown at start */ + vncPrintBanner(); exit(0); } @@ -1171,8 +1171,11 @@ InitOutput(ScreenInfo * scrInfo, int argc, char **argv) int i; int NumFormats = 0; - if (serverGeneration == 1) + if (serverGeneration == 1) { + vncPrintBanner(); + LoadExtensionList(vncExtensions, ARRAY_SIZE(vncExtensions), TRUE); + } #if XORG_AT_LEAST(1, 20, 0) xorgGlxCreateVendor(); @@ -1266,7 +1269,5 @@ vncClientGone(int fd) int main(int argc, char *argv[], char *envp[]) { - vncPrintBanner(); - return dix_main(argc, argv, envp); }