如何在启动时运行命令?

如何在启动时运行命令?

我的键盘上的 Return 键坏了,所以我选择将 PgDn 键设置为 Return 键。现在我学会了如何使用“xmodmap”来实现这一点。我必须运行的命令是:

xmodmap -e 'keycode 117 = Return'

但是每次重启时我都必须运行这个命令。我搜索了一下,发现把这个命令放在 /etc/rc.local 文件中应该会在启动时自动运行它。但是,它不起作用。

有人能告诉我如何在启动时执行此命令吗?我正在使用 Ubuntu 14.04。

答案1

尽管你要求解决方案启动时,这也许能达到你想要的效果:运行命令登录时在用户层面,这里有一个简单的例子:

例如,将PageDown密钥设置为Return登录时的密钥:

创建一个 .desktop 文件,如下所示,并将其保存在~/.config/autostart

[Desktop Entry]
Name=Set Keyboard
Exec=xmodmap -e 'keycode 117 = Return'
Terminal=false
Type=Application

复制上述文本,粘贴到一个空的文本文件(gedit)中,保存为 set_keyboard.desktop (或 anything_else.desktop)~/.config/autostart

答案2

在用户登录时运行命令的最简单方法(这是实现所需目的的最佳方法)是将命令添加到文件.profile(位于/home/[user]/)。您需要将命令添加到文件末尾。例如:

[user@host ~]# nano .profile
# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.

# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022

# if running bash
if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
        . "$HOME/.bashrc"
    fi
fi

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

# Remap Return key to Page Down on login
xmodmap -e 'keycode 117 = Return'

您应该能够注销并重新登录以使此更改生效。但是,最好重新启动(以全面测试)。

相关内容