Black Screen - Thinlinc Linux ARM Client

I notice that I can only log in without the black screen error if I suspend the Master machine and after starting again I can successfully try to log in to Thinlinc without the black screen problem.

The user I’m using with Thinlinc would be UID 1002 (opi2).

Hi @Deluxe,

Would you mind sharing a few more details about the issue you’re experiencing?

  • Which client and server operating systems are you using?
  • Which desktop environment(s)?
  • At which point during the connection process does the black screen occur?
  • Is there anyone logged in locally on the ThinLinc server?
1 Like

Hello @aaron
I updated the server and client to version 4.17.0 and the problem continues.

I was able to log in normally, but it gets stuck on this image or black screen.

  • Which client and server operating systems are you using?
    Client: Ubuntu 24.04 ARM64
    Server: Ubuntu 24.04

  • Which desktop environment(s)?
    Both are using Ubuntu 24.04 desktop. (Thinlinc Server and Thinlinc Client)

  • At which point during the connection process does the black screen occur?
    Every time the “server” is restarted.
    It becomes necessary to suspend the system to try to log in to the Thinlinc client again.
    It is necessary to suspend the Ubuntu (Thinlinc Server) once so that all Thinlinc client logins work without freezing the screen shown in the screenshot.

  • Is there anyone logged in locally on the ThinLinc server?
    Yes, user UID 1001 has automatic login.

Hi @Deluxe,

Please make sure that nobody is logged in at the local console before connecting to the server with ThinLinc.

This is normally only an issue when it’s the same user as you’re logging into ThinLinc with, but it would be worth logging all users out to be sure. If this still doesn’t help, please check the log file at /var/opt/thinlinc/sessions/<username>/last/xinit.log for clues. If there’s nothing obvious there, feel free to post the contents so we can have a look for you.

1 Like

Thanks, I disabled the automatic login of the user UID 1000 through the Ubuntu Desktop interface…
It usually doesn’t solve the problem, I need to suspend the server…

cat /var/opt/thinlinc/sessions/<user>/last/xinit.log

xauth:  file /var/opt/thinlinc/sessions/<user>/10/Xauthority does not exist
tl-xinit: Waiting for Xserver to accept connections...

Xvnc ThinLinc release 4.17.0 build 3647 - built Jul  2 2024 13:23:03
Copyright (C) 1999-2024 TigerVNC Team and many others (see README.rst)
See https://www.tigervnc.org for information on TigerVNC.
Underlying X server release 12013000

(II) Initializing extension VNC-EXTENSION

Mon Jul 29 11:12:29 2024
 vncext:      VNC extension running!
 vncext:      Listening for VNC connections on local interface(s), port 5910
 vncext:      created VNC server for screen 0
(II) Initializing extension Generic Event Extension
(II) Initializing extension SHAPE
(II) Initializing extension MIT-SHM
(II) Initializing extension XInputExtension
(II) Initializing extension XTEST
(II) Initializing extension BIG-REQUESTS
(II) Initializing extension SYNC
(II) Initializing extension XKEYBOARD
(II) Initializing extension XC-MISC
(II) Initializing extension XFIXES
(II) Initializing extension RENDER
(II) Initializing extension RANDR
(II) Initializing extension COMPOSITE
(II) Initializing extension DAMAGE
(II) Initializing extension MIT-SCREEN-SAVER
(II) Initializing extension DOUBLE-BUFFER
(II) Initializing extension RECORD
(II) Initializing extension DPMS
(II) Initializing extension Present
(II) Initializing extension DRI3
(II) Initializing extension X-Resource
(II) Initializing extension XVideo
(II) Initializing extension XVideo-MotionCompensation
(II) Initializing extension GLX
(II) IGLX: Loaded and initialized swrast
(II) GLX: Initialized DRISWRAST GL provider for screen 0
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning:          Unsupported high keycode 372 for name <I372> ignored
>                   X11 cannot support keycodes above 255.
>                   This warning only shows for the first high keycode.
Errors from xkbcomp are not fatal to the X server
 Connections: accepted: 127.0.0.1::40948
 VNCSConnST:  closing 127.0.0.1::40948: Clean disconnection
 EncodeManager: Framebuffer updates: 0
 EncodeManager:   Total: 0 rects, 0 pixels
 EncodeManager:          0 B (1:-nan ratio)
 Connections: closed: 127.0.0.1::40948
 ComparingUpdateTracker: 0 pixels in / 0 pixels out
 ComparingUpdateTracker: (1:-nan ratio)
tl-xinit: Xserver ready for clients.
--- System information ---
ThinLinc 4.17.0
Linux HP-14-Notebook-PC 6.8.0-39-generic #39-Ubuntu SMP PREEMPT_DYNAMIC Fri Jul  5 21:49:14 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Ubuntu 24.04 LTS \n \l

--- End system information ---
Fontconfig warning: "/usr/share/fontconfig/conf.avail/05-reset-dirs-sample.conf", line 6: unknown element "reset-dirs"

Mon Jul 29 11:12:30 2024
 Connections: accepted: 127.0.0.1::40960
 SConnection: Client needs protocol version 3.8
 SConnection: Client requests security type VncAuth(2)
 VNCSConnST:  Replacing existing connection
 VNCSConnST:  Server default pixel format depth 24 (32bpp) little-endian rgb888

