Jigsaw-Code / outline-apps

Outline Client and Manager, developed by Jigsaw. Outline Manager makes it easy to create your own VPN server. Outline Client lets you share access to your VPN with anyone in your network, giving them access to the free and open internet.
https://getoutline.org/
Apache License 2.0
8.22k stars 1.35k forks source link

Empty gui under root user arch #1577

Open HappyCthulhu opened 1 year ago

HappyCthulhu commented 1 year ago

Bug

I cant enable vpn without root priviliges. I non-root regime, outline told me: "We will initiailize Outline, which may require admin permissions". Ofc i agreed, that this happened:

image

Thats why i will report only about my attempts to enable Outline with under sudo. After i typed: sudo outline-client --no-sandbox, that what i saw:

image

CLI output ``` ╰─>$ sudo outline-client --no-sandbox [17574:0216/122723.656421:ERROR:bus.cc(398)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix") [17574:0216/122723.656492:ERROR:bus.cc(398)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix") Authorization required, but no authorization protocol specified Authorization required, but no authorization protocol specified Authorization required, but no authorization protocol specified Authorization required, but no authorization protocol specified Authorization required, but no authorization protocol specified [17627:0216/122723.715042:ERROR:angle_platform_impl.cc(43)] Display.cpp:977 (initialize): ANGLE Display::initialize error 12289: Could not open the default X display. [17627:0216/122723.715105:ERROR:gl_surface_egl.cc(852)] EGL Driver message (Critical) eglInitialize: Could not open the default X display. [17627:0216/122723.715126:ERROR:gl_surface_egl.cc(1489)] eglInitialize OpenGL failed with error EGL_NOT_INITIALIZED, trying next display type Authorization required, but no authorization protocol specified [17627:0216/122723.716051:ERROR:angle_platform_impl.cc(43)] Display.cpp:977 (initialize): ANGLE Display::initialize error 12289: Could not open the default X display. [17627:0216/122723.716071:ERROR:gl_surface_egl.cc(852)] EGL Driver message (Critical) eglInitialize: Could not open the default X display. [17627:0216/122723.716086:ERROR:gl_surface_egl.cc(1489)] eglInitialize OpenGLES failed with error EGL_NOT_INITIALIZED [17627:0216/122723.716100:ERROR:gl_ozone_egl.cc(21)] GLSurfaceEGL::InitializeOneOff failed. Outline is starting [17627:0216/122723.725761:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization loading web app from file:///tmp/.mount_outlin5D5jtX/resources/app.asar/www/index_electron.html?appName=Outline Could not load active tunnel: [Error: ENOENT: no such file or directory, open '/root/.config/Outline/connection_store'] { errno: -2, code: 'ENOENT', syscall: 'open', path: '/root/.config/Outline/connection_store' } Checking for update Authorization required, but no authorization protocol specified Authorization required, but no authorization protocol specified Authorization required, but no authorization protocol specified (outline-client:17574): libappindicator-WARNING **: 12:27:23.830: Unable to get the session bus: Unknown or unsupported transport “disabled” for address “disabled:” (outline-client:17574): LIBDBUSMENU-GLIB-WARNING **: 12:27:23.830: Unable to get session bus: Unknown or unsupported transport “disabled” for address “disabled:” Authorization required, but no authorization protocol specified Authorization required, but no authorization protocol specified [17656:0216/122723.836524:ERROR:angle_platform_impl.cc(43)] Display.cpp:977 (initialize): ANGLE Display::initialize error 12289: Could not open the default X display. [17656:0216/122723.836594:ERROR:gl_surface_egl.cc(852)] EGL Driver message (Critical) eglInitialize: Could not open the default X display. [17656:0216/122723.836627:ERROR:gl_surface_egl.cc(1489)] eglInitialize OpenGL failed with error EGL_NOT_INITIALIZED, trying next display type Authorization required, but no authorization protocol specified [17656:0216/122723.836737:ERROR:angle_platform_impl.cc(43)] Display.cpp:977 (initialize): ANGLE Display::initialize error 12289: Could not open the default X display. [17656:0216/122723.836763:ERROR:gl_surface_egl.cc(852)] EGL Driver message (Critical) eglInitialize: Could not open the default X display. [17656:0216/122723.836784:ERROR:gl_surface_egl.cc(1489)] eglInitialize OpenGLES failed with error EGL_NOT_INITIALIZED [17656:0216/122723.836805:ERROR:gl_ozone_egl.cc(21)] GLSurfaceEGL::InitializeOneOff failed. [17656:0216/122723.837795:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization Authorization required, but no authorization protocol specified Authorization required, but no authorization protocol specified Authorization required, but no authorization protocol specified Authorization required, but no authorization protocol specified Authorization required, but no authorization protocol specified [17664:0216/122723.844641:ERROR:angle_platform_impl.cc(43)] Display.cpp:977 (initialize): ANGLE Display::initialize error 12289: Could not open the default X display. [17664:0216/122723.844678:ERROR:gl_surface_egl.cc(852)] EGL Driver message (Critical) eglInitialize: Could not open the default X display. [17664:0216/122723.844696:ERROR:gl_surface_egl.cc(1489)] eglInitialize OpenGL failed with error EGL_NOT_INITIALIZED, trying next display type Authorization required, but no authorization protocol specified [17664:0216/122723.844786:ERROR:angle_platform_impl.cc(43)] Display.cpp:977 (initialize): ANGLE Display::initialize error 12289: Could not open the default X display. [17664:0216/122723.844809:ERROR:gl_surface_egl.cc(852)] EGL Driver message (Critical) eglInitialize: Could not open the default X display. [17664:0216/122723.844824:ERROR:gl_surface_egl.cc(1489)] eglInitialize OpenGLES failed with error EGL_NOT_INITIALIZED [17664:0216/122723.844839:ERROR:gl_ozone_egl.cc(21)] GLSurfaceEGL::InitializeOneOff failed. [17664:0216/122723.845800:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization Authorization required, but no authorization protocol specified Authorization required, but no authorization protocol specified Authorization required, but no authorization protocol specified Authorization required, but no authorization protocol specified Authorization required, but no authorization protocol specified [17671:0216/122723.854225:ERROR:angle_platform_impl.cc(43)] Display.cpp:977 (initialize): ANGLE Display::initialize error 12289: Could not open the default X display. [17671:0216/122723.854277:ERROR:gl_surface_egl.cc(852)] EGL Driver message (Critical) eglInitialize: Could not open the default X display. [17671:0216/122723.854298:ERROR:gl_surface_egl.cc(1489)] eglInitialize OpenGL failed with error EGL_NOT_INITIALIZED, trying next display type Authorization required, but no authorization protocol specified [17671:0216/122723.854365:ERROR:angle_platform_impl.cc(43)] Display.cpp:977 (initialize): ANGLE Display::initialize error 12289: Could not open the default X display. [17671:0216/122723.854387:ERROR:gl_surface_egl.cc(852)] EGL Driver message (Critical) eglInitialize: Could not open the default X display. [17671:0216/122723.854405:ERROR:gl_surface_egl.cc(1489)] eglInitialize OpenGLES failed with error EGL_NOT_INITIALIZED [17671:0216/122723.854424:ERROR:gl_ozone_egl.cc(21)] GLSurfaceEGL::InitializeOneOff failed. [17671:0216/122723.855316:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization Authorization required, but no authorization protocol specified Authorization required, but no authorization protocol specified Authorization required, but no authorization protocol specified Authorization required, but no authorization protocol specified Authorization required, but no authorization protocol specified [17678:0216/122723.866647:ERROR:angle_platform_impl.cc(43)] DisplayVkXcb.cpp:59 (initialize): xcb_connect() failed, error 1 [17678:0216/122723.866691:ERROR:angle_platform_impl.cc(43)] Display.cpp:977 (initialize): ANGLE Display::initialize error 12289: Not initialized. [17678:0216/122723.866724:ERROR:gl_surface_egl.cc(852)] EGL Driver message (Critical) eglInitialize: Not initialized. [17678:0216/122723.866746:ERROR:gl_surface_egl.cc(1489)] eglInitialize SwANGLE failed with error EGL_NOT_INITIALIZED [17678:0216/122723.866770:ERROR:gl_ozone_egl.cc(21)] GLSurfaceEGL::InitializeOneOff failed. [17678:0216/122723.867685:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization Authorization required, but no authorization protocol specified Authorization required, but no authorization protocol specified [17685:0216/122723.874907:ERROR:gpu_init.cc(481)] Passthrough is not supported, GL is disabled, ANGLE is [17685:0216/122723.880803:ERROR:x11_software_bitmap_presenter.cc(141)] XGetWindowAttributes failed for window 54525955 Found version 1.9.0 (url: https://s3.amazonaws.com/outline-releases/client/linux/1.9.0/2/Outline-Client.AppImage) Downloading update from https://s3.amazonaws.com/outline-releases/client/linux/1.9.0/2/Outline-Client.AppImage updater cache dir: /root/.cache/outline-client-updater Update has already been downloaded to /root/.cache/outline-client-updater/pending/Outline-Client.AppImage). ```

