XScreenSaver常见问题解答


这些常见问题解答涉及XScreenSaver的X11(Linux,BSD等)版本。

这些常见问题解答不适用于macOS版本。关于macOS版本没有任何常见问题解答,因为,与Linux不同,macOS 正常工作。 伤心但真实。

另请阅读手册。我认为这是一本非常好的手册。它很长,但它的细分非常合理。本文档回答了手册中人们常常提出的问题,以及一些随机的其他问题,这些问题似乎并不适合手册本身。


  1. 它一直要求我升级,但我的发行版没有更新的版本。
  2. 如何让xscreensaver显示图像的幻灯片?
  3. 如何让xscreensaver播放视频片段?
  4. 随机文本来自哪里?
  5. 当屏幕空白/不显时时,如何运行特定程序?
  6. 当我以root身份登录时,xscreensaver将不会锁定我的屏幕!
  7. 当我以root用户身份登录时,xscreensaver根本无法启动!
  8. 好的,我没有以root身份登录; 但是如何使用希望我成为root用户的系统管理GUI?
  9. 为什么xscreensaver可执行setuid为root?这吓到我了,这很危险吗?
  10. 你撞坏了我的X服务器!你这个混蛋!
  11. 当我不闲着时,屏幕保护程序会激活!它没有注意到我的鼠标点击或鼠标滚轮。
  12. 屏幕永远不会空白,或者空白,然后立即变黑。
  13. 屏幕空白,但有时(但不总是)我的显示器不会进入省电模式。
  14. 当我的显示器被锁定时,程序有时会在屏幕保护程序上弹出对话框,我希望它们没有。
  15. 其中一些图形演示很糟糕。如何编辑我不喜欢的?
  16. 我从.xscreensaver文件中删除了我不喜欢的黑客攻击,但是它们又重新出现了!
  17. 我可以通过将鼠标移动到屏幕的特定角落来激活或禁用屏幕保护程序吗?
  18. 使用其他屏幕保护程序时,屏幕保护程序运行时可以键入一个特殊键,这将更改正在运行的图形演示,而不是关闭屏幕保护程序。为什么xscreensaver也不这样做?
  19. 如何在密码对话框上放置“注销”按钮,供实验室使用?
  20. 在屏幕锁定时,xscreensaver是否应该禁用Ctrl-Alt-Backspace?
  21. 如何使用RFID或NFC或指纹识别器或视网膜扫描仪或其他东西解锁我的屏幕?
  22. 现在正在运行的演示很酷,我怎么知道它是哪一个?
  23. 当xscreensaver启动时,我的机器变慢了。有没有办法告诉它不运行图形演示?
  24. 当我在电脑上观看电影时,如何防止屏幕保护程序消隐屏幕?
  25. 手册说当我的显示器进入省电模式时,xscreensaver将停止运行图形演示,但事实并非如此。为什么?
  26. 我打开笔记本电脑盖,屏幕没有锁定!
  27. 解锁对话框很有趣,为什么不使用GTK?
  28. 我正在运行GNOME,一切都坏了!怎么了?
  29. 我正在运行KDE,一切都坏了!怎么了?
  30. 一些迂腐的混蛋告诉我屏幕保护程序不再是“必要的”了吗?
  31. 我只是在学习X,我想写一个屏幕保护程序。我应该从哪里开始?

  1. 它一直要求我升级,但我的发行版没有更新的版本。

    唉,这个shitshow正在进行中。你可以 在我的博客上阅读它 。

    如果您使用的是Debian,请从他们所谓的“不稳定”软件包中安装较新版本 。向下滚动,找到您的体系结构的.deb包,然后安装它。

    Debian维护人员认为将软件打包并重新分发给已经存在多年的用户是合理的,而不会让他们以任何简单的方式升级到最新版本。这很糟糕,他们应该心疼。你应该使用发行版,让你可以选择让你的软件保持最新,并且理解“稳定”和“古老”并不是一回事。

    如果您使用的是基于Red Hat / Centos的过时系统,您可以在 rpmfind.net上找到最新的XScreenSaver可执行文件 。

    如果这不起作用,则必须从源代码构建 。

  2. 如何让xscreensaver显示图像的幻灯片?

    您可以使用可以在根窗口上显示图像列表的程序来执行此操作。一个这样的程序,glslideshow包含在xscreensaver中。它显示一系列图像,缓慢平移和缩放图像,并从一个图像平滑地淡入下一个图像。只需在xscreensaver控制面板中选择“GLSlideshow” ,然后在“高级”选项卡上输入图像所在的目录(或RSS URL)。

    如果你想运行一个幻灯片,然后在“只有一个屏幕保护程序”模式中选择GLSlideshow。否则,幻灯片显示它只是xscreensaver将随机选择的显示模式之一,并运行“循环”首选项中指定的时间长度。

    如果您的显卡非常老,您可能会发现glslideshow运行速度不够快。这不太可能:本世纪制造的任何显卡应该足够快。但是,如果你尝试它并且它很慢,那么你将需要运行一个不同的程序。在没有图形加速的非常老的机器上显示幻灯片的两个好选择是 chbg和 xv。要使用它们,您需要在.xscreensaver文件中的`programs'首选项中添加一行:

      GLSlideshow:   只需从列表中选择它; 并在“高级”选项卡上指定您的图像目录。
     
    chbg:
    default-n:chbg -xscreensaver -randomize \- 间隔0.30-R $ HOME / images / \ n \
    xv:
    default-n:xv -root -rmode 5 -random \-viewonly -wloop -wait 30 \$ HOME / images / *。jpg \ n \
  3. 如何让xscreensaver播放视频片段?

    播放MP4,MKV,MOV,FLV和AVI视频:

    安装mpv并在.xscreensaver文件中的`programs'首选项中添加如下内容 :

    “电影”mpv --really-quiet --no-audio --fs --loop = inf \--no-stop-screensaver --shuffle \--wid = $ XSCREENSAVER_WINDOW \$ HOME / movies / poop.mp4                     \ n \

    播放SWF Flash动画:

    Macromedia的 独立Flash播放器支持xscreensaver,从6.0.79及更高版本开始。要使用它,请在.xscreensaver文件的`programs'首选项中添加这样的行:

    “我的Flash”gflashplayer -root $ HOME / movies / my_flash.swf \ n \

    要发挥其他作用:

  4. 随机文本来自哪里?

    请参阅xscreensaver控制面板上的“高级”选项卡 。

  5. 当屏幕空白/不显时时,如何运行特定程序?

    你可以使用xscreensaver-command -watch来做到这一点。有关示例,请参阅xscreensaver-command手册。

  6. 当我以root身份登录时,xscreensaver将不会锁定我的屏幕!

    不要以root用户身份登录。

    请注意, 当您以root用户身份登录时,xscreensaver可以正常用作屏幕保护程序:但是, 当您以root用户身份登录时,它不会锁定您的屏幕。这是出于良好和不可逾越的安全原因。

    为了安全地让xscreensaver由xdm启动 ,必须采取一些预防措施,其中xscreensaver永远不会以root身份运行。特别是,如果以root身份启动(xdm可能会这样做),xscreensaver将拒绝其权限,并将自身切换为安全用户ID(例如“ nobody ”)。

    这意味着如果您在控制台上以root用户身份登录,xscreensaver将拒绝锁定屏幕(因为它无法区分控制台上登录的root用户和登录到用户的普通用户之间的区别。控制台,但xscreensaver已由xdm“ Xsetup ”文件启动。)

    解决方案很简单:您不应该首先以root身份登录控制台!(什么,你疯了吗?)

    适当的Unix卫生要求您应该自己登录,并 根据需要su到root。那些以root身份登录的人只是在乞求灾难。

  7. 当我以root用户身份登录时,xscreensaver根本无法启动!

    不要以root用户身份登录。

    如所描述的以上,的xscreensaver disavows其权限,如果它发现它正在运行作为根,出于安全原因。这种不幸的副作用是它可能与基于cookie的身份验证冲突。

    如果X服务器作为一个用户运行(例如,“root”)并且xscreensaver作为另一个用户运行(例如,“nobody”),则可能不允许xscreensaver进程连接到X显示器,因为它不是不以同一个用户身份运行。

    解决此问题的一种方法是 在启动xscreensaver之前运行命令 xhost + localhost

    但要小心!这将为能够登录本地计算机的任何人提供对X服务器的访问,并且在某些环境中,这可能被视为不可接受的安全风险。

    这在xscreensaver手册的“ 使用GDM ”部分中有更详细的讨论。

  8. 好的,我没有以root身份登录; 但是如何使用希望我成为root用户的系统管理GUI?

    如果你以普通用户身份登录,并且你“su”到root运行一些面向系统管理员的X程序,你可能会发现自己正在盯着一条错误消息

    su
    %密码:
    # rooty-program
    Xlib:服务器拒绝连接到“:0.0”
    Xlib:无效的MIT-MAGIC-COOKIE-1键
    

    有两种方法可以解决这个问题。第一种是允许在本地计算机上运行的任何程序访问您的X服务器:

    xhost + localhost
    localhost被添加到访问控制列表中
    %su
    %密码:
    # rooty-program
    ...好!
    # exitxhost -localhost
    从访问控制列表中删除localhost
    

    如果您不信任在本地计算机上拥有帐户的其他人,这不是一个好主意,因为他们将能够窥探您的显示器。但是,您可以使它只有root可以访问您的X显示。这稍微复杂一点,但更安全:

    su
    %密码:
    #XAUTH -f /家庭/ 用户 /.Xauthority nextract - $ DISPLAY | xauth nmerge  -rooty-program
    ...好!
    #退出
    

    上述负责提取的X访问的cookie 文件.Xauthority在你的主目录文件,并将其写入到文件.Xauthority中根的主目录,从而有可能为根访问您的显示器。

    (请注意,这不是使xscreensaver能够以root身份锁定屏幕的解决方案。停止以root用户身份登录,您将不再关心它。)

  9. 为什么xscreensaver可执行setuid为root?这吓到我了,这很危险吗?

    也许它不需要在您的系统上。试试看吧。

    在许多系统上,只有“root”才能访问密码数据库。为了充当屏幕锁定器,xscreensaver需要能够告诉您何时键入了正确的密码。这意味着在这些系统上,xscreensaver需要在启动时以root用户身份运行。启动后,在连接到X服务器之前,xscreensaver立即拒绝其root权限,从那时起,以非特权用户身份运行。实际以root身份运行的代码量非常小,并且已经过仔细检查。

    如果您的系统不使用影子密码,或者您的系统使用PAM(并且 PAM安装正确!),那么xscreensaver即使不是setuid也能正常工作。如果您担心,请尝试关闭setuid位,重新启动它,看看是否仍然可以解锁屏幕。如果是这样,很好。

  10. 你撞坏了我的X服务器!你这个混蛋!

    对不起。但事实是,根据定义,X服务器崩溃是X服务器中的一个错误。

    规则是客户端程序在X服务器上抛出的任何东西都不应该使它崩溃。当X客户端出错时,服务器应该返回错误,导致客户端退出。如果服务器本身出现故障,那就是服务器中的错误。客户端可能还有一个错误 -但可能不是。

    这也适用于DRI,GL以及您可能正在使用的任何特定于供应商或硬件的库。如果xscreensaver中的某些内容导致您的显示器冻结,或者让您退出,或者您的显示器爆炸,我几乎可以保证您的错误在X服务器或视频驱动程序中,而不是在xscreensaver中。

    尝试升级您的X服务器和视频驱动程序。如果这没有帮助,您可以尝试依次运行每个显示模式,直到找出哪个触发X服务器错误。它最有可能是GL(3D)屏保之一,因为它们实际上是利用您的视频硬件。当你弄清楚哪一个导致崩溃时,你现在有了一个可重现的测试用例!恭喜。请向您的X服务器和/或视频驱动程序的供应商报告,以便他们可以解决问题。

    关闭X服务器中的加速可能也会使问题消失,但这也会使您的机器速度降低很多。

    如果这仍然没有带给你快乐,那么我建议切换到macOS。我做到了。

    XScreenSaver的macOS版本 工作得很好,顺便说一下,从来没有,我的机器崩溃了。

  11. 当我不闲着时,屏幕保护程序会激活!它没有注意到我的鼠标点击或鼠标滚轮。

    在大多数X11系统上,不幸的是这种情况,并且没有办法绕过它。XScreenSaver会注意到所有键盘活动; 每隔几秒钟,它会检查鼠标的位置。如果没有按键或鼠标移动,则假定您处于空闲状态。它无法检测鼠标点击,也无法检测滚轮。

    这是因为,没有任何理由,X Window系统不允许程序在鼠标点击时“窥探”(虽然允许窥探击键和鼠标位置!)

  12. 屏幕永远不会空白,或者空白,然后立即变黑。

    第一种可能是你的鼠标受到撞击。猫,卡车,车门和地震可能是罪魁祸首。

    下一个可能是你的系统上的一些其他程序明确指示xscreensaver停用,可能通过使用邪恶的方法来模拟“假的”用户活动。您可以通过使用-verbose运行xscreensaver来判断是否发生这种情况 (请参阅“报告错误”页面)并查看它是否报告“用户处于活动状态”或收到“停用”事件。

    电影播放器​​可能是这种事情的罪魁祸首。

    从2016年初开始,我开始收到报告称,一个名为xfce4-power-manager的程序偶尔会失去理智并决定你的屏幕永远不会空白非常重要,并且通过模拟虚假的KeyPress事件来实现这一点。我不知道为什么。你最好的选择是杀死和/或卸载该程序。

  13. 屏幕空白,但有时(但不总是)我的显示器不会进入省电模式。

    简短的回答:你的鼠标被撞了。猫,卡车,车门和地震可能是罪魁祸首。

    稍微长一点的答案:XScreenSaver负责消隐和锁定屏幕并绘制漂亮的图片。但是,X服务器本身负责关闭显示器电源。XScreenSaver非常智能,可以忽略微小的鼠标移动:如果你的鼠标只移动几个像素,XScreenSaver会忽略它:它只在鼠标移动很大时才会取消屏幕空白。但是,X服务器不会这样做:即使是单个运动像素也会导致它重新启动显示器(或者防止显示器首先关机)。

    解决此问题的唯一方法是修改X服务器以执行XScreenSaver所做的操作,并忽略用于电源管理空闲检测目的的小鼠标移动。

  14. 当我的显示器被锁定时,程序有时会在屏幕保护程序上弹出对话框,我希望它们没有。

    一些窗口管理器允许程序在xscreensaver上方弹出窗口,有些则不允许。

    每隔几分钟,xscreensaver会将自己提升到任何其他弹出的窗口之上,但它无法阻止其他程序首先弹出他们的窗口。所以他们会出现一段时间,然后被隐藏。

    如果发生这种情况并且困扰您,切换到其他窗口管理器可能会解决它。

    您可能会认为这是窗口管理器中的一个错误(虽然有些人认为它是一个功能。)如果您认为这是一个错误,那么重复给窗口管理器作者的神奇咒语如下:“您应该映射窗口XRestackWindows而不是XRaiseWindow,以确保托管窗口始终显示在覆盖重定向窗口下方。“

    弹出窗口的应用程序也可能使用自己的覆盖重定向窗口来执行此操作。(这是GTK_WINDOW_POPUP样式对话框的当前情况。)在这种情况下,xscreensaver或窗口管理器都不可能阻止这些窗口弹出,因为根据定义,覆盖重定向窗口绕过窗口管理器。因此,没有办法解决这个问题:A)改变那些应用程序以改为使用普通窗口,或者B)创建一个新的X11扩展。

    特别是,Metacity不能阻止这些对话框比xscreensaver更多。(GNOME bug 154529。)

  15. 其中一些图形演示很糟糕。如何编辑我不喜欢的?

    运行xscreensaver-demo程序。左侧是所有演示的列表。每个旁边都有一个复选框。取消检查你不喜欢的。只有被检查的那些将由xscreensaver守护程序自动运行(尽管您仍然可以通过在xscreensaver-demo窗口中双击它们来显式运行其他守护程序。)

    运行xscreensaver-demo一次后,您的主目录中将有一个 .xscreensaver文件。您也可以直接编辑该文件:通过在行的开头添加减号(-)来禁用您不喜欢的文件。xscreensaver守护程序将注意文件何时更改并自动重新加载。

  16. 我从.xscreensaver文件中删除了我不喜欢的黑客攻击,但是它们又重新出现了!

    而不是从文件中删除它们,通过在行的开头加一个减号(-)来注释它们。或者,只需使用xscreensaver-demo程序取消选择您不喜欢的程序即可。

    您的.xscreensaver文件需要包含所有可用屏幕保护程序的完整列表,以便xscreensaver可以告知何时添加了新的屏幕保护程序,因为已安装了较新版本的xscreensaver。

  17. 我可以通过将鼠标移动到屏幕的特定角落来激活或禁用屏幕保护程序吗?

    如果您需要,可以使用名为Brightside的程序 ,让您可以为屏幕角分配可配置的操作,包括屏幕保护程序操作。

    这种行为不是内置于xscreensaver的原因是我发现它不明显,不可发现,反直觉。我相信像现有的Gnome“锁屏”面板图标这样的界面更加明智。

  18. 使用其他屏幕保护程序时,屏幕保护程序运行时可以键入一个特殊键,这将更改正在运行的图形演示,而不是关闭屏幕保护程序。为什么xscreensaver也不这样做?

    虽然这不是一个坏主意,但这很难实现,因为它可以在所有系统上运行。在某些系统上,xscreensaver通过直接监视键盘和鼠标活动来决定何时激活/停用。但在某些系统上,使用了更有效的方法:相反,X服务器向xscreensaver发送消息,告诉它何时激活和停用。

    所以在后一种情况下,xscreensaver只知道它已被告知停用:它无法知道按下了哪个键。

  19. 如何在密码对话框上放置“注销”按钮,供实验室使用?

    如果您的系统上安装了gdmflexiserver,则xscreensaver的解锁对话框中应该有一个“新登录”按钮。如果没有出现或无法正常工作,请检查XScreenSaver.ad app-defaults文件中“newLoginCommand”首选项的设置。

  20. 在屏幕锁定时,xscreensaver是否应该禁用Ctrl-Alt-Backspace?

    是的,它应该。不幸的是,对于当前版本的XFree86或XOrg来说,这是不可能的。就像X11和Linux内核的开发人员想要尽可能地让你锁定你的屏幕一样。

    后门#1:Ctrl-Alt-Backspace

    这个击键会杀死X服务器,在某些系统上会让你离开文本控制台。如果用户手动启动X11,该文本控制台仍将登录。要全局和永久禁用此键击,您需要在xorg.conf或 XF86Config或XF86Config-4文件中设置 DontZap标志(无论使用哪个名称)你的系统)。有关更多详细信息,请参阅XF86Config(或变体)的手册 。

    后门#2:Ctrl-Alt-F1Ctrl-Alt-F2

    这些击键将切换到不同的虚拟控制台,同时使X11正在运行的控制台处于锁定状态。如果您将shell登录到另一个虚拟控制台,则不受保护。所以不要让自己登录其他控制台。您可以通过在xorg.conf中设置DontVTSwitch来全局和永久禁用VT切换 ,但这可能会使您的系统更难使用。

    后门#3:Alt-SysRq-F

    这是Linux内核“OOM-killer”按键。它击落了它选择的随机长时间运行的程序,因此可能会瞄准并杀死xscreensaver,并且xscreensaver无法保护自己。您可以 使用以下命令全局禁用它:sudo'echo 176> / proc / sys / kernel / sysrq'

    (截至5.41版本,如果的xscreensaver是setuid的,你运行的是Linux 2.6.37或更新版本,的xscreensaver 试图请求 内核的内存不足刺客不是随机解锁屏幕上你,但它只是一个请求。)

    后门#4:Ctrl-Alt-KP_Multiply

    这个击键会杀死任何持有锁的X11应用程序,因此输入此内容会杀死xscreensaver并解锁屏幕。这个“功能”出现在2008年的X服务器中,截至2011年,一些供应商默认开启它。多好。您可以通过关闭禁用AllowClosedownGrabs在 xorg.conf中。

    只要内核和X11开发人员积极致力于安全性,我几乎无法使屏幕锁定器安全。只要房子里的其他人坚持要在欢迎垫下放一把钥匙,前门锁的强度就没那么重要了。

    在一个理想的世界中,会有一个名为XGrabMagicKeys()的 X11请求,它会与 XGrabKeyboard()一起禁用所有这些神奇的击键,直到抓取被释放或程序退出。它应该是X11调用,而不是ioctl(),尤其 不是root用户的 ioctl()。不用说,不存在这样的界面。

  21. 如何使用RFID或NFC或指纹识别器或视网膜扫描仪或其他东西解锁我的屏幕?

    您可以通过安装适当的PAM模块来完成这些工作。XScreenSaver根本不需要修改,因为它只是要求PAM堆栈进行身份验证。这样做也意味着控制台登录提示也可以以相同的方式进行身份验证,而不仅仅是xscreensaver。查看 PAM NFC 或类似项目。

  22. 现在正在运行的演示很酷,我怎么知道它是哪一个?

    运行xscreensaver-demo程序:当窗口出现时,默认情况下将突出显示显示模式列表中的一个元素。这是最近运行的那个。

    人们经常建议我在密码对话框中输入当前hack的名称。我不打算这样做,因为这将是一个(非安全相关的)功能,只有在打开锁定时才可用,并且大多数人都不会锁定他们的屏幕。只需启动xscreensaver-demo即可查看它是哪一个。

  23. 当xscreensaver启动时,我的机器变慢了。有没有办法告诉它不运行图形演示?

    您仍然可以空白和/或锁定屏幕,同时通过运行xscreensaver-demo并从“模式”选项菜单中选择“仅空白屏幕”来拒绝图形屏幕保护程序的乐趣 。

    但这真的有必要吗?让我们解决真正的问题:当xscreensaver消隐屏幕时,它以低优先级运行其图形演示,因此它们不应该从其他进程中窃取周期-它们应该仅在没有其他进程想要运行时运行。即使屏幕保护程序运行平稳而没有任何延迟(默认情况下也没有),这应该会导致空闲机器上的负载平均值略高于1.0。(实际上,大多数储蓄者每秒只运行一小部分,所以在闲置机器上的负载应该比这更低。)

    当没有3D硬件的机器上运行时,OpenGL(3D)演示就是例外 - 以及您遇到的可能原因。如果您的计算机上没有硬件加速的GL支持,那么GL演示将是严重的猪。(由于一些不太好的原因,以低优先级运行它们没有帮助。)

    因此,在这种情况下,不那么激烈的修复是不运行GL演示:取消检查任何3D黑客攻击,你仍然可以运行非资源攻击图形演示。

    然而,建议的解决方法是你翻转沙发上的垫子,收集你找到的备用更改,一旦你拿出10美元,就把它花在1998年之后生产的视频卡上。然后你会有一个具有3D加速功能的显卡,一切都会更好,更好。

    它甚至不需要快速的 3D硬件:如果有任何3D硬件事情将会得到显着改善 说真的,这对于二十一世纪制造的任何显卡都不应该是一个问题。因此,如果你有一张现代卡并且OpenGL程序速度不快,那么你就会遇到驱动程序问题:卡的3D硬件根本就没有被使用,所有的3D渲染都发生在软件中。

    修复它。

  24. 当我在电脑上观看电影时,如何防止屏幕保护程序消隐屏幕?

    如果您使用的是mpv或 mplayer,请将其放在〜/ .mplayer / config文件中:

    如果您使用的是VLC,请在VLC首选项中的某处选择“禁用屏幕保护程序”。(它往往会移动。)这可能会在VLC 运行时禁用屏幕保护程序,而不仅仅是在 播放时。我不确定。

    如果你正在使用别的东西:

    如果您正在尝试使用XFCE的“演示模式”......请不要。它打破了一切。请改用XScreenSaver的“禁用屏幕保护程序”模式。

  25. 手册说当我的显示器进入省电模式时,xscreensaver将停止运行图形演示,但事实并非如此。为什么?

    xscreensaver可以告诉显示器处于省电模式的唯一方法是询问X服务器。有一个服务器扩展专门用于询问这些问题,称为“XDPMS”,xscreensaver使用它。

    因此,您的X服务器可能不支持XDPMS扩展(您可以通过运行“ xdpyinfo ” 来判断)。或者,可能是支持扩展,但X服务器实际上并不知道如何与硬件通信以询问它是否已打开或关闭。后者尤其适用于笔记本电脑:许多笔记本电脑具有内置于非常低水平的监视器节能行为,而Unix和X是不可见的。在这样的系统上,您通常只能通过更改设置来调整节电延迟。 BIOS采用某些特定于硬件的方式。

    如果“首选项”面板中的“电源管理”设置显示为灰色,则表示:xscreensaver在没有DPMS支持的情况下编译; 或者xscreensaver认为您的系统不支持电源管理。

  26. 我打开笔记本电脑盖,屏幕没有锁定!

    如果您正在运行XScreenSaver 5.43或更高版本,以及systemd 221或更高版本,并且如果使用systemd支持正确编译了XScreenSaver,那么这不应该发生!

    如果您没有运行这些版本,那么简短的回答是“在关闭盖子之前锁定屏幕”。

    更长的答案是发生的事情是这样的:

    1. 您的屏幕未锁定。
    2. 你关上盖子。
    3. CPU停止。
    4. 时间过去了。
    5. 你打开盖子。
    6. CPU再次开始运行。
    7. X服务器重新绘制先前的屏幕内容。
    8. 哦,嘿,屏幕仍未锁定,因为机器就像以前一样,除了现在磁盘正在颠簸,因为一切都试图立即运行。
    9. 最终,再次安排XScreenSaver进程,并注意到挂钟已经跳了几个小时。
    10. 然后XScreenSaver说“哦,狗屎!” 并锁定屏幕。

    您遇到的是步骤7和步骤10之间的差距。

    XScreenSaver的systemd集成通过安排在步骤2和3之间运行“ xscreensaver-command -suspend”来解决这个问题。

    如果你没有运行现代systemd,可能还有其他方法可以实现这一点,但我不知道。如果你搞清楚了,请告诉我!

  27. 解锁对话框很有趣,为什么不使用GTK?

    简短的回答是出于安全原因。解锁对话框是使用原始Xlib实现的,因为使用GUI工具包实现它并且仍然保持xscreensaver非常困难。可以在On Toolkits页面上找到更多技术细节 。

    该对话框的外观是有些定制。XScreenSaver.ad app-defaults文件中有几个不同方案的示例。

  28. 我正在运行GNOME,一切都坏了!怎么了?

    可能你根本没有运行xscreensaver,但是正在运行“gnome-screensaver”。你应该停下来。

    XScreenSaver安全,稳定,成熟; 而gnome-screensaver是错误的,不可靠的,以及持续的安全灾难(出于On Toolkits页面中列出的所有原因)。

    Gnome-screensaver是在2005年创建的,他们认为从头开始重写所有xscreensaver是一个更好的主意,而不是为xscreensaver本身所需的更改发送补丁。

    然后在2013年,Ubuntu的团结重新写的屏幕保护程序从头引擎再次,引入大量的安全漏洞,如果他们不是太难过了,会是热闹。

    在GNOME下使用屏幕保护程序的唯一合理(和安全)方法是关闭gnome-screensaver,然后使用xscreensaver。如何解决这个问题在xscreensaver手册的“ 使用GNOME ”部分中进行了解释。

  29. 我正在运行KDE,一切都坏了!怎么了?

    可能你根本没有运行xscreensaver,但是正在运行“kscreensaver”。你应该停下来。

    KDE与上面的GNOME遭受同样的脑损伤。

    在KDE下使用屏幕保护程序的唯一合理(和安全)方法是关闭KDE的内置屏幕保护程序,并使用xscreensaver。如何解决这个问题在xscreensaver手册的“ 使用KDE ”部分中进行了解释。

  30. 一些迂腐的混蛋告诉我屏幕保护程序不再是“必要的”了吗?

    他们没有灵魂一定是多么可怕。他们的生活中有什么破坏让他们讨厌喜悦?

  31. 我只是学习编程X,我想写一个xscreensaver模块。我应该从哪里开始?

    xscreensaver 源代码发行版中的文件“ README.hacking ” 包含一些有用的提示。

    如果你拿出任何东西,请发给我!如果它很好,我很乐意将它包含在xscreensaver发行版中。


XScreenSaver常见问题解答相关推荐

  1. (已更新)Ubuntu 14.04 Linux 3D桌面完全教程,显卡驱动安装方法,compiz特效介绍,常见问题解答

      内容   文章标题 : (已更新)Ubuntu 14.04 Linux 3D桌面完全教程,显卡驱动安装方法,compiz特效介绍,常见问题解答 发表于 : 2008-08-03 0:57    [ ...

  2. Ubuntu 13.04 Linux 3D桌面完全教程,显卡驱动安装方法,compiz特效介绍,常见问题解答

    [2013年4月28日更新] Ubuntu Linux 3D桌面完全教程,显卡驱动安装方法,compiz特效介绍,常见问题解答. 本教程最早是一善鱼 YQ-YSY 于2008年编写并发布在Ubuntu ...

  3. Ubuntu Linux 3D桌面完全教程,显卡驱动安装方法,compiz特效介绍,常见问题解答

    本教程最早是 一善鱼 YQ-YSY  于2008年编写并发布在Ubuntu中文论坛forum.ubuntu.org.cn配置美化区3D桌面特效版块的: --<图解Ubuntu8.10和8.04最 ...

  4. CP20常见问题解答

    CP20常见问题解答 CP20常见问题解答 注:若您对CP20用途不十分了解,请参考前面HC10的问答 Q)基于服务器的解决方案都有哪几种?各有什么特点? Q)CP20的usb端口是否会成为资料外泄的 ...

  5. Delphi XE5 常见问题解答

    Delphi XE5 常见问题解答 有关于新即时试用的问题吗?请看看 RAD Studio 即时试用常见问答. 常见问题 什么是 Delphi? Embarcadero? Delphi? XE5 是易 ...

  6. Internet Explorer 8 Beta2 常见问题解答

    Internet Explorer 8 Beta2 常见问题解答<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:o ...

  7. 海康威视摄像头安装插件检测不到_海康威视摄像机常见问题解答

    海康威视摄像机常见问题解答 1.忘记摄像机IP地址怎么办? ①可以通过设备网络搜索工具SADP在线搜索 ②可以使用客户端4200在线搜索功能 ③在设备和PC开启UPNP功能时,可以通过PC中网络发现查 ...

  8. abaqus python二次开发攻略_Abaqus有限元分析常见问题解答与实用技巧 12天后上架...

    Abaqus有限元分析常见问题解答与实用技巧已印刷完毕,1-2天后上架,先睹为快.现在某些网站上的售卖信息,不靠谱.温馨提示:封底无防伪标均为盗版! 序  言 Abaqus是是国际上先进的大型通用非线 ...

  9. PhpExcel中文帮助手册|PhpExcel基本使用方法及常见问题解答

    为什么80%的码农都做不了架构师?>>>    一.介绍一下PHPExcel的基本使用方法 include 'PHPExcel.php'; include 'PHPExcel/Wri ...

最新文章

  1. php可以定义数组的常量吗
  2. MySQL编译安装及主从配置
  3. [转载]MVC、MVP以及Model2(上)
  4. 【软件工程】知识点梳理(全)
  5. ASP.NETAPI跨域设置(超简易)
  6. 合肥工业大学宣城校区大学生创新创业训练项目申报书:“基于Spark平台的人工智能知识的知识图谱构建”...
  7. POJ - 3273 Monthly Expense(二分水题)
  8. android微信分享之创建工程以及启动微信
  9. 使用默认方法的界面演变–第一部分:方法
  10. Android实现mp3分析,Android编程实现播放MP3功能示例
  11. java 声明静态类,为什么你不能在Java中将类声明为静态?
  12. 资深程序员:Python中你不知道的那些小工具
  13. HTML5 Canvas学习---第一章 《Hello World及图片显示》
  14. Serializable作用
  15. 【图像处理】RGB各种格式
  16. 锐文网络安全网闸卡各种应用场景
  17. 普中51单片机开发板笔记
  18. C++ 建立一个被称为sroot()的函数,返回其参数的二次方根.重载sroot()3次, 让它返回整数, 长整数, 与双精度的二次方根(计算二次方根时, 可以使用标准库函数sqrt())
  19. Android LibVLC最新使用教程
  20. java电影院购票系统概况_电影院售票管理系统

热门文章

  1. LinkedIn首席科学家:创业公司如何善用数据,加入下一个千亿美元市场?
  2. 微信公众号 Token验证失效 问题
  3. 黄峥辞任拼多多董事长:1:10超级投票权失效,投身科学研究
  4. Ubuntu16.04 解决屏幕闪烁的问题(暂时)
  5. php语言学习_新手如何学习PHP语言
  6. 牧牛区块链,区块链发展呈现的新机遇
  7. 如何写一个游戏AI(三)0-9手写数字图片识别AI训练
  8. Elastic 安全 7.6.0 重磅发布
  9. 计算机什么ups又称在线式ups,什么是UPS?为什么要用UPS?
  10. 一篮子苹果,每天吃一半多一个吃,第十天吃一半多一个后就剩余一个,求一共多少个苹果,JAVA版...