executa o comando para trocar caps caps e ctrl na inicialização

3

Estou um pouco confuso porque isso não está funcionando como pretendido. Meu objetivo é mapear a tecla caps lock para controlar. Estou usando o debian. Para isso eu estou usando o seguinte comando

/usr/bin/setxkbmap -layout "$(setxkbmap -print | awk -F + '/xkb_symbols/ {print $2}')" -option ctrl:nocaps

que funciona perfeitamente se eu o executar através do terminal. No entanto, quero que isso seja feito na inicialização ou no login e sempre execute-o manualmente. Eu tentei adicionar este comando ao aplicativo de sessão de inicialização automática no XFCE, bem como colocar o comando no meu ~/.profile . No entanto, ambas as opções parecem não funcionar. Eu ainda tenho que executá-lo manualmente (que depois é mapeado corretamente). O que estou fazendo errado?

    
por math 28.06.2018 / 11:31

2 respostas

6

A razão pela qual o comando setxkbmap não o adicionou depois ~/.profile é que este arquivo é lido pelo seu shell (que é provavelmente bash) apenas quando o shell login é iniciado. Em X emuladores de terminal não inicie shells de login. Você adiciona setxkbmap ao seu ~/.bashrc se usar Bash , mas há um melhor maneira disponível em debian systems - modificar XKBOPTIONS section no seu /etc/default/keyboard , por exemplo:

root@debian:/home/ja# cat /etc/default/keyboard
# KEYBOARD CONFIGURATION FILE

# Consult the keyboard(5) manual page.

XKBMODEL="pc105"
XKBLAYOUT="us"
XKBVARIANT=""
XKBOPTIONS="ctrl:nocaps"

BACKSPACE="guess"

Agora, execute este comando conforme descrito em man 7 keyboard :

udevadm trigger --subsystem-match=input --action=change

Você não precisa nem reiniciar lightdm . Próxima vez lightdm é as configurações iniciadas em /etc/default/keyboard serão aplicadas automaticamente. Acabei de testar no meu Debian 9.4 .

    
por 30.06.2018 / 17:39
3

Acho que a melhor maneira é criar um arquivo .xsessionrc em seu diretório pessoal.

cat .xsessionrc 
setxkbmap -option ctrl:nocaps

Este arquivo é lido em cada início de sua sessão.
Desta forma, apenas a sua sessão é afetada.
Os outros usuários não entendem.
Está tudo bem no Debian e no NetBSD.

    
por 01.07.2018 / 13:48