inotifywait 未检测到 xfce4 配置文件中的行更改

inotifywait 未检测到 xfce4 配置文件中的行更改

我遇到的问题是,每次进入全屏模式时,VMWare Workstation 中的 Debian VM 都会将其分辨率更改为 1280x1392 像素。

现在,每次退出并进入全屏模式时,我都可以手动将分辨率更改为 2560x1440px,但更愿意将其自动化。

我首先尝试修改手动存储配置的 .config/xfce4/xfconf/xfce-perchannel-xml/displays.xml 文件,但它不会应用更改。如果我使用 xfconf-query 命令设置分辨率值,则这些更改都不会应用。

可以从命令行设置分辨率的东西是 xrandr

xrandr --output Virtual1 --mode 2560x1440

现在我考虑使用 inotifywait 设置一个脚本来监视 display.xml 中的更改。

但我的问题是它似乎无法识别文件中的更改......

我从命令行运行了以下命令(只是为了测试它是否注意到更改):

while inotifywait -m -e modify /home/myhomesir/.config/xfce4/xfconf/xfce-perchannel-xml/displays.xml; do whoami ;done

然后我运行md5sum display.xml以获取设置文件的当前 md5sum,退出并进入全屏并md5sum display.xml再次运行以确认文件已更改:

md5sum displays.xml
001c0796aba8c0e8b4ea28d59f2e5edc  displays.xml

md5sum displays.xml
322e7ea6ca9914caba6fa1365244b27a  displays.xml

检查 inotifywait 命令的输出,我没有得到任何输出:

while inotifywait -m -e delete /home/myhomedir/.config/xfce4/xfconf/xfce-perchannel-xml/; do whoami;done                                        
Setting up watches.
Watches established.

您知道为什么会发生这种情况并且没有意识到这些变化吗?根据我的观察,有两行发生了变化:

diff displays.xml_wrong displays.xml_correct                                                                                                                                                                                                                                                                            
9,10c9,10                                                                                                                                                                                                                                                                                                                   
<       <property name="Resolution" type="string" value="1280x1392"/>
<       <property name="RefreshRate" type="double" value="59.998367391363502"/> 
---
>       <property name="Resolution" type="string" value="2560x1440"/>
>       <property name="RefreshRate" type="double" value="59.950550105254798"/> 

期待任何帮助。如果您有任何其他建议,请告诉我。谢谢你!

答案1

我想我找到了解决方案,在监视创建和移动事件后,似乎xfce4首先创建一个新文件,displays.xml.new,然后将其移动到display.xml,而不是直接写入文件

相关内容