No Linux Mint 14, rodar um script do Startup Applications não funciona, mas do terminal não

2

Eu criei um script para configurar meu tablet Intuos no início de uma sessão:

#!/bin/sh

xsetwacom set "Wacom Intuos4 4x6 pad" AbsWheelUp "key ctrl minus";
xsetwacom set "Wacom Intuos4 4x6 pad" AbsWheelDown "key ctrl plus";
xsetwacom set "Wacom Intuos4 4x6 pad" Button 1 "key ctrl 0"; #touchring button

xsetwacom set "Wacom Intuos4 4x6 stylus" Button 2 3;
xsetwacom set "Wacom Intuos4 4x6 stylus" Button 3 2;
xsetwacom set "Wacom Intuos4 4x6 stylus" TabletPCButton on;

que salvei como ~/bin/.wacomsetup.sh executando chmod a+x ~/bin/.wacomsetup.sh . Verificar as propriedades mostra que ele pode ser executado como um programa, mas que minha conta de usuário só pode ler / gravar no arquivo.

Eu confirmei que funciona quando eu o executo pelo Terminal usando sh ~/bin/.wacomsetup.sh , mas quando eu coloco o caminho como a entrada de comando em uma nova entrada no Startup Applications (isso é específico para o Cinnamon?), ele não execute o script depois de efetuar login / reinicialização (tenho que executá-lo manualmente).

Editar programa de inicialização:
Nome: Setup Wacom Intuos
Comando: sh ~/bin/.wacomsetup.sh
Comentário: ksdfk

Existem permissões diferentes que eu preciso aplicar ao script para permitir que ele seja executado dessa forma na inicialização?

Obrigado (Eu apreciaria se alguém pudesse recontar essa pergunta de forma mais apropriada, se houver tags melhores.)

    
por ataulm 09.01.2013 / 13:21

2 respostas

1

Algumas coisas para tentar:

  1. Substitua o "~" no caminho em Aplicativos de inicialização pelo caminho absoluto para sua pasta pessoal (por exemplo, /home/whateveryourusernameis )

  2. Remova o sh no caminho, pois não é necessário; contanto que o script seja executável (com o bit "x" definido nas DACLs para você), o #!/bin/sh no início do script detectará que é um script de shell e iniciará automaticamente o interpretador de shell para executar os comandos .

  3. Tente mover o script para /usr/bin , tornando-o world legível e executável, e definindo o Command: em aplicativos de inicialização para apenas wacomsetup.sh . Embora eu duvide que esta etapa seja necessária, porque os Aplicativos de Inicialização são executados sob sua conta de usuário após o login, e o Xorg já deve ter sido iniciado ...

  4. Só para garantir que o problema não seja o script executado , mas os comandos não são executados por algum motivo: na parte superior do script abaixo da linha #!/bin/sh , tente adicionar: echo scripted > ~/scripted (altere a parte "com script" se você já tiver um arquivo com esse nome para outro uso). Em seguida, verifique se o arquivo não existe e, em seguida, faça logoff / login e veja se ele grava esse arquivo. Caso contrário, o script nem está sendo executado. Se você VER esse arquivo, o script está em execução, mas as chamadas xsetwacom estão falhando.

por 11.01.2013 / 22:00
0

Não tenho certeza do que você quer dizer com "Aplicativos de inicialização". Eu suponho que é um frontend GUI. Onde você achou isso?

De qualquer forma, você já tentou adicionar um novo arquivo .desktop a ~/.config/autostart ? Deve ser algo assim:

[Desktop Entry]
Name=wacomsetup
Type=Application
Exec=/home/your_user/bin/.wacomsetup.sh
X-GNOME-Autostart-enabled=true
Comment=Blah blah
Hidden=false

Salve-o como, por exemplo, wacomsetup.desktop , saia e faça login novamente.

    
por 12.01.2013 / 17:40