Linux环境DM8启动图形管理工具异常和解决

DM 管理工具(Manager)是数据库自带的图形化工具,可方便快捷的对数据进行管理,简化 DBA 对数据库的日常运维操作要求。

但是在linux 环境可能会遇到启动图形管理工具失败,下面就将遇到的报错信息和解决办法进行分享,希望对能遇到同样问题的同学有所帮助。

1.报错信息如下

通过vnc view登录系统,切换到dmdba用户,在DM8部署目录/dm8/tool目录,启动图形管理工具,无法正常显示图形,报错如下:

[dmdba@owumvyu4iuuzaxxp-0001 tool]$ ./manager
(Manager:2755): GLib-GObject-WARNING **: 11:08:55.040: invalid (NULL) pointer instance
(Manager:2755): GLib-GObject-CRITICAL **: 11:08:55.040: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
(Manager:2755): Gtk-CRITICAL **: 11:08:55.040: IA__gtk_settings_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
(Manager:2755): Gtk-WARNING **: 11:08:55.047: Screen for GtkWindow not set; you must always set
a screen for a GtkWindow before using the window
(Manager:2755): Gtk-WARNING **: 11:08:55.047: Screen for GtkWindow not set; you must always set
a screen for a GtkWindow before using the window
(Manager:2755): Gdk-CRITICAL **: 11:08:55.047: IA__gdk_screen_get_display: assertion 'GDK_IS_SCREEN (screen)' failed
(Manager:2755): Gdk-CRITICAL **: 11:08:55.047: IA__gdk_display_get_pointer: assertion 'GDK_IS_DISPLAY (display)' failed
(Manager:2755): Gdk-CRITICAL **: 11:08:55.047: IA__gdk_screen_get_monitor_at_point: assertion 'GDK_IS_SCREEN (screen)' failed
(Manager:2755): Gtk-WARNING **: 11:08:55.047: Screen for GtkWindow not set; you must always set
a screen for a GtkWindow before using the window
(Manager:2755): Gdk-CRITICAL **: 11:08:55.047: IA__gdk_screen_get_n_monitors: assertion 'GDK_IS_SCREEN (screen)' failed
(Manager:2755): Gtk-WARNING **: 11:08:55.047: Screen for GtkWindow not set; you must always set
a screen for a GtkWindow before using the window
(Manager:2755): Gdk-CRITICAL **: 11:08:55.047: IA__gdk_screen_get_monitor_geometry: assertion 'GDK_IS_SCREEN (screen)' failed
(Manager:2755): Gdk-CRITICAL **: 11:08:55.047: IA__gdk_screen_get_default_colormap: assertion 'GDK_IS_SCREEN (screen)' failed
(Manager:2755): Gdk-CRITICAL **: 11:08:55.047: IA__gdk_colormap_get_visual: assertion 'GDK_IS_COLORMAP (colormap)' failed
(Manager:2755): Gdk-CRITICAL **: 11:08:55.047: IA__gdk_screen_get_default_colormap: assertion 'GDK_IS_SCREEN (screen)' failed
(Manager:2755): Gdk-CRITICAL **: 11:08:55.047: IA__gdk_screen_get_root_window: assertion 'GDK_IS_SCREEN (screen)' failed
(Manager:2755): Gdk-CRITICAL **: 11:08:55.047: IA__gdk_screen_get_root_window: assertion 'GDK_IS_SCREEN (screen)' failed
(Manager:2755): Gdk-CRITICAL **: 11:08:55.047: IA__gdk_window_new: assertion 'GDK_IS_WINDOW (parent)' failed
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007fa5ac76a597, pid=2755, tid=0x00007fa5d8477700
#
# JRE version: OpenJDK Runtime Environment (8.0_332-b09) (build 1.8.0_332-b09)
# Java VM: OpenJDK 64-Bit Server VM (25.332-b09 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C  [libgdk-x11-2.0.so.0+0x7b597]  gdk_window_enable_synchronized_configure+0x7
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /dm8/tool/hs_err_pid2755.log
#
# If you would like to submit a bug report, please visit:
#   https://github.com/adoptium/adoptium-support/issues
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
./manager: line 20:  2755 Aborted                 (core dumped) "$JAVA_HOME/bin/java" -Xms256m -Xmx2048m -XX:+PerfDisableSharedMem -DDM_HOME="$DM_HOME" -Djava.library.path="$DM_HOME/bin" -Ddameng.log.file="$TOOL_HOME/log4j.xml" -DeclipseHome="$TOOL_HOME" -Dosgi.nl="$INSTALL_LANGUAGE" -Ddameng.dts.explorer.root="$TOOL_HOME/workspace/local/dts" -Ddameng.isql.explorer.root="$TOOL_HOME/workspace/local/isql" -Duse_bak2=true -Dgrant_vti_role=false -Dapp.name=manager -jar "$TOOL_HOME/plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar" -os linux -ws gtk -arch x86_64 -showsplash "$TOOL_HOME/manager.bmp" -data "$TOOL_HOME/workspace/manager" -product com.dameng.manager.product -name Manager
[dmdba@owumvyu4iuuzaxxp-0001 tool]$ 