Client System (please complete the following information):

Submit Feedback Please submit feedback through the app and label it with this issue number.

maddyhof commented 1 year ago

Labeling this as a feature request because this Linux distro is not currently supported.

kaktoforum commented 1 year ago
  • Operating System: Arch Linux x86_64
# pacman -S extra/xorg-xhost
# xhost +local:

Enjoy.

Labeling this as a feature request

It's Electron related, not Outline issue.

kaktoforum commented 1 year ago

@maddyhof I will add to the same issue, because it's Arch (I assume) related. But hardcoding binary paths is not a great idea, IMHO

Error:

...
/bin/bash: line 1: /usr/bin/shasum: No such file or directory
/usr/bin/echo: write error: Broken pipe

    at ChildProcess.exithandler (node:child_process:408:12)
    at ChildProcess.emit (node:events:526:28)
    at ChildProcess.emit (node:domain:475:12)
    at maybeClose (node:internal/child_process:1092:16)
    at Socket.<anonymous> (node:internal/child_process:451:11)
    at Socket.emit (node:events:526:28)
    at Socket.emit (node:domain:475:12)
    at Pipe.<anonymous> (node:net:687:12) {
  killed: false,
...

Checking cloned Git repo:

$ grep -R '/usr/bin/shasum' .
./src/electron/routing_service.ts:      .map(({filename, sha256}) => `/usr/bin/echo "${sha256}  ${path.join(tmp, filename)}" | /usr/bin/shasum -a 256 -c`)

Where is my shasum?

$ which shasum
/usr/bin/core_perl/shasum

Workaround:

$ sudo ln -s /usr/bin/core_perl/shasum /usr/bin/shasum
$ ls -la /usr/bin/shasum
lrwxrwxrwx 1 root root 25 May 29 21:16 /usr/bin/shasum -> /usr/bin/core_perl/shasum

Now working.

P.S. After fixing shasum path, non-root outline-client started to work. Had to restart machine to clean the mess.