KStudio/DBeaver在国产操作系统中启动时报错org.eclipse.swt.SWTError: No more handles
1. 显示环境 / 远程桌面问题(很常见)
若通过 SSH 无 X11 转发、VNC 不稳定、无桌面环境 启动 GUI,SWT 容易在创建 Cursor/Widget 时失败。
检查:
echo $DISPLAY
应有类似 :0 或 localhost:10.0。
本机有桌面时,用普通图形会话启动,不要只在纯文本 SSH 里 ./KStudio。
2. GTK / SWT 兼容性问题
Eclipse/SWT 对 GTK 版本敏感,尤其在 较新 Linux(如 UOS、麒麟、CentOS 8+) 上。
可尝试启动参数:
export SWT_GTK3=0
# 或
export GDK_BACKEND=x11
./KStudio
或在 KStudio.ini 里加 JVM 参数(视版本而定):
--launcher.appendVmargs
-Dorg.eclipse.swt.internal.gtk.version=3
具体以 Kingbase/KStudio 文档为准。
3. 工作区损坏(.metadata)
若上次异常退出,工作区元数据损坏,启动时反复创建 UI 也可能触发句柄问题。
处理:
- 完全退出 KStudio
- 备份:
cp -r KStudioData/workspace6 KStudioData/workspace6.bak - 删除或移走:
.metadata(或整个 workspace 换新目录) - 用 新 workspace 再启动:
./KStudio -data /opt/Kingbase/ES/V8/KStudioData/workspace_new
4. 不要用 root 跑 GUI(建议)
root 跑 Eclipse 类程序常带来:
HOME、权限、X11 授权(xhost)异常- 配置写到 root 家目录,和普通用户桌面会话不一致
建议: 用普通用户安装/运行,并保证该用户对安装目录、workspace 有写权限。
5. 系统资源 / 句柄上限
较少见,但若系统句柄耗尽也会出现类似现象。
ulimit -n
cat /proc/sys/fs/file-max
可适当提高 ulimit -n(需运维配合)。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐
所有评论(0)