emacs não funciona com o xdg-open

0

Eu uso o emacs 24.4.1 no ubuntu 15.04. De alguma forma, o xdg-open não funciona se eu o rodar do emacs. Por exemplo, se eu executo "xdg-open 1.pdf" ou "gvfs-open 1.pdf" no eshell eles não funcionam. Ao mesmo tempo, "evince 1.pdf" funciona perfeitamente.

    
por RCV 10.07.2015 / 03:08

3 respostas

0

As duas respostas anteriores não funcionaram para mim:

  • (setq process-connection-type nil) quebrou org-plot/gnuplot
  • setsid xdg-open ... funcionou por um tempo, mas parou por algum motivo.

Agora eu uso setsid -w , o que supostamente faz com que setsid espere até que o programa chamado termine.

Se alguém precisar, eu uso isso com o AUCTeX (e encontrei essa questão ao tentar corrigir o comportamento do AUCTeX no Arch linux), e meu TeX-command-list está definido como

(quote
 ( 
  ;; ...
  ("View" "setsid -w xdg-open %s.pdf" TeX-run-command t t :help "Run Text viewer")
  ;; ...
  )

Parece funcionar bem por enquanto ...

    
por Emil Vatai 16.02.2017 / 08:52
2

Usar setsid xdg-open 1.pdf funciona para mim. O problema parece ser que gvfs-open e xdg-open retornam antes que seus filhos terminem de trabalhar. O Emacs pode matar seu terminal de controle quando isso acontecer, matando os filhos e impedindo que evince seja aberto corretamente. setsid define um novo terminal de controle que o emacs não fechará.

    
por Michael Hoffman 17.09.2015 / 23:39
1

Isso pode ser um problema com o uso de ptys para comunicação de subprocesso. Tente definir o tipo de conexão do processo como nil para usar pipes.

Em seus .emacs

;; Use pipes for subprocess communication
(setq process-connection-type nil)

Eu uso as funções de publicação do modo org e sem essa alteração, nenhum dos arquivos gerados é aberto via xdg-open, apesar de nenhuma mensagem de erro.

    
por user1064555 12.09.2016 / 20:15