smart-os/xfce4.md

57 lines
2.3 KiB
Markdown
Raw Normal View History

2022-08-16 23:03:46 +08:00
# xfce4 组件介绍
2022-08-18 08:06:44 +08:00
* [ Gtk+ ] 这些组件 gtk 最庞大
2022-08-17 09:17:41 +08:00
libffi
libmount
glib
pixman
freetype
harfbuzz
fontconfig
cairo
fribidi
pango
gdkpixbuf
libeproxy
graphene
wayland-protocols
gettext( libintl )
gtk+
2022-08-18 08:06:44 +08:00
* [ xfce ] 这些组件编译顺序也有要求
2022-08-17 09:17:41 +08:00
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
2022-08-16 23:28:49 +08:00
2022-08-16 23:21:04 +08:00
# Cairo
2022-08-16 23:25:03 +08:00
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文件
2022-08-16 23:28:33 +08:00
# harfbuzz
HarfBuzz 是一个文本整形引擎。它主要支持OpenType但也 支持Apple Advanced Typography。HarfBuzz 用于 Android、Chrome、ChromeOS、Firefox、GNOME、GTK+、KDE、LibreOffice、OpenJDK、PlayStation、Qt、XeTeX 等地方。
2022-08-17 09:17:41 +08:00
# xfce 运行黑屏怎么办
比如黑屏,我们由屏幕想到可能是 xfdesktop 这个应用负责渲屏,黑屏可能是 xfdesktop 未能正确运行,这个就需要我们手工调试跟踪了,通常情况下我们会这么做:
```shell
# 设置屏幕,这个是 xfce 默认的值 10
export DISPLAY=:10
# 执行这个,正常执行理论上就不会黑屏,不能执行,可能是依赖库路径不对,版本不对,配置不对,逐步根据提示解决问题
xfdesktop
```
2022-08-17 22:26:53 +08:00
# xfce4-session 每个客户建立一个屏幕,具体动作的执行在下面配置文件
2022-08-18 06:27:48 +08:00
/usr/local/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml 其实就是执行的 xfdesktop
2022-08-18 06:27:14 +08:00
startxfce4 ---> xinitrc ---> xfce4-session ---> xfdesktop