Como posso salvar automaticamente uma lista de arquivos abertos no Geany, com o cron ou não?

1

Eu uso o Geany IDE para programação e ele não recarrega meus arquivos abertos anteriormente, por exemplo, após uma queda de energia. Eu descobri que Geany tem um recurso de linha de comando que retorna uma lista de todos os arquivos abertos no editor, então eu esperava poder escrever rapidamente um comando cron que salvaria automaticamente essa lista a cada hora.

Atualmente, tenho esta linha no meu crontab:

0 * * * * ~/bin/save_geany_files

e o script contém apenas uma linha:

geany --list-documents > ~/geany_files.txt

Isso não funciona. Notei que o recurso --list-documents do Geany deve ser chamado pelo mesmo usuário (eu acho), então eu tentei adicionar "su - [myusername]" ao script, mas aparentemente su não pode ser usado dentro de um cron job? Então, eu estou em uma perda de como automatizar isso. Estou aberto a quaisquer outras soluções para o meu problema, embora as opções / plugins do Geany pareçam não confiáveis (e é por isso que tentei isso em primeiro lugar)

    
por monguin 29.04.2013 / 20:41

1 resposta

1

Ao executar o crontab assim:

0 * * * * ~/bin/save_geany_files 2> /tmp/geanyerror.log

Eu encontrei esta mensagem de erro em /tmp/geanyerror.log:

Geany: cannot open display

Eu resolvi isso adicionando a seguinte linha ao .bashrc:

xhost local:arune > /dev/null

(onde arune é meu nome de usuário) e mudando meu crontab para

0 * * * * export DISPLAY=:0.0 && ~/bin/save_geany_files 2> /tmp/geanyerror.log

Meu próprio script save_geany_files tem esta aparência:

#!/bin/bash
cp /home/arune/geany/savenew.txt /home/arune/geany/saveold.txt
/usr/bin/geany --list-documents > /home/arune/geany/savenew.txt

para armazenar um "backup" por uma hora extra.

    
por 05.06.2014 / 20:03