Mahdi-zarei / nekoray

Qt based cross-platform GUI proxy configuration manager (backend: sing-box)
GNU General Public License v3.0
250 stars 17 forks source link

BUG: The app doesn't run on linux - Qt6 error #59

Open Jds548 opened 5 days ago

Jds548 commented 5 days ago

Describe the problem

Expected behavior: the nekoray Execute successfully.

Actual behavior: The app doesn't run on linux. Seems to be new linux build Qt6 problem.

How to reproduce

run nekoray Executable file.

log

$ nekoray-4.0.8-2024-06-29-linux64 ./nekoray      
warning: direct reference to protected function `_ZN7QDialog11qt_metacastEPKc' in `/usr/lib/libQt6Widgets.so.6' may break pointer equality
./nekoray: _ZN7QDialog11qt_metacastEPKc: /usr/lib/libQt6Widgets.so.6: error due to GNU_PROPERTY_1_NEEDED_INDIRECT_EXTERN_ACCESS

System info

Operating System: Arch Linux KDE Plasma Version: 6.1.1

Mahdi-zarei commented 5 days ago

On linux, you have to run launcher and not the nekoray executable.

Jds548 commented 4 days ago

On linux, you have to run launcher and not the nekoray executable.

I've run nekoray Executable in previous versions successfully. The launcher doesn't support system Qt style (breeze in my case) on KDE plasma.

Mahdi-zarei commented 4 days ago

On linux, you have to run launcher and not the nekoray executable.

I've run nekoray Executable in previous versions successfully. The launcher doesn't support system Qt style (breeze in my case) on KDE plasma.

I suppose you had the Qt libraries installed on your device, otherwise I don't think you could run the previous releases without the launcher, the whole point of a zip file is to contain the required libraries and the launcher sets the required env variables so that nekoray knows where to find them. If you want to use your own libraries then you need to manually handle the related issues.

Jds548 commented 4 days ago

I don't think you could run the previous releases without the launcher.

From user viewpoint, the nekoray had always executed on my system (Arch+KDE). The benefit was that the app unified with system look. I don't know if is there any chance that the launcher detect system style.

Mahdi-zarei commented 4 days ago

Run launcher in terminal once, it will show you what env variables it is setting. Try exporting those variables manually and then run nekoray again.

Jds548 commented 4 days ago

Run launcher in terminal once, it will show you what env variables it is setting. Try exporting those variables manually and then run nekoray again.

Other users also report that GUI doesn't follow system theme (https://github.com/Mahdi-zarei/nekoray/issues/61). I think we need more app based solution.

Turbine8845 commented 4 days ago

I use the Cinnamon desktop environment on Debian Sid and I always had problems with Nekoray (the original version and this fork) not respecting the system's theme. I also had the same issue on Arch Linux and Artix Linux. I am not sure if this is a problem with Nekoray or the Cinnamon desktop environment. I don't have this issue with other applications on my system. Also, the Nekoray's window cannot be tiled like other applications that I use on Linux.

Mahdi-zarei commented 4 days ago

This problem is actually rooted at Qt, as I am using its themes and following its theme setting style. I will try to find workarounds to allow for better theme compatibility.