142、【OS】【Nuttx】【周边】效果呈现方案解析:strace 日志解析(八)

【声明】本博客所有内容均为个人业余时间创作,所述技术案例均来自公开开源项目(如Github,Apache基金会),不涉及任何企业机密或未公开技术,如有侵权请联系删除

背景

之前 blog
【OS】【Nuttx】【周边】效果呈现方案解析:strace 日志解析(一)
【OS】【Nuttx】【周边】效果呈现方案解析:strace 日志解析(二)
【OS】【Nuttx】【周边】效果呈现方案解析:strace 日志解析(三)
【OS】【Nuttx】【周边】效果呈现方案解析:strace 日志解析(四)
【OS】【Nuttx】【周边】效果呈现方案解析:strace 日志解析(五)
【OS】【Nuttx】【周边】效果呈现方案解析:strace 日志解析(六)
【OS】【Nuttx】【周边】效果呈现方案解析:strace 日志解析(七)
分析了下 strace 的追踪日志以及里面 open 命令和 openat 命令的区别,还有里面涉及的相关宏定义,以及 D-Bus 与 GNOME 的概念,并分析了 dbus-send 命令与 D-Bus 的关系,分析了日志中不是 GNOME 和 XFCE 的描述,xprop 命令的用法,也分析了根窗口和 _DT_SAVE_MODE 的概念,还分析了另一种检测方式 xprop -root,以及其执行失败的原因,下面继续来看下

strace 日志解析

下面看下一个执行命令
在这里插入图片描述
这里比较独特,只有一个单独的 grep 命令,终端输入

man grep

查看 grep 命令帮助文档,可以看到 -q 选项含义如下
在这里插入图片描述
从描述可以看出 -q 选项为静默模式,不输出匹配内容,只通过退出码表示是否找到,0 表示找到

后面跟着的正则匹配项 ^Enlightenment,之前 blog 【OS】【Nuttx】【周边】效果呈现方案解析:strace 日志解析(六) 提过,^ 表示匹配行首,$ 表示匹配行尾,相当于通过 grep 命令匹配找到 Enlightenment 开头的内容

这条命令不能单独分析,需要结合前面的内容,从上篇 blog
【OS】【Nuttx】【周边】效果呈现方案解析:strace 日志解析(七)
可以知道,前面在寻找根窗口中和 XFCE 相关的属性前,使用了 xprop -root 输出根窗口的所有属性
在这里插入图片描述
那么这里 grep -q ^Enlightenment 也是一样,是希望从前面 xprop -root 命令输出根窗口的所有属性中,找到和 Enlightenment 相关的属性

这里又涉及到 Enlightenment 概念,Enlightenment 也是一个轻量级的桌面环境,但其风格,目标和用户群体和 GNOME,XFCE 都不同

  • GNOME:外观现代简洁,资源占用较高,目标为普通用户和企业
  • XFCE:外观基本无特效,资源占用较低,适合老电脑用户
  • Enlightenment:视觉华丽,很多动画,透明,3D 效果,资源占用极低,目标用户为复古玩家,嵌入式设备

在这里插入图片描述
在 124 行这里返回了失败(毕竟前面执行 xprop -root 都失败了,这里 grep 找不到内容也正常)

ok,分析到这儿,相当于是 GNOME,XFCE,Enlightenment 三个桌面系统都没找到,继续往下

下面出现了 uname 命令,执行成功
在这里插入图片描述
终端输入

man uname

可以看到 uname 命令作用为打印系统信息
在这里插入图片描述
直接在终端输入 uname
在这里插入图片描述
可以看到 uname 默认输出当前系统的内核名称:Linux,这里执行程序应该是想确认当前运行在什么操作系统上,做兼容性判断,避免在其他 Unix 系统上出错

ok,今天先到这里,下篇 blog 继续

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值