linux替换屏幕保护进程,有没有一个体面的方式来阻止linux中的屏幕保护程序?...
我正在寻找一种体面的,不跛脚的方式来禁止xscreensaver,kscreensaver或gnome-screensaver,哪些可能正在运行,最好是以屏幕保护程序的方式,而且它绝对肯定必须执行得很快.
我有一个基于gtk的游戏程序,在混合多个声道的同时混合30帧/秒,由于它是由操纵杆控制的,有时候“屏幕保护程序”将会启动.我将“the”引入引号,因为有最少三个不同的流行屏幕保护程序,xscreensaver,gnome-screensaver和kscreensaver,每个都有自己独特和klunky的方法,应用程序可能会阻止它们.
有没有人封装代码来禁止所有这些进入快速的代码块?哦,它必须是GPL兼容的.
目前,我的代码只是悄悄地关于不操作的屏幕保护程序开发者,如果检测到任何屏幕保护程序,并且操纵杆正在使用,并且实际上并没有尝试除了建议用户手动禁用屏幕保护程序之外的任何其他操作,作为唯一的其他事情想想做的是如此难以置信的丑陋,我只是拒绝这样做.
只是想知道其他人是否遇到这种情况,他们做了什么,如果他们做了任何事情,如果它像我看来一样丑陋,那么它将会是如此,或者如果有一些优雅的解决方案呢?似乎也许合成X事件不知何故愚弄屏幕保护程序认为有一些活动可能会以通用的方式做的伎俩,但我真的不知道如何做(并希望你不需要根本做到这一点.)
有任何想法吗?
谢谢,
– 史蒂夫
嗯,不幸的是,至少在Fedora核心8上,这似乎没有起作用.
xdg-screensaver脚本在那里,似乎是打算工作,它实际上不起作用.
一旦你做了“xdg-screensaver suspend window-id”,那么窗口id就是从程序内部得到的
xwindow_id = GDK_WINDOW_XWINDOW (GTK_WIDGET (widget)->window);
或者窗口id是否通过xprop获得,并且xdg-screensaver手动运行,则会创建两个进程:
[scameron@zuul wordwarvi]$ps -efa | grep xdg
scameron 4218 1 0 20:12 pts/2 00:00:00 /bin/sh /usr/bin/xdg-screensaver suspend 0x3a00004
scameron 4223 1 0 20:12 pts/2 00:00:00 /bin/sh /usr/bin/xdg-screensaver suspend 0x3a00004
scameron 4313 3151 0 20:15 pts/1 00:00:00 grep xdg
[scameron@zuul wordwarvi]$
即使在他们被等待死亡的程序之后,他们也不会死亡,屏幕保护程序永远不会被重新启用.
[scameron@zuul wordwarvi]$xdg-screensaver status
disabled
[scameron@zuul wordwarvi]$ls -ltr /tmp | grep xdg
-rw------- 1 scameron scameron 15 2009-01-20 20:12 xdg-screensaver-scameron--0.0
[scameron@zuul wordwarvi]$
运行xdg-screensaver resume window-id不会恢复屏幕保护程序.
要重新启用屏幕保护程序,我必须手动杀死它们,并手动删除/ tmp中留下的文件:
[scameron@zuul wordwarvi]$kill 4218 4223
[scameron@zuul wordwarvi]$rm /tmp/xdg-screensaver-scameron--0.0
[scameron@zuul wordwarvi]$xdg-screensaver status
enabled
[scameron@zuul wordwarvi]$
所以,良好的意图,但似乎并没有真正的工作.
不,当然不是期望每一帧运行它,而是不希望它在运行时导致打嗝,是的.随着我对X事件的综合思考,我想象的是,通常情况下,屏幕保护程序会认为有活动.
看看xdg-screensaver(这似乎是一个shell脚本,最终只是为我的过程做了一个“等待” – 酷),似乎是做我想做的.我知道我不可能是唯一或第一个面对这个问题.
谢谢!
– 史蒂夫
linux替换屏幕保护进程,有没有一个体面的方式来阻止linux中的屏幕保护程序?...相关推荐
- linux命名信号量,在进程之间使用POSIX信号量(命名信号量,Linux,C)
这个简单程序的主要思想是通过共享内存在进程之间进行通信,并通过使用信号量限制它们的访问. '福克斯'创建主要的父流程和3个子流程.孩子是消费者,父母是生产者.孩子应该排队等待父母产生的每一个信息,例如 ...
- 这里提供了在Linux上显示某个进程的线程的几种方式
ps -T top -H
- Linux哲学家进餐杀死进程,100分跪求“哲学家就餐问题”在 Linux下运行的源代码(后缀名为.c)!!!...
如题. | 代码大致如下,当然不能直接使用,我没写P,V操作的函数. # define N 5 /* 哲学家数目 */ # define LEFT (i-1+N)%N /* i的左邻号码 */ # d ...
- linux window连接软件,教你从Windows以图形方式远程连接Linux
烈火建站学院(LieHuo.Net)网络管理这两天因为要搭建一个Linux服务器,来回跑,实在受不了了,就学习了一下怎么在windows下远程连接Linux,果然有收获.写此日志以资留念: 下一个X ...
- linux查看某进程的连接,linux下查看指定进程的所有连接信息(转)
定位某个进程的网络故障时经常需要用到的一个功能就是查找所有连接的信息.通常查找某个端口的连接信息使用 ss 或者 netstat 可以轻松拿到,如果是主动与别的机器建立的连接信息则可以通过 lsof ...
- linux 父子进程结束,Linux下让父进程结束后,子进程自动结束
在多进程编程的时候,经常会遇到这样的情况.父进程创建了一堆子进程,当遇到错误或者操作失误的时候把父进程关闭了,但是子进程还在跑,不得不一个一个地杀死子进程,或者使用ps,grep,awk,kill来配 ...
- linux ps查看完整时间,Linux ps 命令查看进程启动及运行时间
引言 同事问我怎样看一个进程的启动时间和运行时间,我第一反应当然是说用 ps 命令啦. ps aux或ps -ef不就可以看时间吗? ps aux选项及输出说明 我们来重新复习下ps aux的选项,这 ...
- 摈弃 Windows 低效率的工作方式,发掘 Linux 身上的 UNIX 气质
[原文链接] 摈弃 Windows 低效率的工作方式,发掘 Linux 身上的 UNIX 气质 我已经半年没有使用 Windows 的方式工作了.Linux 高效的完成了我所有的工作. GNU/Li ...
- 【Linux系统编程】进程替换:exec 函数族
00. 目录 文章目录 00. 目录 01. exec函数族 02. 参考示例 2.1 execl函数示例 2.2 execv函数示例 2.3 execlp() 或 execvp()函数示例 2.4 ...
最新文章
- 附加数据库失败 操作系统错误5:5拒绝访问 错误5120 解决方法
- 一个QQ旋风的BUG
- C#获取一些常用目录
- 在Spring Boot中使用@ConfigurationProperties
- java ee junit_JavaEE——Junit
- 设计者模式之GOF23命令模式
- Atitit 组织软资产建设 知识管理 经济学架构体系
- 什么是Overlay网络?Underlay 网络 vs. Overlay网络
- 白话 贝叶斯公式_[白话解析] 深入浅出朴素贝叶斯模型原理及应用
- 美国印第安纳大州Purdue(普杜)大学的法国数学家Louis de Branges de Bourcia周二表示已经证明了黎曼猜想
- JSP————详解jsp标签
- 百兆网线和千兆网线做法的区别
- 【实战篇】39 # 如何实现世界地图的新冠肺炎疫情可视化?
- 神器Overleaf!
- jmeter- 循环控制器计数器 实现批量添加操作
- 元宇宙黑马来袭 海姆达尔Heimdallr 开启链游新玩法
- Labelme标注的json数据转化为coco格式的数据
- 谷歌地球 GoogleEarth软件介绍
- script failure IPW213
- 佛山顺德计算机美工培训班,顺德区电子商务美工培训