Unable to init server: Could not connect: Connection refused Traceback (most recent call last): File "/home/pi/decode.py", line 88, in <module> cv2.imshow("Camera", img) cv2.error: OpenCV(4.5.1) ../modules/highgui/src/window_gtk.cpp:624: error: (-2:Unspecified error) Can't initialize GTK backend in function 'cvInitSystem'
这个错误通常是由于缺少正确的依赖项或环境配置而导致的。在运行OpenCV应用程序之前,你可能需要确保以下几点:
确保已正确安装了OpenCV库和所有相关依赖项。你可以使用适合你的操作系统的包管理器来安装它们,或者从OpenCV官方网站下载源代码进行手动编译和安装。
确保你的系统具有可用的GTK(或GTK+)库,并且已正确配置。如果你使用的是Linux系统,你可以尝试安装
libgtk-3-dev
或类似的GTK开发包。如果你使用的是Windows系统,则需要确保正确设置了环境变量。确保你的程序有足够的权限来初始化GTK后端。在某些情况下,可能需要使用root权限或管理员权限来运行程序。
如果你是通过SSH连接到远程设备并尝试显示窗口,请确保你已启用X11转发,并且正在使用支持GUI的SSH客户端。
如果上述步骤都没有解决问题,你可以尝试搜索特定于你的操作系统和OpenCV版本的解决方案,或者提供更多详细的错误信息以便我能够提供更准确的帮助。
Unable to init server: Could not connect: Connection refused Unable to init server: Could not connect: Connection refused WARNING:root:can not import unity GI Namespace Dbusmenu not available WARNING:root:estimate_kernel_initrd_size_in_boot() returned '0' for kernel? WARNING:root:estimate_kernel_initrd_size_in_boot() returned '0' for initrd? Unable to init server: Could not connect: Connection refused (update-manager:37076): Gtk-WARNING **: 03:49:17.655: cannot open display:
这个错误通常出现在你在SSH会话中尝试运行图形化应用程序,但是X11服务器没有正确地配置。你需要确保你已经启动了X11服务器,并且已经正确地配置了SSH会话以允许X11转发。你可以使用以下命令来启动X11服务器:
startx
如果你使用的是Windows系统,在SSH客户端中启用X11转发通常需要在连接SSH服务器时启用X11转发选项。例如,在PuTTY中,你需要在Connection -> SSH -> X11选项卡中启用"Enable X11 forwarding"选项。
如果你已经启用了X11转发,但仍然遇到这个错误,那么你可能需要检查你的DISPLAY环境变量是否正确设置。你可以使用以下命令检查:
echo $DISPLAY
如果你看到输出类似于"localhost:10.0",那么你的DISPLAY环境变量已经正确设置。如果你没有看到任何输出,或者输出中不包含"localhost",那么你需要将DISPLAY环境变量设置为正确的值:
export DISPLAY=localhost:10.0
这应该解决你的问题。
update-manager Unable to init server: Could not connect: Connection refused Unable to init server: Could not connect: Connection refused WARNING:root:can not import unity GI Namespace Dbusmenu not available WARNING:root:estimate_kernel_initrd_size_in_boot() returned '0' for kernel? WARNING:root:estimate_kernel_initrd_size_in_boot() returned '0' for initrd? Unable to init server: Could not connect: Connection refused (update-manager:37076): Gtk-WARNING **: 03:49:17.655: cannot open display:
这个错误通常出现在你尝试在没有X11服务器的环境中运行update-manager命令,或者X11服务器没有正确地配置。update-manager是Ubuntu系统中用于更新软件的图形化工具,需要在图形界面中使用。如果你正在使用SSH会话或者没有正确配置X11服务器,那么你将无法使用update-manager。
如果你正在使用SSH会话,你需要在连接SSH服务器时启用X11转发选项。例如,在使用PuTTY连接SSH服务器时,你需要在Connection -> SSH -> X11选项卡中启用"Enable X11 forwarding"选项。
如果你已经启用了X11转发,但仍然遇到这个错误,那么你可能需要检查你的DISPLAY环境变量是否正确设置。你可以使用以下命令检查:
echo $DISPLAY
如果你看到输出类似于"localhost:10.0",那么你的DISPLAY环境变量已经正确设置。如果你没有看到任何输出,或者输出中不包含"localhost",那么你需要将DISPLAY环境变量设置为正确的值:
export DISPLAY=localhost:10.0
如果你没有安装X11服务器,你需要安装一个X11服务器才能使用update-manager。在Ubuntu中,你可以使用以下命令安装X11服务器:
sudo apt-get install xorg
这应该解决你的问题。
相关推荐

















