Como executar o comando na inicialização? [duplicado]

1

A tecla Return do meu teclado está quebrada, por isso escolhi fazer a minha chave PgDn agir como a tecla Return. Agora eu aprendi como fazer isso usando 'xmodmap'. O comando que tenho que executar é:

xmodmap -e 'keycode 117 = Return'

Mas eu tenho que executar este comando toda vez que eu reiniciar. Eu pesquisei e descobri que colocar esse comando no arquivo /etc/rc.local deve executá-lo automaticamente na inicialização. No entanto, isso não funciona.

Alguém pode me dizer como posso executar este comando quando eu arrancar? Eu estou usando o Ubuntu 14.04.

    
por johngreen 09.05.2014 / 08:59

2 respostas

5

Embora você tenha pedido uma solução na inicialização , isso pode fazer o que você quer: executar um comando no login , no nível do usuário, aqui está uma simples um:

Por exemplo, para definir a chave PageDown como a tecla Return no login:

Crie um arquivo .desktop como abaixo, salve em ~/.config/autostart

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

Copie o texto acima, cole-o em um arquivo de texto vazio (gedit), salve-o como set_keyboard.desktop (ou anything_else.desktop) em ~/.config/autostart

    
por Jacob Vlijm 09.05.2014 / 11:15
2

A maneira mais fácil de executar comandos no login do usuário (que é a melhor maneira de realizar o que você quer) é adicionar o comando ao arquivo .profile (localizado em /home/[user]/ ). Você deseja adicionar o comando ao final do arquivo. Por exemplo:

[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'

Você deve ser capaz de fazer logout e fazer login novamente para que essa alteração entre em vigor. No entanto, pode ser melhor apenas reinicializar (para testar completamente).

    
por ChrisR. 09.05.2014 / 10:36