解决思路:将分辩率改成其他,然后再改回来
方法一:手动去更改分辩率
略
方法二:使用脚本自动更改
需要的资料:
displayplacer
https://github.com/jakehilborn/displayplacer/releases
1. 编写一个脚本:
disflick.sh
=========================================
currDp=$(displayplacer list | grep displayplacer 2>&1)
#echo $currDp
tmp1=${currDp#*res:}
#echo $tmp1
currRes=${tmp1%% hz:*}
#echo $currRes
if [ "$currRes" = "2560x1440" ]; then
#echo "OK!"
tmpDp=${currDp/2560x1440/1920x1080}
#echo $tmpDp
echo ${tmpDp} | awk '{run=$0;system(run)}' #Run Command, change resolution to 1920x1080
echo ${currDp} | awk '{run=$0;system(run)}' #Run Command, change resolution to 2560x1440
else
echo "none"
fi
=========================================
2. 设置可运行权限
chmod a+x disflick.sh
3. 制作diskflick.sh的替身(其他系统叫:软链接或快捷方式)
在Finder中右击disflick.sh文件,选择“制作替身”
4. 将替身拖到桌面或Docker中
5. 设置终端中运行完脚本后自动关闭
打开一个“终端”
选中打开的“终端”窗口
点击左上角“终端”--“偏好设置”
点击“描述文件”--“Shell”
“当shell退出时”选项选择:“关闭窗口”
关闭“设置”窗口
保持“终端”窗口选中,点击“Shell”--"将设置用作默认设置"
6. 设置disflick.sh双击可执行
右击diskflick.sh文件,选择“打开方式”--“其他”
“启用:推荐的应用程序”选项选择“所有应用程序”
选择“应用程序”--“实用工具”--“终端” ,勾选“始终以此方式打开”,打开
通过以上设置,可通过双击解决闪屏并保持原分辩率不变,较为方便,接下去研究一下通过sleepwatcher实现唤醒后自动执行脚本。
参考资料:
1. https://github.com/osy86/HaC-Mini/issues/7
2. 如何将shell的变量当命令执行:https://blog.csdn.net/weixin_33922670/article/details/89803127
3. 使用sleepwatcher在Mac唤醒时自启程序:https://my.oschina.net/lvyi/blog/1547856?utm_source=debugrun&utm_medium=referral
4. Bash脚本教程:https://wangdoc.com/bash/index.html
5. shell如何将命令的执行结果重定向到变量:https://blog.csdn.net/microchenhong/article/details/91399031