我编写了一个漂亮的小脚本,可以在重启时选择一张随机图像并将其复制到我的主文件夹中,并将其命名为 .face。但是,我的桌面环境是 KDE,它似乎忽略了该文件。我尝试将图像复制两次,一次复制为 .face,另一次复制为 face.png,然后在 KDE 系统设置中指向 face.png,但这只在第一次有效,然后会忽略任何未来的更改。我怀疑 KDE 正在调整大小并将我在系统设置中指向的文件复制到其他位置,但我不知道在哪里。
答案1
在这儿
使用 Kubuntu 14.04.2 LTS 进行测试
编写一个快速而简单的 perl 脚本:
#!/usr/bin/perl
use strict;
use warnings;
# modules - package:perlmagick
use Image::Magick;
# Picture files
my @globPictures = glob "/full/path/to/image/directory/*";
# Random file
my $randomPicture = $globPictures[rand @globPictures];
# Icon
my $newIcon;
my $iconResolution = "64x64";
my $iconOut = "$ENV{ HOME }/.face.png";
$newIcon = Image::Magick->new;
$newIcon->Read($randomPicture);
$newIcon->Resize(geometry=>$iconResolution);
$newIcon = $newIcon->Montage(geometry=>$iconResolution, background=>'transparent');
$newIcon->Write($iconOut);
# rename the .face.png to .face.icon
rename $iconOut,"$ENV{ HOME }/.face.icon";
使脚本可执行。
从 konsole 测试脚本 -> 工作。~/.face.icon(格式为 png - 不是图标)在那里,并且 KDE 菜单和 KDE 系统设置 > 帐户详细信息有图像。
将脚本添加到启动和关机>添加脚本;关机时运行...
注销 - 登录 -> 工作
注销 - 登录 -> 工作
似乎在这里工作。
----事后想法----
使用“重新启动/关闭计算机”选项进行测试。
脚本未执行-较早的错误报告:https://bugs.launchpad.net/ubuntu/+source/kde-workspace/+bug/1241870
Harald Sitter (apachelogger) 于 2013-10-19 写道:#4
可能是 kde-workspace 和 lightdm 之间的通信已关闭,因此后者不会等待会话终止,而是在收到关闭指令(在运行脚本之前发送)时直接将其终止……
使用 KDM 进行测试 -将 KDM 设为默认显示管理器
使用“重新启动”选项进行测试- 脚本已执行。
- -编辑 - -
LightDM 用户图标:
/var/lib/AccountsService/icons/[用户名]
Ubuntu 论坛:http://ubuntuforums.org/showthread.php?t=1969332
询问Ubuntu:Gnome 3 中用户的个人资料图片存储在哪里?
将 /var/lib/AccountsService/icons/[用户名] 符号链接到 ~/.face.icon 时在此处工作