mirror of
https://github.com/superconvert/smart-os.git
synced 2024-11-22 18:20:30 +08:00
57 lines
2.3 KiB
Markdown
57 lines
2.3 KiB
Markdown
# 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 未能正确运行,这个就需要我们手工调试跟踪了,通常情况下我们会这么做:
|
||
```shell
|
||
# 设置屏幕,这个是 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
|