如何自动更改 KDE 帐户图片?

如何自动更改 KDE 帐户图片?

我编写了一个漂亮的小脚本,可以在重启时选择一张随机图像并将其复制到我的主文件夹中,并将其命名为 .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/[用户名]

Kubuntu 论坛:https://www.kubuntuforums.net/showthread.php?63585-当-your-is-locked-down-private 时如何获取 lightdm-to-display-user-icon

Ubuntu 论坛:http://ubuntuforums.org/showthread.php?t=1969332

询问Ubuntu:Gnome 3 中用户的个人资料图片存储在哪里?

将 /var/lib/AccountsService/icons/[用户名] 符号链接到 ~/.face.icon 时在此处工作

相关内容