¿Por qué xdg-open no funciona en eshell?

7

Quiero abrir a.html en un navegador desde emacs (v. 24.5.1, usando -Q[actualizado después del comentario]).

M-x shell-command
xdg-open a.html

funciona como se esperaba, pero

M-x eshell
$ xdg-open a.html

no parece hacer nada No hay ningún mensaje de error. Este problema también se produce al exportar y abrir directamente archivos HTML desde el modo org .

Jannis Teunissen
fuente
Esto parece funcionar en mi configuración. ¿No te funciona emacs -Q?
PythonNut
He actualizado la pregunta - ya estaba usandoemacs -q -Q
Jannis Teunissen
1
@JannisTeunissen A menos que me equivoque, -Qincluye la -qopción, por -q -Qlo que será lo mismo que-Q
elethan
Además, esto no responde a la pregunta de por qué xdg-openno funciona eshell, pero puede usar el comando browse-url-of-filellamado desde un búfer que visita a.htmlpara abrir ese archivo en su navegador predeterminado.
Elethan
2
Intente configurarlo process-connection-typeen nil(puede escribir (setq process-connection-type nil)en el símbolo del sistema de eshell) (Por cierto, mientras esto funciona en mi máquina, no entiendo por qué funciona).
Omar

Respuestas:

4

Establecer process-connection-typea nil. Para ser honesto, no entiendo por qué xdg-openno funciona cuando esa variable tiene el valor ty tampoco puedo recordar cómo aprendí que cambiar el valor me permitió usar xdg-opende Emacs. (Si alguien lo sabe, me encantaría saberlo).

Omar
fuente
Hm, no puedo reproducir esto aquí en mi máquina Linux. ¿Está esto relacionado por casualidad con el sistema operativo en el que se ejecuta Emacs?
wasamasa
El problema ocurrió en Debian inestable y Fedora 22
Jannis Teunissen
0

Usar setsid -w $shell_cmdes mejor porque (setq process-connection-type nil)causa algunos problemas, como sudo: no tty present and no askpass program specifiedcuando se usa M-& sudo $shell_cmd.

ÁRBITRO

Escudo grande
fuente