我试图限制我的孩子在家用电脑(Debian 11 Bullseye)上玩 Minecraft 的时间。这是一台家庭电脑,每个人都会偶尔使用,因此我们始终使用单个用户帐户登录。
为了缓解这个问题,我编写了一个小的 bash 脚本来检查当前时间,如果超出范围,则会显示一个消息框而不是启动游戏。但现在我很困惑如何交换 KDE 中为图标配置的命令。当我更改 Exec 时,/usr/share/applications/minecraft-launcher.desktop
它似乎没有任何效果,游戏在没有脚本的情况下执行。如何编辑配置?
编辑我的脚本如下所示:
#!/bin/bash
logger "Starting Minecraft"
currenttime=$(date +%H:%M)
if [[ "$currenttime" > "21:00" ]] || [[ "$currenttime" < "12:30" ]]; then
logger 'Attempting to start Minecraft ouside of allowed hours'
notify-send 'Minecraft' 'Minecraft is disabled at this time. System administrator has been notified.'
else
minecraft-launcher
fi
我设法通过将“bash /usr/bin/minecraft-starter”作为命令使其在桌面图标内工作。然而,它仍然无法与 KDE 主菜单中的启动器一起使用。无论我做什么,系统都会执行原始启动器。
答案1
预期的解决方案 - 找到桌面上、菜单中的所有启动器,或者孩子将其复制到某个文件夹中,远离父母的视线? :) 并将启动器的命令更改为您的脚本。
另一种解决方案是,转到实际启动二进制文件所在的位置,并将其重命名为某个名称(例如mv minecraft craftmine
)。拿你的脚本,相应地改变游戏的启动二进制文件。将您的脚本放入游戏的旧位置。
该解决方案将允许您保持桌面/菜单启动器不变,甚至minecraft
在终端中运行也会转到您的脚本。
无非三个问题:
- 每次更新游戏时,您的脚本都会被覆盖,并且您必须重复替换。每次更新。
- 游戏启动二进制文件(虽然不确定
minecraft
)可以在启动时检查其名称和/或将其用于某些用途 - 因此在重命名二进制文件后,请确保它仍然有效。 - 孩子可以解决这个谜题并开始
craftmine
绕过你的脚本:)