如何在Ubuntu 13.04中将自定义键盘快捷方式链接到bash脚本?


8

作为Ubuntu 13.04用户,我自己也遇到了这个最新版本的Ubuntu的各种问题和不兼容性。其中之一是,在我安装了一些软件包之后,“系统设置->亮度和锁定”选项卡的亮度栏突然消失了(我真的不记得它是什么)。我发现一种解决方法是使用xbacklight

作为我自己的练习,我编写了一个简短的脚本,以便使用来自终端的xbacklight轻松地增加和减少亮度。该脚本是可执行文件(具有执行权限),是一个包含在我的.bashrc文件中$ PATH中的目录,并链接至别名(“ blup”增加,“ bldn”减少屏幕亮度)。因此,我的两个别名(blup / bldn)在终端线路上工作正常。接下来,我想将它们链接到一些键盘快捷键(例如F2 / F3)。我是在“系统设置->键盘->快捷方式->自定义快捷方式”中执行此操作的,但是它不起作用。

在此处输入图片说明

为什么?

此外,是否有一种方法可以“发现”在哪里以及如何执行其他(非自定义)键盘快捷键命令?例如,上调音量的快捷键执行的是什么终端线,连接到什么别名(如果有)以及它们放在什么目录下(/ usr / bin,其他...)?

作为脚本编写的新手,我将不胜感激!

谢谢

PS1当然,只需将一个命令“ xbacklight -inc / -dec 10”粘贴到自定义键盘快捷键上,它将正常工作。我只是想抓住机会,对脚本的编写和执行有更多的了解。

PS2我的问题与以下问题不同:如何使用键盘快捷键启动bash脚本?,即我不将'〜/'用作'/ home / user /'。



如果您在中更改了PATH .bashrc,则该更改将仅在交互式bash会话中可用;使用键盘快捷键的过程将看不到它。更改PATH ~/.profile代替,然后注销并回。
geirha

我已尝试按照您的建议,使用以下命令将脚本所在的路径添加到.profile中:PATH = $ PATH:/ home / myusername / scripts或导出PATH = $ PATH:/ home / myusername / scripts,但都不导出他们工作(登录和注销后)。但是,如果我将脚本的完整路径添加到快捷键(sh /home/username/script/nameofscript.sh),则可以正常工作。我在这里做错了什么?
马里奥

Answers:


4

首先,别名不会在非交互式shell中扩展。ALIASESman bash这种意义上阅读本节。因此,添加/编辑自定义快捷方式时,不能在“命令”字段中使用别名。

第二,正如geirha此评论中所说,如果您PATH.bashrc文件中进行了更改,则该更改将在非交互式shell中不可用。因此,您需要改为更改PATHin ~/.profile文件。

第三,如果您仍想bldn在添加/编辑自定义快捷方式时仅在“命令”字段中使用,则可以使用此名称重命名脚本,并将脚本路径添加到PATHin ~/.profile文件中,如上所述。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.