禁止用户干预,直到输入密码(而不是注销)

禁止用户干预,直到输入密码(而不是注销)

我正在寻找一个选项来关闭用户输入(也就是说启用只读模式),在屏幕上保留相同的图片而不从系统中注销,但需要输入密码才能继续做某事。

例如,我想打开一部电影,然后锁定系统以防止任何操作。这样,如果我需要离开房间,我的朋友就无法用我的笔记本电脑做任何事情,只能看电影到结尾。

答案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 找不到全屏窗口的名称。

以访客用户身份登录

当您让不信任的朋友使用您的计算机时,最后一个选择是使用访客或单独的用户帐户。

只是想锁定屏幕?

屏幕右上角的电源菜单。打开它并单击打开的窗口底部中间的锁。

锁定屏幕

相关内容