smart-os/xfce4.md
2022-08-18 08:06:44 +08:00

2.3 KiB
Raw Blame History

xfce4 组件介绍

  • [ Gtk+ ] 这些组件 gtk 最庞大
    libffi
    libmount
    glib
    pixman
    freetype
    harfbuzz
    fontconfig
    cairo
    fribidi
    pango
    gdkpixbuf
    libeproxy
    graphene
    wayland-protocols
    gettext( libintl )
    gtk+
  • [ xfce ] 这些组件编译顺序也有要求
    libwnck
    xfce4-dev-tools
    xlibxfce4util
    xfconf
    libxfce4ui
    garcon
    exo
    xfce4-panel
    thunar xfce4-settings
    xfce4-session
    xfwm4
    xfdesktop
    thunar-volman
    tumbler
    xfce4-power-manager
    xfce4-appfinder

Cairo

cairo is a vector graphics library with cross-device output support
cairo能够做各种复杂的点线图案绘制、填充、文字渲染、图像变换、剪切、层混合等等操作。但是他没有涉及到用户交互如鼠标、touch、事件处理交互窗口这些统统没有他只有专一的绘图。他有surface可以理解为画布这个surface可以是基于内存image surface必选的surface也可以基于某种backend和操作系统或驱动接口对接使用过程是创建一个surface然后在surface里做各种绘图最后使用Painting类的functions时图像就显示在了surface上。当然surface也是一块image可以把image通过png源码有对接libpng库图像压缩输出png文件

harfbuzz

HarfBuzz 是一个文本整形引擎。它主要支持OpenType但也 支持Apple Advanced Typography。HarfBuzz 用于 Android、Chrome、ChromeOS、Firefox、GNOME、GTK+、KDE、LibreOffice、OpenJDK、PlayStation、Qt、XeTeX 等地方。

xfce 运行黑屏怎么办

比如黑屏,我们由屏幕想到可能是 xfdesktop 这个应用负责渲屏,黑屏可能是 xfdesktop 未能正确运行,这个就需要我们手工调试跟踪了,通常情况下我们会这么做:

# 设置屏幕,这个是 xfce 默认的值 10
export DISPLAY=:10
# 执行这个,正常执行理论上就不会黑屏,不能执行,可能是依赖库路径不对,版本不对,配置不对,逐步根据提示解决问题
xfdesktop

xfce4-session 每个客户建立一个屏幕,具体动作的执行在下面配置文件

/usr/local/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml 其实就是执行的 xfdesktop
startxfce4 ---> xinitrc ---> xfce4-session ---> xfdesktop