I'm trying to use emacs (23.2.1) in daemon mode. I started it as emacs --daemon
and that works just fine. But whenever I try emacsclient -t somefile
I first get a line of garbage (e.g., `1;25C2;'), then the file is displayed (with emacs's mode line), but I can't do anything. It hangs; cursor movement keys don't work; C-x # doesn't work; the only thing I can do is open another console and kill the process.
If I start emacs normally (by clicking on a launcher on the panel, or just running emacs
) with (server-start)
in the config, emacsclient file
works just fine (i.e., loads the file in the graphical emacs instance). If I start emacs normally but use emacsclient -t file
, I get the same problem with it hanging.
I'm using Debian 6/Xfce, kernel 2.6.32-5-686. $TERM
is xterm, maybe that needs to be changed to something else? Is there anything else that's a likely culprit? I don't want to post my entire emacs config here because it's extensive, but if you really want to look through it it's here on github.
Thanks
emacs -q
(to skip your.emacs
)? If not, what aboutemacs -Q
(skips all installed packages)? What terminal emulator are you runningemacsclient -t
in, and does using another emulator make a difference? I suspect Emacs is sending an escape sequence that expects a response and not getting it, but the important data is the character before the1
, which doesn't get displayed. Runstrace -o emacs.strace -s9999 emacs --daemon
and post the resultingemacs.strace
somewhere (it may be huge).emacs -q --daemon
doesn't fix it, butemacs -Q --daemon
does. In LXTerminal, the -q option works fine; with justemacs --daemon
in LXTerminal,emacsclient -t
doesn't actually hang (I can still C-x # to exit) but it doesn't give me a cursor or allow me to actually do anything. Working on the strace thing now.strace -f -o emacs.strace -s9999 emacs --daemon
? Also, to find out what this mysterious “Terminal Emulator” is, please runps $PPID
in it. Also, since the bug is apparently triggered by an installed package, rundpkg -S /etc/emacs*/site-start.d
to get the list.