Skip to content

常见运行问题

  1. 应用运行读取/usr/share下应用安装资源文件,为什么读取失败?

    玲珑应用是在容器环境中运行,应用数据会挂载到/opt/apps/<appid>/下,/usr/share目录下只会存在系统数据,不会存在应用相关数据。因此直接读取/usr/share下会失败。建议处理:采用XDG_DATA_DIRS环境变量读取资源,/opt/apps/<appid>/files/share会存在在此环境变量搜索路径中。

  2. 应用运行时找不到字体库文件?为什么deb包安装时能读取到对应的字体库?

    deb包安装时,会依赖带入对应的字体库文件。而玲珑包格式采用自给自足打包格式。除了基本的系统库,runtime里面提供的qt库与dtk库文件不用自己提供外,其他依赖数据文件,均需自己提供。建议对应的数据文件放入files/share下,采用环境变量XDG_DATA_DIRS读取路径。

  3. 玲珑应用runtime里面有什么?能不能往里面添加一些库文件进去?

    目前玲珑应用依赖的runtime里面提供的是qt库与dtk库。因runtime有严格的大小限制。目前不允许往runtime里面添加额外的库文件。

  4. 应用在容器内运行,运行过程中能不能往容器任意路径下创建配置文件?

    这是不允许的行为,容器内文件系统是只读文件系统,不允许随意路径下创建配置文件。

  5. 应用数据保存到哪里?在容器外哪里能找到?

    因玲珑应用遵循互不干涉原则,XDG_DATA_HOMEXDG_CONFIG_HOMEXDG_CACHE_HOME环境变量被定义到宿主机~/.linglong/<appid>/对应的路径下,因此用户应用数据会保存在此路径下,应用运行过程中写入数据时,也应该读取对应的环境变量写入数据。禁止应用间互相配置调用。

  6. 应用提供了dbus service文件,如何放置?Exec段写什么?

    应用提供dbus service文件时,需要放到entries/dbus-1/services目录下,如果Exec执行玲珑包内二进制,使用--exec选项参数执行对应的二进制。

  7. 应用能不能默认往$HOME目录下下载文件?下载了文件,为什么宿主机器下找不到?

    玲珑规范,不允许往$HOME目录下创建文件与目录。

  8. 桌面快捷方式为什么显示齿轮状?或者为空?图标文件如何放置?

    显示齿轮状是图标未获取到,需要确认Icon路径名称是否正确。图标为空时,是存在 tryExec字段,当命令不存在时,会导致快捷方式显示异常。放置应用图标icons,目录结构与系统icons目录结构保持一致即可,建议路径为icons/hicolor/scalable/apps/org.desktopspec.demo.svg,使用svg格式图标。参考图标文件格式规范如果使用非矢量格式,请按照分辨率来放置图标,注意desktop文件不要写死图标路径,直接写图标名即可。

  9. 应用自带的xdg-openxdg-email为什么失效?

    runtime中玲珑特殊处理了xdg-openxdg-email,因此应用禁止执行自己携带的xdg-open、xdg-email可执行文件或者脚本。

  10. 应用使用系统环境变量未生效,为什么?

    当使用环境变量时,需要确认容器内是否存在对应的环境变量,如果没有,需要联系玲珑团队处理。

  11. 应用运行需要的库文件没找到,如何提供?

    应用需要使用的资源文件,与库文件需要应用自身提供。库文件放到files/lib路径下。

  12. 应用下载目录可以选择哪里?

    目前玲珑用户下载目录只能选择用户主目录下DesktopDocumentsDownloadsMusicPicturesVideosPublicTemplates 目录,不能下载到其他目录。

  13. 应用运行时,为什么QT WebEngine渲染进程已崩溃?

    因系统升级了glibc,导致应用使用内置浏览器时失败,需要应用重新适配。临时解决方案是设置环境变量:export QTWEBENGINE_DISABLE_SANDBOX=1

  14. 应用运行时,找不到libqxcb.so库或者qtwebengin 报错?

    存在qt.conf文件时,在文件中配置正确路径,或者使用 QTWEBENGINEPROCESS_PATHQTWEBENGINERESOURCE_PATHQT_QPA_PLATFORM_PLUGIN_PATHQT_PLUGIN_PATH环境变量配置搜索路径。

  15. 应用运行报错信息gpu_data_manager_impl_private,如何解决?

    目前临时解决方案是加--no-sandbox,参考:https://github.com/Automattic/simplenote-electron/issues/3044

  16. 应用能否自己携带数据库文件,并在运行中往数据库中写入数据?

    容器内文件系统是只读文件系统,不允许往应用资源文件中写入数据。

  17. 为什么执行携带suidguid权限二进制失效?

    玲珑容器为保证系统安全,容器内禁止执行此类权限二进制。

  18. uab离线包格式在debian、ubuntu下输入法无法使用?

    建议安装fictx输入法后体验。