abo-abo / oremacs

My Emacs config
https://oremacs.com/
296 stars 33 forks source link

Usability of this config over ssh (no Tramp) #17

Closed srustamo closed 7 years ago

srustamo commented 7 years ago

I have used much of this setup in my setup, quite happy, thank you.

I wonder, if you noticed any issues using this setup to start a remote emacs session over ssh?

This is my setup:

I have setup a Google Cloud Platform Ubuntu 16 (LTS) VM, Dropbox sync .emacs.d dir. This particular Ubuntu version has only Emacs 24 in its repos, so I compiled Emacs 25 from source (I would be happy to use v 24, but it was complaining at start-up about some files which are byte compiled on v 25 on my local machine, and synced over to remote).

I start Emacs 25 so: ./emacs25 -q --load "~/.emacs"

The .emacs has only one line: (load "~/Dropbox/source/site-lisp/init/init.el").

Some major problems I see:

Any advice is appreciated.

abo-abo commented 7 years ago

I have used much of this setup in my setup, quite happy, thank you.

You're welcome.

I wonder, if you noticed any issues using this setup to start a remote emacs session over ssh?

Not really. But the last time I used remotes extensively was about 5 months ago. But that was on some weird RedHat system, on which I had no admin privileges, to which I connected through another RedHat system, also without admin. Actually, there was even one more machine in the middle. And it all worked perfectly: I could make bookmarks on my main machine to folders on the third and fourth machine, and I could run shells.

I have setup a Google Cloud Platform Ubuntu 16 (LTS) VM, Dropbox sync .emacs.d dir. This particular Ubuntu version has only Emacs 24 in its repos, so I compiled Emacs 25 from source (I would be happy to use v 24, but it was complaining at start-up about some files which are byte compiled on v 25 on my local machine, and synced over to remote).

I made specific effort in my config to avoid this issue. The expected way to use it is to completely avoid elpa being synced and rely on make up. You can easily have fully functioning emacs-24, emacs-25 and emacs-master on the same system by simply cloning the config to three different folders and starting them from there. Then, you'll have 3 different elpa directories, all correctly

I start Emacs 25 so: ./emacs25 -q --load "~/.emacs"

You can start like this:

cd oremacs-24 && emacs=emacs24 make up

The .emacs has only one line: (load "~/Dropbox/source/site-lisp/init/init.el").

I have almost the same line. Except I start it simply as emacs, which points to 25.1.1 in /usr/local/bin.

Some major problems I see:

for some reason, not all packages get loaded
at some point (I cannot pinpoint exact trigger, but it looks like ESC) the whole init.el gets reloaded, with relevant messages
many issues with status line (I use airline theme for powerline)

If you can reproduce this with the folder-per-version approach, let me know; I'll see what I can do.

srustamo commented 7 years ago

Do you have a particular terminal emulator on headless/desktopless remotes you found to be less troublesome?

Can you share any terminal related sys config?

Let me try the 'make up' approach, I will see if there are any issues after that.

On Apr 18, 2017 13:35, "Oleh Krehel" notifications@github.com wrote:

I have used much of this setup in my setup, quite happy, thank you.

You're welcome.

I wonder, if you noticed any issues using this setup to start a remote emacs session over ssh?

Not really. But the last time I used remotes extensively was about 5 months ago. But that was on some weird RedHat system, on which I had no admin privileges, to which I connected through another RedHat system, also without admin. Actually, there was even one more machine in the middle. And it all worked perfectly: I could make bookmarks on my main machine to folders on the third and fourth machine, and I could run shells.

I have setup a Google Cloud Platform Ubuntu 16 (LTS) VM, Dropbox sync .emacs.d dir. This particular Ubuntu version has only Emacs 24 in its repos, so I compiled Emacs 25 from source (I would be happy to use v 24, but it was complaining at start-up about some files which are byte compiled on v 25 on my local machine, and synced over to remote).

I made specific effort in my config to avoid this issue. The expected way to use it is to completely avoid elpa being synced and rely on make up. You can easily have fully functioning emacs-24, emacs-25 and emacs-master on the same system by simply cloning the config to three different folders and starting them from there. Then, you'll have 3 different elpa directories, all correctly

I start Emacs 25 so: ./emacs25 -q --load "~/.emacs"

You can start like this:

cd oremacs-24 && emacs=emacs24 make up

The .emacs has only one line: (load "~/Dropbox/source/site-lisp/ init/init.el").

I have almost the same line. Except I start it simply as emacs, which points to 25.1.1 in /usr/local/bin.

Some major problems I see:

for some reason, not all packages get loaded at some point (I cannot pinpoint exact trigger, but it looks like ESC) the whole init.el gets reloaded, with relevant messages many issues with status line (I use airline theme for powerline)

If you can reproduce this with the folder-per-version approach, let me know; I'll see what I can do.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/abo-abo/oremacs/issues/17#issuecomment-294729999, or mute the thread https://github.com/notifications/unsubscribe-auth/AAtw9cdEpTEuc7DNhe9147te1WAcGef0ks5rxHXCgaJpZM4M_8md .

abo-abo commented 7 years ago

Do you have a particular terminal emulator on headless/desktopless remotes you found to be less troublesome?

The default bash was always fine for me.

Can you share any terminal related sys config?

No, I use almost a default .bashrc; minor modifications to .inputrc.

srustamo commented 7 years ago

You can start like this: cd oremacs-24 && emacs=emacs24 make up

Do you create an alias for this? Why do you need emacs=emacs24?

abo-abo commented 7 years ago

Do you create an alias for this?

I might, although there's rarely a need for it. I use it occasionally to debug regressions in my packages' code on older Emacs versions.

Why do you need emacs=emacs24?

Because the Makefile launches whatever program that is currently aliased to emacs. This is like temporarily symlinking your /usr/bin/emacs to e.g. emacs-24 for just this one command.

srustamo commented 7 years ago

I got things up running with your suggested use of make up. Many thanks for all your help!

I could not use cd oremacs-24 && emacs=emacs24 make up, as it just does not find the init.el in the cloned dir.

However, aliasing emacs to emacs25 on the $PATH and adding .emacs in the $HOME dir with this line below and then calling straight emacs25 works well:

(load "~/oremacs25/init.el")

I wonder what's going on?

abo-abo commented 7 years ago

I wonder what's going on?

Here is the Makefile rule:

up: upgrade
    $(emacs) -Q -l init.el

So make up should work as long as init.el is present in the current directory. Maybe break up cd and make up into two commands?

srustamo commented 7 years ago

Thanks, all is well.