Chame o sudo de um script chamado por xbindkeys

1

Eu tenho um macbook pro e estou no processo de vinculação de scripts para controlar o nível de luz de fundo no meu teclado. Eu escrevi 2 scripts e eles funcionam perfeitamente Eu só não consigo executá-los em um pressionamento de tecla. Eu tenho xbindkeys configurado e funcionando com um arquivo de configuração chamado .xbindkeysrc no arquivo de configuração Eu tento ligar os scripts às minhas teclas de função especiais (mesma linha como fn). Eu sei que meu arquivo de configuração é carregado corretamente porque quando eu executo xbindkeys -s ele mostra as duas tentativas de ligação que não estão funcionando atualmente. Aqui está o conteúdo do arquivo my.xbindkeysrc

###########################
# xbindkeys configuration #
###########################
#
# Version: 0.1.3
#
# If you edit this, do not forget to uncomment any lines that you change.
# The pound(#) symbol may be used anywhere for comments.
#
# A list of keys is in /usr/include/X11/keysym.h and in
# /usr/include/X11/keysymdef.h 
# The XK_ is not needed. 
#
# List of modifier (on my keyboard): 
#   Control, Shift, Mod1 (Alt), Mod2 (NumLock), 
#   Mod3 (CapsLock), Mod4, Mod5 (Scroll). 
#
# Another way to specifie a key is to use 'xev' and set the 
# keycode with c:nnn or the modifier with m:nnn where nnn is 
# the keycode or the state returned by xev 
#
# This file is created by xbindkey_config 
# The structure is : 
# # Remark 
# "command" 
# m:xxx + c:xxx 
# Shift+... 




#keystate_numlock = enable
#keystate_scrolllock = enable
#keystate_capslock = enable



"bash /opt/keyLightInc.sh"
    m:0x0 + c:238
    XF86KbdBrightnessUp 

"bash /opt/keyLightDec.sh"
    m:0x0 + c:237
    XF86KbdBrightnessDown 

#
# End of xbindkeys configuration

Comecei com a opção detalhada. Aqui está a saída:

screen 0 for window 259
Start program with fork+exec call
sudo: no tty present and no askpass program specified
    
por xavier 21.12.2014 / 05:54

1 resposta

0

Se o seu arquivo sudoers definir a opção requiretty , você só poderá chamar o sudo de um terminal.

Se o seu arquivo sudoers não definir a opção requiretty , você poderá chamar o sudo de qualquer lugar, mas se ele solicitar uma senha, será necessário um terminal. A mensagem “sudo: no tty present e no programa askpass especificado” indica que o sudo tentou solicitar uma senha, mas falhou.

Você pode passar a opção -A para dizer ao sudo para usar um método diferente para solicitar uma senha. Como você está rodando no X11, você pode usar o programa ssh-askpass distribuído com o OpenSSH, que solicita uma senha em uma janela do X11.

sudo -A /usr/bin/ssh-askpass whatever-command-you-need-to-execute-as-root

Como alternativa, permita-se executar este programa sem digitar uma senha .

    
por 22.12.2014 / 03:58