我正在寻找一个选项来关闭用户输入(也就是说启用只读模式),在屏幕上保留相同的图片而不从系统中注销,但需要输入密码才能继续做某事。
例如,我想打开一部电影,然后锁定系统以防止任何操作。这样,如果我需要离开房间,我的朋友就无法用我的笔记本电脑做任何事情,只能看电影到结尾。
答案1
程序关闭时强制注销
您可以使用以下命令运行视频播放器:
smplayer && gnome-screensaver-command -l
然后如果播放器关闭,它会将您注销。&& 表示“在前一个函数完成后执行下一个函数”。
但是,如果播放器窗口只是未聚焦且未关闭,则注销命令不会运行。不过,可以通过编写一些脚本来修复此问题,以告知视频播放器在未聚焦时退出。
当视频播放器失去焦点时关闭它
根据这篇文章:如何在窗口聚焦/非聚焦时执行命令?您可以编写一个脚本,当视频播放器失去焦点时,该脚本将终止您的应用程序和/或注销。
因此,如果您运行 smplayer,然后从命令行运行以下脚本,则当 SMPlayer 失去焦点时,该脚本将会注销。
首先安装所需的实用程序:
sudo apt install xdotool wmctrl gnome-screensaver
然后将其放在某个文件中,在这个例子中,我们将其称为“be_nice”:
nano be_nice
粘贴并保存:
#!/bin/bash
wmctrl -a SMPlayer
while [ true ]
do
FocusApp=`xdotool getwindowfocus getwindowname`
if [[ "$FocusApp" != *"SMPlayer"* ]]; then
killall smplayer
gnome-screensaver-command -l & break
fi
done
使其可执行:
chmod 755 be_nice
现在在 SMPlayer 中打开一个视频,然后从命令行运行 be_nice:
./be_nice
这将使 SMPlayer 成为焦点,如果它失去焦点,将锁定屏幕。唯一的问题是“全屏”模式不起作用,因为 xdotool 找不到全屏窗口的名称。
以访客用户身份登录
当您让不信任的朋友使用您的计算机时,最后一个选择是使用访客或单独的用户帐户。
只是想锁定屏幕?
屏幕右上角的电源菜单。打开它并单击打开的窗口底部中间的锁。