首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >命令不是在rc.local中运行,而是在终端中运行。

命令不是在rc.local中运行,而是在终端中运行。
EN

Ask Ubuntu用户
提问于 2014-10-28 23:54:25
回答 2查看 7.5K关注 0票数 0

我的整个rc.local文件

代码语言:javascript
复制
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
cd ~/xcape && ./xcape -e 'Control_L=Escape'
exit 0

这应该使我的caps锁键(它被设置为左控制)在自己按下时变成一个转义键,并在按下和持有时成为ctrl。

当我在终端上执行命令时,rc.local文件中的命令工作正常,但是当我启动计算机时,我必须手动运行命令,因为rc.local文件没有运行该命令.或者失败了。

EN

回答 2

Ask Ubuntu用户

发布于 2014-10-29 00:06:55

避免脚本中的~,使用完整的目录路径。不仅另一个脚本解释器运行(破折号而不是bash)不理解~约定,脚本也是以root方式运行的,因此即使理解了~,它也将是错误的主目录。

票数 3
EN

Ask Ubuntu用户

发布于 2014-10-29 00:07:06

rc.local在引导期间运行时,它作为根用户运行,并且环境受到限制。

您应该用~/xcape更改/home/yourUser/xcape

为了验证您的/etc/rc.local脚本,您应该使用以下命令:

代码语言:javascript
复制
 sudo service rc.local start
票数 3
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/542953

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档