报错提示“Screen for GtkWindow not set; you must always set a screen for a GtkWindow before using the window”,原因是没有设置DISPLAY变量导致。

DISPLAY环境变量作用说明:
在Linux/Unix类操作系统GUI应用程序使用X Window系统(X Window System),它旨在允许多个用户使用窗口化的应用程序通过网络访问计算机。 DISPLAY环境变量用来设置将图形显示到何处。

2.查看dmdba用户 DISPLAY变量

在dmdba用户查看DISPLAY变量值:

[root@owumvyu4iuuzaxxp-0001 ~]# su - dmdba
Last login: Sat Jun 24 11:10:12 CST 2023 on pts/1
[dmdba@owumvyu4iuuzaxxp-0001 ~]$ echo $DISPLAY

[dmdba@owumvyu4iuuzaxxp-0001 ~]$ 

显示在dmdba用户无DISPLAY变量值。

3.root用户查看DISPLAY变量

查看root用户DISPLAY值:

[root@owumvyu4iuuzaxxp-0001 ~]# echo $DISPLAY  
:5
[root@owumvyu4iuuzaxxp-0001 ~]# 

执行xhost +命令:

[root@owumvyu4iuuzaxxp-0001 ~]# xhost +
access control disabled, clients can connect from any host
[root@owumvyu4iuuzaxxp-0001 ~]# 

显示"access control disabled, clients can connect from any host,意思是关闭访问授权,允许任何主机访问本地X服务器。

xhost命令作用说明:
xhost命令是X服务器的访问控制工具,用来控制哪些X客户端能够在X服务器上显示。

命令说明
+关闭访问授权,允许任何主机访问本地X服务器

4.切换dmdba用户设置DISPLAY变量

在dmdba用户通过export设置DISPLAY变量值和root用户DISPLAY变量值一致。

[dmdba@owumvyu4iuuzaxxp-0001 ~]$ export DISPLAY=:5
[dmdba@owumvyu4iuuzaxxp-0001 ~]$ echo $DISPLAY
:5
[dmdba@owumvyu4iuuzaxxp-0001 ~]$ 

执行xhost +命令,允许任何主机访问本地X服务器:

[dmdba@owumvyu4iuuzaxxp-0001 ~]$ xhost +
access control disabled, clients can connect from any host

5.启动DM8 图形管理工具

通过dmdba用户在/dm8/tool目录执行./manager启动DM图形管理工具:

[dmdba@owumvyu4iuuzaxxp-0001 ~]$ cd /dm8/tool
[dmdba@owumvyu4iuuzaxxp-0001 tool]$ ./manager

DM8管理工具图形启动成功:
在这里插入图片描述
关于达梦数据库更多学习内容,欢迎访问达梦社区:
https://eco.dameng.com

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值