在没有管理权限的情况下覆盖Linux中的“Print Screen”操作

时间:2012-04-10 20:55:14

标签: linux screenshot x11 keyboard-events printscreen

声明:

我有点像Linux菜鸟:(

问题:

我有一个有趣的问题,我可以使用一些帮助。基本上,我想覆盖Linux中“打印屏幕”按钮的默认操作。我这样做的原因是我有一个自制的显卡运行连接到计算机,我正在尝试制作一个实用程序,我可以捕获它输出到单独的监视器,并将其发送回“主机”计算机。出于此目的,我只想知道:如何在按下“打印屏幕”按钮时执行脚本?请注意,我无法安装xbindkeys或任何其他软件。理想情况下,我希望能够运行脚本来启用此行为。

目前的解决方法:

目前,我有一个.bashrc脚本:

    #!/bin/bash
    export PATH=/home/username/bin:$PATH

/ home / username / bin 文件夹中,我有一个脚本“gnome-screenshot”,目前只执行一些任意任务(实际上是这样做的) :“cat / usr / share / icons / / > / dev / dsp” - 试一试!很有趣!)。

我正在学校的计算机上工作,所以我先用CTRL-ALT-F5打开终端登录,登录,然后输入.bashrc。然后我startx - :1开始新的X会话。现在,如果我点击PrintScreen按钮,它会使用我的gnome-screenshot,而不是默认的screencapture程序。

在没有重启X的情况下,有没有这样做呢?简而言之,有没有办法在我登录之前或之后采购我的.bashrc脚本,或以其他方式修改我的PATH变量

另一种方法:

我还简单地尝试了xmodmap和执行脚本的键码,但无法弄清楚如何将它们绑在一起。我知道键码(111)但无法弄清楚如何在印刷机上运行脚本。我相信有可能使用这种方法进行一种绑定,但无法弄清楚如何。

帮助!

我真的很感激一些帮助或评论!

(编辑):添加了有关分发的详细信息:

cat / etc / redhat-release告诉我:

红帽企业Linux客户端版本5.8(Tikanga)

1 个答案:

答案 0 :(得分:3)

xmodmap不是您想要的工具;它不能将密钥绑定到程序,它将物理密钥代码绑定到逻辑密钥。 XGrabKey(3)是您正在寻找的。

在启动X会话时读取shell dotfiles取决于您正在使用的确切操作系统和桌面环境(包括版本;即使仅考虑不同的Ubuntu版本及其库存桌面,您可能需要使用4种或5种不同的方式)。