屏幕保护程序中显示的图像存储在哪里?

屏幕保护程序中显示的图像存储在哪里?

我对 Mac 不太熟悉,但我的一个朋友遇到了这个问题(她是一名 Mac 用户,但不是计算机用户),所以我想我可以尝试一下。

问题是她的屏幕保护程序轮换中出现了一些旧照片 - 她确实想保存/备份它们,但我们似乎无法在她的电脑上找到它们。

它们不在 iPhoto 中,并且搜索她盒子上的所有图像也找不到它们。

查看屏幕保护程序幻灯片的系统属性,您可以看到图片列表,但无法知道它们存储在哪里(至少我能找到)。单击并双击只会在一个小窗口中打开它,我无法用鼠标右键单击,我尝试了键盘上我能看到的所有符号单击 - 不喜欢。

谁能告诉我屏幕保护程序旋转中的图片存储在哪里,以及为什么它们可能不会显示在完整的计算机搜索所有图像中?

答案1

文件夹名称为系统偏好设置 » 桌面和屏幕保护程序 » 屏幕保护程序。如果这还不足以找到它,你有两个选择:

  1. 解码编码数据,指定文件夹在文件系统上的位置
  2. 在显示该文件夹中的图像时监视文件系统访问。

解码数据

~/Library/Preferences/ByHost/com.apple.screensaver.*.plist该位置以*UUID 形式存储在 中。

现在在终端中运行以下命令:

/usr/libexec/PlistBuddy -c 'Print moduleDict:fileRef' $( ls -t ~/Library/Preferences/ByHost/com.apple.screensaver.*.plist | grep -v slideshow | head -n1 ) | grep -oaE 'file://[^[:cntrl:]]+/'

这将首先获取名称中com.apple.screensaver.*.plist不包含的最新文件并读取其内容:属性列表文件的相关条目是。slideshowmoduleDict:fileRef

现在,返回值(大量二进制数据)被过滤为文件 URL。这将被打印出来。在我的系统上,它看起来像这样:

file:///Users/danielbeck/Pictures/

路径当然是/Users/danielbeck/Pictures

监视文件系统

打开系统偏好设置 » 桌面和屏幕保护程序 » 屏幕保护程序并选择您想要定位的文件夹来查看预览。

现在,保持此窗口打开,打开终端窗口并运行以下命令:

sudo opensnoop | grep -v '/.vol' | grep "System Pref"

输入密码,然后等待。它会打印加载图像文件的路径(当显示一个文件时,下一个文件已经加载)。列出的一些文件包括误报,但它们应该很容易识别:

501  77313 System Preferen  16 /Users/danielbeck/Pictures/Icons/fugue-icons-2.0/icon/contrast-small.png 
501  77313 System Preferen  16 /Users/danielbeck/Pictures/Icons/Crystal Clear/22x22/actions/ok.png 
501  77313 System Preferen  16 /System/Library/ColorSync/Profiles/sRGB Profile.icc 
501  77313 System Preferen  16 /Users/danielbeck/Pictures/Icons/GNU Lesser General Public License/nuvola/64x64/mimetypes/tgz.png 
501  77313 System Preferen  16 /Users/danielbeck/Pictures/Icons/crystal_project/32x32/devices/pipe.png 

使用这个来找到图片文件夹的路径。

答案2

由于不懂命令行,我使用了智能文件夹,这是一种用户友好的 GUI 方式,用于在 Mac 存储中搜索文件。由于其中包括我女儿婚礼的许多照片,我的两个搜索规则是“创建日期”婚礼前一天“之后”,“类型”是“图像”“JPEG”。这将我的搜索范围缩小到一个文件夹。此外,我将文件视图设置为图标,这样我就可以查看照片的缩略图,以便于验证。

使用智能文件夹非常简单。尝试一下:https://support.apple.com/en-kg/guide/mac-help/mchlp2804/mac

相关内容