Mon Jul 29 11:12:32 2024
 ComparingUpdateTracker: 1.02643 Mpixels in / 820.544 kpixels out
 ComparingUpdateTracker: (1:1.25092 ratio)
X connection to לl broken (explicit kill or server shutdown).
Fontconfig warning: "/usr/share/fontconfig/conf.avail/05-reset-dirs-sample.conf", line 6: unknown element "reset-dirs"
Running /opt/thinlinc/etc/xstartup.d/01-tl-kinit.sh (Obtaining Kerberos ticket)
Running /opt/thinlinc/etc/xstartup.d/02-tl-dbus-launch.sh (Starting session D-Bus server)
Existing session D-Bus server found.
Setting initial D-Bus and systemd environment...
Running /opt/thinlinc/etc/xstartup.d/03-tl-x11-allow-localuser
localuser:<user> being added to access control list
Running /opt/thinlinc/etc/xstartup.d/11-tl-set-title (Setting client window title)
Running /opt/thinlinc/etc/xstartup.d/12-tl-default-keyboard (Configuring default keyboard layout)
Setting default keyboard layout to "us"
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning:          Unsupported high keycode 372 for name <I372> ignored
>                   X11 cannot support keycodes above 255.
>                   This warning only shows for the first high keycode.
Errors from xkbcomp are not fatal to the X server
Running /opt/thinlinc/etc/xstartup.d/15-tl-shadow-notify (Enabling notifications when the session is shadowed)
Running /opt/thinlinc/etc/xstartup.d/20-tl-select-profile.sh (Choosing a profile)
MESA: error: ZINK: failed to choose pdev
glx: failed to create drisw screen
MESA: error: ZINK: failed to choose pdev
glx: failed to create drisw screen
Running /opt/thinlinc/etc/xstartup.d/30-tl-xdg-user-dirs (Translating standard folders)
Running /opt/thinlinc/etc/xstartup.d/40-tl-mount-localdrives (Mounting local drives)
Running /opt/thinlinc/etc/xstartup.d/41-tl-lp-redir-launch (Setting up printer port redirection)
Running /opt/thinlinc/etc/xstartup.d/43-tl-pulseaudio-launch.sh (Starting session PulseAudio server)
W: [pulseaudio] main.c: Couldn't canonicalize binary path, cannot self execute.
Session PulseAudio server started. Redirecting applications...
Running /opt/thinlinc/etc/xstartup.d/50-tl-wait-smartcard (Waiting for smart card connection)
Client has no smartcard capability
Stopping initial window manager...
Done.
Executing profile: ubuntu
Using XDG session: ubuntu
Updating D-Bus and systemd environment...
Executing XDG session command: env GNOME_SHELL_SESSION_MODE=ubuntu /usr/bin/gnome-session --session=ubuntu
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning:          Unsupported high keycode 372 for name <I372> ignored
>                   X11 cannot support keycodes above 255.
>                   This warning only shows for the first high keycode.
Errors from xkbcomp are not fatal to the X server

Mon Jul 29 11:19:40 2024
 VNCSConnST:  closing 127.0.0.1::40960: Clean disconnection
 EncodeManager: Framebuffer updates: 24431
 EncodeManager:   CopyRect:
 EncodeManager:     Copies: 2 rects, 468.56 kpixels
 EncodeManager:             32 B (1:58570.8 ratio)
 EncodeManager:   Tight:
 EncodeManager:     Solid: 2.044 krects, 4.74782 Mpixels
 EncodeManager:            31.9375 KiB (1:581.452 ratio)
 EncodeManager:     Bitmap RLE: 67 rects, 26.196 kpixels
 EncodeManager:                 2.0498 KiB (1:50.304 ratio)
 EncodeManager:     Indexed RLE: 16.607 krects, 5.18443 Mpixels
 EncodeManager:                  6.89503 MiB (1:2.89587 ratio)
 EncodeManager:   Tight (JPEG):
 EncodeManager:     Full Colour: 7.385 krects, 4.05309 Mpixels
 EncodeManager:                  7.18167 MiB (1:2.16465 ratio)
 EncodeManager:   Total: 26.105 krects, 14.4801 Mpixels
 EncodeManager:          14.1099 MiB (1:3.93595 ratio)
 Connections: closed: 127.0.0.1::40960
 ComparingUpdateTracker: 16.3435 Mpixels in / 8.87902 Mpixels out
 ComparingUpdateTracker: (1:1.84068 ratio)
E: [tunnel-source] module-tunnel-source-new.c: Stream failed: Connection terminated
E: [tunnel-sink] module-tunnel-sink-new.c: Stream failed.

Mon Jul 29 11:19:46 2024
 Connections: accepted: 127.0.0.1::39668
 SConnection: Client needs protocol version 3.8
 SConnection: Client requests security type VncAuth(2)
 VNCSConnST:  Replacing existing connection
 VNCSConnST:  Server default pixel format depth 24 (32bpp) little-endian rgb888

@Deluxe thanks for sending this through. Is this log file the result of a failed session? There’s nothing in there to indicate anything wrong unfortunately.

It’s strange that suspending the server fixes the issue, I’ve never come across this before.

I wonder if it is the desktop environment causing issues here. Have you tested using another desktop environment, such as XFCE or MATE? These are already configured by default in ThinLinc, so all you should need to do is install the packages from your distribution repository. These are generally much better DEs to use for remote desktops than GNOME 3 anyway; see “Which desktop environment should I use with ThinLinc?”.

1 Like