Cron cria processo vim mas não exibe vim

1

No MacOSX 10.8.2, posso executar o vim da seguinte maneira no shell bash:

/usr/bin/vim -c "normal G" -c 'startinsert' ~/.journal

Se eu colocar exatamente o mesmo comando em um script:

#! /bin/bash

export DISPLAY=:0
echo -n -e "\n[" 'date' "]:\n\n">>~/.journal

/usr/bin/vim -c "normal G" -c 'startinsert' ~/.journal

e execute o script, ele também abre o vim corretamente.

No entanto, se eu colocar o script, chamado 01diaryscript, no crontab:

MAILTO=""
* * * * * ~/01diaryscript

O vim não abre ... MAS um novo processo de vim é criado com seu próprio ID único a cada minuto.

Por outro lado, se eu usar o vim, também 7.3, incluído no pacote MacVim, o cron funcionará.

Existe uma maneira de forçar o processo vim que é criado quando eu executo o primeiro script no cron para ser acessível?

    
por William Herschel 09.02.2013 / 22:44

2 respostas

2

Sua linha no seu crontab pede explicitamente para iniciar seu script a cada minuto de cada dia. E isso acontece como você pode ver nos processos.

Agora, por que você não vê o vim é porque o cron gera os comandos que você configurou no "background". Então você não pode acessá-los diretamente. Eu não posso explicar porque o vim no pacote MacVim funciona porque eu não sei disso.

O que poderia funcionar é abrir um VIM gráfico ou um novo xterm com o vim dentro. Algo como: xterm -e /usr/bin/vim -c "normal G" -c 'startinsert' ~/.journal

    
por 09.02.2013 / 23:10
1

cron executa o comando em segundo plano, sem nenhum terminal (ou display X, para esse assunto). Para onde deve ir a saída? Mostrar a saída de tarefas cron do usuário aleatório na minha tela? Não faz sentido.

Qual é o problema que você está tentando resolver aqui?

    
por 10.02.2013 / 00:44