Thanks. On my first restart attempt, setting desktop-restore-in-current-display to t seems to have enabled me to restore as expected (unless by coincidence I was given the same display as the last time - I didn't check). From: rgm@gnu.org At: Apr 15 2015 14:03:51 To: Richard Munitz (BLOOMBERG/ 731 LEX) Cc: 20247@debbugs.gnu.org Subject: Re: bug#20247: 24.4; Emacs hangs at startup in desktop mode "Richard Munitz (BLOOMBERG/ 731 LEX)" wrote: > Some more information. This problem could be related to tmux. The last > time the hang occurred I noticed that my environment settings had > different values for XTERM and DISPLAY. Currently they look like the > below, but on that day they were different. Unfortunately, I don't > remember which was which. But the .emacs.desktop file had one of the > two values and it hung. When I edited the file and changed it to the > other of the two values, it started flawlessly. > XTERM=/usr/bin/X11/xterm -ls -sb -sl 4000 -display sundev28:37.0 > DISPLAY=sundev28:37.0 > > Of course I don't understand the internals, but I don't understand why > emacs starts up and tries to use a saved "display" value at all? Why > doesn't it just always use the display value defined in the current > shell in which I am invoking emacs? Perhaps this is sometimes > desirable, but is there a setting I can use to make emacs ignore this > value saved in the desktop file and always use the value from the > current environment? Maybe setting desktop-restore-in-current-display to t will help? I suspect that in that variable's doc: If nil, restores frames into their original displays (if possible). the "(if possible)" part is going to be tricky to get right. See also http://debbugs.gnu.org/17693#40