* Using tramp to connect to a remote emacs session
@ 2009-09-02 23:06 Suvayu Ali
2009-09-03 8:02 ` Peter Dyballa
` (2 more replies)
0 siblings, 3 replies; 16+ messages in thread
From: Suvayu Ali @ 2009-09-02 23:06 UTC (permalink / raw)
To: Emacs mailing list
Hi everyone,
I usually have to connect to my lab using tramp (tramp-default-method is
ssh) when I am working from home. Since I go back and forth a lot, I
have to start a session every time. Is it possible for me to run
emacs-server on my lab machine and connect to that using tramp from my
home? That would save me a lot of time (mostly annoyance though ;) ) in
starting a new session.
So far only reference I found was,
> Using emacsclient to make a new frame of a remote Emacs 22 on a local display
>
> ssh remote_host -f emacsclient --eval ‘”(make-frame-on-display \”$DISPLAY\”)”’
in the emacswiki[1]. Firstly I don't understand how this works, and
blindly copy-pasting this to the terminal didn't work either. Some help
would be greatly appreciated. :)
I am using,
remote machine: Ubuntu 9.04 with Emacs 23
local machine: Fedora 11 with Emacs 23
[1]http://www.emacswiki.org/emacs/EmacsClient#toc22
--
Suvayu
Open source is the future. It sets us free.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Using tramp to connect to a remote emacs session 2009-09-02 23:06 Using tramp to connect to a remote emacs session Suvayu Ali @ 2009-09-03 8:02 ` Peter Dyballa 2009-09-03 16:06 ` Suvayu Ali [not found] ` <mailman.5952.1251993987.2239.help-gnu-emacs@gnu.org> 2009-09-03 13:08 ` Michael Albinus [not found] ` <mailman.5940.1251983344.2239.help-gnu-emacs@gnu.org> 2 siblings, 2 replies; 16+ messages in thread From: Peter Dyballa @ 2009-09-03 8:02 UTC (permalink / raw) To: Suvayu Ali; +Cc: Emacs mailing list Am 03.09.2009 um 01:06 schrieb Suvayu Ali: > So far only reference I found was, > >> Using emacsclient to make a new frame of a remote Emacs 22 on a >> local display >> ssh remote_host -f emacsclient --eval ‘”(make-frame-on-display >> \”$DISPLAY\”)”’ > > in the emacswiki[1]. Firstly I don't understand how this works, and > blindly copy-pasting this to the terminal didn't work either. Some > help would be greatly appreciated. :) Ssh opens a connection to remote_host and logs you in. The option -f puts ssh into the background allowing to launch an X client. This one is emacsclient, which is asked to evaluate some Lisp. This Lisp code is make-frame-on-display, which makes GNU Emacs open (create) a new frame on the specified screen as given by the environment variable DISPLAY. On the remote host DISPLAY should point to your local screen and its X server. So the remote GNU Emacs daemon or server will open a frame as an X client of your local display's X server and communicate with it via the SSH tunnel. If this does not work you can start to debug ssh, but particularly allow (trusted) X11 forwarding in the configuration of the SSH server on the remote host. Your local X server must be informed to accept connections from the remote host. -- Greetings Pete UNIX is user friendly, it's just picky about who its friends are. ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Using tramp to connect to a remote emacs session 2009-09-03 8:02 ` Peter Dyballa @ 2009-09-03 16:06 ` Suvayu Ali [not found] ` <mailman.5952.1251993987.2239.help-gnu-emacs@gnu.org> 1 sibling, 0 replies; 16+ messages in thread From: Suvayu Ali @ 2009-09-03 16:06 UTC (permalink / raw) To: Peter Dyballa; +Cc: Emacs mailing list Hi Peter, On Thursday 03 September 2009 01:02 AM, Peter Dyballa wrote: > > Am 03.09.2009 um 01:06 schrieb Suvayu Ali: > >> So far only reference I found was, >> >>> Using emacsclient to make a new frame of a remote Emacs 22 on a local >>> display >>> ssh remote_host -f emacsclient --eval ‘”(make-frame-on-display >>> \”$DISPLAY\”)”’ >> >> in the emacswiki[1]. Firstly I don't understand how this works, and >> blindly copy-pasting this to the terminal didn't work either. Some >> help would be greatly appreciated. :) > > > Ssh opens a connection to remote_host and logs you in. The option -f > puts ssh into the background allowing to launch an X client. This one is > emacsclient, which is asked to evaluate some Lisp. This Lisp code is > make-frame-on-display, which makes GNU Emacs open (create) a new frame > on the specified screen as given by the environment variable DISPLAY. On > the remote host DISPLAY should point to your local screen and its X > server. So the remote GNU Emacs daemon or server will open a frame as an > X client of your local display's X server and communicate with it via > the SSH tunnel. > > > If this does not work you can start to debug ssh, but particularly allow > (trusted) X11 forwarding in the configuration of the SSH server on the > remote host. Your local X server must be informed to accept connections > from the remote host. > Thanks for the very clear explanation Pete. :) I had a hunch it is something like X-forwarding. I don't really like to do X-forwarding, the interface is usually very unresponsive. I would rather go with `emacs -nw'. Thanks for the reply though. ^_^ -- Suvayu Open source is the future. It sets us free. ^ permalink raw reply [flat|nested] 16+ messages in thread
[parent not found: <mailman.5952.1251993987.2239.help-gnu-emacs@gnu.org>]
* Re: Using tramp to connect to a remote emacs session [not found] ` <mailman.5952.1251993987.2239.help-gnu-emacs@gnu.org> @ 2009-09-03 16:34 ` Anselm Helbig 2009-09-04 3:17 ` Suvayu Ali [not found] ` <mailman.5986.1252034254.2239.help-gnu-emacs@gnu.org> 0 siblings, 2 replies; 16+ messages in thread From: Anselm Helbig @ 2009-09-03 16:34 UTC (permalink / raw) To: help-gnu-emacs [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #1: Type: text/plain, Size: 2482 bytes --] At Thu, 03 Sep 2009 09:06:16 -0700, Suvayu Ali <fatkasuvayu+linux@gmail.com> wrote: > > Hi Peter, > > On Thursday 03 September 2009 01:02 AM, Peter Dyballa wrote: > > > > Am 03.09.2009 um 01:06 schrieb Suvayu Ali: > > > >> So far only reference I found was, > >> > >>> Using emacsclient to make a new frame of a remote Emacs 22 on a local > >>> display > >>> ssh remote_host -f emacsclient --eval ‘”(make-frame-on-display > >>> \”$DISPLAY\”)”’ > >> > >> in the emacswiki[1]. Firstly I don't understand how this works, and > >> blindly copy-pasting this to the terminal didn't work either. Some > >> help would be greatly appreciated. :) > > > > > > Ssh opens a connection to remote_host and logs you in. The option -f > > puts ssh into the background allowing to launch an X client. This one is > > emacsclient, which is asked to evaluate some Lisp. This Lisp code is > > make-frame-on-display, which makes GNU Emacs open (create) a new frame > > on the specified screen as given by the environment variable DISPLAY. On > > the remote host DISPLAY should point to your local screen and its X > > server. So the remote GNU Emacs daemon or server will open a frame as an > > X client of your local display's X server and communicate with it via > > the SSH tunnel. > > > > > > If this does not work you can start to debug ssh, but particularly allow > > (trusted) X11 forwarding in the configuration of the SSH server on the > > remote host. Your local X server must be informed to accept connections > > from the remote host. > > > > Thanks for the very clear explanation Pete. :) I had a hunch it is > something like X-forwarding. I don't really like to do X-forwarding, the > interface is usually very unresponsive. I would rather go with `emacs -nw'. If you want to connect to a remote emacs but don't want to do X forwarding, then you can do either - start emacs with the --daemon option on the remote host; you can now connect to the running emacs instance with `emacsclient -t' which will give you an emacs terminal frame. Which will, of course, work over ssh as well. You can still get a X frame if you like by not using -t. This requires Emacs 23 to work. - the obvious solution: use GNU screen or a similar tool (dtach, tmux, ...), start your console mode emacs in there and reconnect as necessary. Works with any version of emacs, obviously. HTH, Anselm -- Anselm Helbig mailto:anselm.helbig+news2009@googlemail.com ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Using tramp to connect to a remote emacs session 2009-09-03 16:34 ` Anselm Helbig @ 2009-09-04 3:17 ` Suvayu Ali [not found] ` <mailman.5986.1252034254.2239.help-gnu-emacs@gnu.org> 1 sibling, 0 replies; 16+ messages in thread From: Suvayu Ali @ 2009-09-04 3:17 UTC (permalink / raw) To: Anselm Helbig; +Cc: Emacs mailing list Hi Anselm, Anselm Helbig wrote: > At Thu, 03 Sep 2009 09:06:16 -0700, > Suvayu Ali <fatkasuvayu+linux@gmail.com> wrote: >> Thanks for the very clear explanation Pete. :) I had a hunch it is >> something like X-forwarding. I don't really like to do X-forwarding, the >> interface is usually very unresponsive. I would rather go with `emacs -nw'. > > If you want to connect to a remote emacs but don't want to do X > forwarding, then you can do either > > - start emacs with the --daemon option on the remote host; you can > now connect to the running emacs instance with `emacsclient -t' > which will give you an emacs terminal frame. Which will, of > course, work over ssh as well. You can still get a X frame if you > like by not using -t. This requires Emacs 23 to work. > > - the obvious solution: use GNU screen or a similar tool (dtach, > tmux, ...), start your console mode emacs in there and reconnect > as necessary. Works with any version of emacs, obviously. > Sorry for going OT, I looked into screen after your post. Isn't it almost the same as any terminal emulators available on GNU/Linux systems? (xfce4-terminal, konsole, gnome-terminal ...) What are the advantages offered by screen over a regular ssh session in one of these terminal emulators? -- Suvayu Open source is the future. It sets us free. ^ permalink raw reply [flat|nested] 16+ messages in thread
[parent not found: <mailman.5986.1252034254.2239.help-gnu-emacs@gnu.org>]
* Re: Using tramp to connect to a remote emacs session [not found] ` <mailman.5986.1252034254.2239.help-gnu-emacs@gnu.org> @ 2009-09-04 3:27 ` Benjamin Andresen 2009-09-04 11:17 ` Suvayu Ali 2009-09-04 11:19 ` Suvayu Ali 0 siblings, 2 replies; 16+ messages in thread From: Benjamin Andresen @ 2009-09-04 3:27 UTC (permalink / raw) To: help-gnu-emacs Suvayu Ali <fatkasuvayu+linux@gmail.com> writes: > Sorry for going OT, I looked into screen after your post. Isn't it > almost the same as any terminal emulators available on GNU/Linux > systems? (xfce4-terminal, konsole, gnome-terminal ...) What are the > advantages offered by screen over a regular ssh session in one of > these terminal emulators? screen complements a terminal emulator, because it does simultaneously more and less than one. From http://en.wikipedia.org/wiki/GNU_Screen GNU Screen is a free terminal multiplexer that allows a user to access multiple separate terminal sessions inside a single terminal window or remote terminal session. It is useful for dealing with multiple programs from the command line, and for separating programs from the shell that started the program. Features Persistence Similar to VNC, GNU Screen allows the user to start applications from one computer, and then reconnect from a different computer and continue using the same application without having to restart it. Multiple windows Multiple terminal sessions can be created, each of which usually runs a single application. Session Sharing Screen allows multiple computers to connect to the same session at once, allowing collaboration between multiple users. If that doesn't answer the question, install it and follow this guide: http://www.kuro5hin.org/story/2004/3/9/16838/14935 HTH, benny ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Using tramp to connect to a remote emacs session 2009-09-04 3:27 ` Benjamin Andresen @ 2009-09-04 11:17 ` Suvayu Ali 2009-09-04 11:19 ` Suvayu Ali 1 sibling, 0 replies; 16+ messages in thread From: Suvayu Ali @ 2009-09-04 11:17 UTC (permalink / raw) To: help-gnu-emacs Hi Benny, I had gone through the wikipedia article and thought tabs in terminal emulators solve my problems with ease. On Thursday 03 September 2009 08:27 PM, Benjamin Andresen wrote: > > If that doesn't answer the question, install it and follow this guide: > http://www.kuro5hin.org/story/2004/3/9/16838/14935 > Thank you for this link. I will definitely checkout screen seems like a good way to be immune from hangups. :) -- Suvayu Open source is the future. It sets us free. ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Using tramp to connect to a remote emacs session 2009-09-04 3:27 ` Benjamin Andresen 2009-09-04 11:17 ` Suvayu Ali @ 2009-09-04 11:19 ` Suvayu Ali 1 sibling, 0 replies; 16+ messages in thread From: Suvayu Ali @ 2009-09-04 11:19 UTC (permalink / raw) To: help-gnu-emacs Hi Benny, On Thursday 03 September 2009 08:27 PM, Benjamin Andresen wrote: > screen complements a terminal emulator, because it does simultaneously > more and less than one. > > From http://en.wikipedia.org/wiki/GNU_Screen > I had gone through the wikipedia article and thought tabs in terminal emulators solve my problems with ease. > If that doesn't answer the question, install it and follow this guide: > http://www.kuro5hin.org/story/2004/3/9/16838/14935 > hank you for this link. I will definitely checkout screen seems like a good way to be immune from hangups. :) -- Suvayu Open source is the future. It sets us free. ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Using tramp to connect to a remote emacs session 2009-09-02 23:06 Using tramp to connect to a remote emacs session Suvayu Ali 2009-09-03 8:02 ` Peter Dyballa @ 2009-09-03 13:08 ` Michael Albinus 2009-09-03 16:01 ` Suvayu Ali [not found] ` <mailman.5940.1251983344.2239.help-gnu-emacs@gnu.org> 2 siblings, 1 reply; 16+ messages in thread From: Michael Albinus @ 2009-09-03 13:08 UTC (permalink / raw) To: Suvayu Ali; +Cc: Emacs mailing list Suvayu Ali <fatkasuvayu+linux@gmail.com> writes: > Hi everyone, Hi, > I usually have to connect to my lab using tramp (tramp-default-method is > ssh) when I am working from home. Since I go back and forth a lot, I > have to start a session every time. Is it possible for me to run > emacs-server on my lab machine and connect to that using tramp from my > home? That would save me a lot of time (mostly annoyance though ;) ) in > starting a new session. Since you are not the first one who has asked, I've just added the following to the Tramp manual (Frequently Asked Questions): --- * How can I use TRAMP to connect to a remote GNU Emacs session? You can configure Emacs Client doing this. On the remote host, you start the Emacs Server: (require 'server) (setq server-host (system-name) server-use-tcp t) (server-start) Make sure, that the result of `(system-name)' can be resolved on your local host; otherwise you might use a hard coded IP address. The resulting file `~/.emacs.d/server/server' must be copied to your local host, at the same location. You can call then the Emacs Client from the command line: emacsclient /ssh:user@host:/file/to/edit `user' and `host' shall be related to your local host. --- Best regards, Michael. ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Using tramp to connect to a remote emacs session 2009-09-03 13:08 ` Michael Albinus @ 2009-09-03 16:01 ` Suvayu Ali 2009-09-04 7:03 ` Michael Albinus 0 siblings, 1 reply; 16+ messages in thread From: Suvayu Ali @ 2009-09-03 16:01 UTC (permalink / raw) To: Michael Albinus; +Cc: Emacs mailing list Hi Michael, On Thursday 03 September 2009 06:08 AM, Michael Albinus wrote: > Suvayu Ali<fatkasuvayu+linux@gmail.com> writes: > >> Hi everyone, > > Hi, > >> I usually have to connect to my lab using tramp (tramp-default-method is >> ssh) when I am working from home. Since I go back and forth a lot, I >> have to start a session every time. Is it possible for me to run >> emacs-server on my lab machine and connect to that using tramp from my >> home? That would save me a lot of time (mostly annoyance though ;) ) in >> starting a new session. > > Since you are not the first one who has asked, I've just added the > following to the Tramp manual (Frequently Asked Questions): > I think I went through that section but could not figure out how to get the server file. That became clear as soon I saw your little code snippet. :) > --- > * How can I use TRAMP to connect to a remote GNU Emacs session? > > You can configure Emacs Client doing this. On the remote host, > you start the Emacs Server: > > (require 'server) > (setq server-host (system-name) > server-use-tcp t) > (server-start) > > Make sure, that the result of `(system-name)' can be resolved on > your local host; otherwise you might use a hard coded IP address. > > The resulting file `~/.emacs.d/server/server' must be copied to > your local host, at the same location. You can call then the > Emacs Client from the command line: > > emacsclient /ssh:user@host:/file/to/edit > > `user' and `host' shall be related to your local host. Correct me if I go wrong, when I issue that command emacsclient tells the remote server to connect with the localhost over tramp. It determines where the remote server is from the server file. My problem is my ISP at the local machine doesn't allow me to login to it from outside. In other words I probably don't have a static ip. So when I issue the command I get, > $ emacsclient /ssh:user@local.host:~/file > emacsclient: connect: Connection refused > emacsclient: connected to remote socket at xxx.xx.xxx.xx > Waiting for Emacs... > > *ERROR*: Process died And on the remote machine I get the following in the *Messages* buffer, > Tramp: Opening connection for user@local.host using ssh... > Tramp: Waiting 60s for local shell to come up... > Tramp: Sending command `ssh local.host -l user -q -e none && exit || exit' > Tramp: Waiting for prompts from remote shell > File error: Process died So to summarize my problem is I can only connect one way, local.host to remote machine, and hence tramp fails to work. Does this mean the only way I will get this working is to get my ISP to give me a static ip? Thanks for the help so far Michael. Much appreciated. -- Suvayu Open source is the future. It sets us free. ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Using tramp to connect to a remote emacs session 2009-09-03 16:01 ` Suvayu Ali @ 2009-09-04 7:03 ` Michael Albinus 2009-09-04 11:05 ` Suvayu Ali 0 siblings, 1 reply; 16+ messages in thread From: Michael Albinus @ 2009-09-04 7:03 UTC (permalink / raw) To: Suvayu Ali; +Cc: Emacs mailing list Suvayu Ali <fatkasuvayu+linux@gmail.com> writes: > Hi Michael, Hi, >> --- >> * How can I use TRAMP to connect to a remote GNU Emacs session? >> >> You can configure Emacs Client doing this. On the remote host, >> you start the Emacs Server: >> >> (require 'server) >> (setq server-host (system-name) >> server-use-tcp t) >> (server-start) >> >> Make sure, that the result of `(system-name)' can be resolved on >> your local host; otherwise you might use a hard coded IP address. >> >> The resulting file `~/.emacs.d/server/server' must be copied to >> your local host, at the same location. You can call then the >> Emacs Client from the command line: >> >> emacsclient /ssh:user@host:/file/to/edit >> >> `user' and `host' shall be related to your local host. > > Correct me if I go wrong, when I issue that command emacsclient tells > the remote server to connect with the localhost over tramp. It > determines where the remote server is from the server file. Yes. > My problem is my ISP at the local machine doesn't allow me to login to > it from outside. In other words I probably don't have a static ip. So > when I issue the command I get, > >> $ emacsclient /ssh:user@local.host:~/file >> emacsclient: connect: Connection refused >> emacsclient: connected to remote socket at xxx.xx.xxx.xx >> Waiting for Emacs... >> >> *ERROR*: Process died So at least emacsclient was able to connect your remote server. Good. > And on the remote machine I get the following in the *Messages* buffer, > >> Tramp: Opening connection for user@local.host using ssh... >> Tramp: Waiting 60s for local shell to come up... >> Tramp: Sending command `ssh local.host -l user -q -e none && exit || exit' >> Tramp: Waiting for prompts from remote shell >> File error: Process died That I do not catch. Are the messages exactly as you have written, or did you exchange the real user and host name by "user" and "local.host"? Note, that "user" shall be the user name you run your local host, and "local.host" must be an FQDN of your host, or an IP address. > So to summarize my problem is I can only connect one way, local.host to > remote machine, and hence tramp fails to work. Does this mean the only > way I will get this working is to get my ISP to give me a static ip? You have mentioned two different explanations. Either your ISP does not allow you to login from the outside. Then we could stop. But usually, they don't forbid it. If you have a dynamic IP address (the other possiblitiy), you could run emacsclient /ssh:user@1.2.3.4:/file/to/edit "1.2.3.4" would be the IP address you are currently using. Because this changes day by day, you might evaluate it every time in a script, starting emacsclient. The more simple solution is to register your local machine with dynamic DNS. Let's say you have registered it at http://www.dyndns.com/, under the name "suvayu.homelinux.org" (just as example). Then you could connect via emacsclient /ssh:user@suvayu.homelinux.org:/file/to/edit Another trap you could enter is your router configuration at home. You must allow incoming connections at port 22 (for ssh), and it must be forwarded to your local host. > Thanks for the help so far Michael. Much appreciated. Best regards, Michael. ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Using tramp to connect to a remote emacs session 2009-09-04 7:03 ` Michael Albinus @ 2009-09-04 11:05 ` Suvayu Ali 2009-09-04 11:37 ` Michael Albinus 0 siblings, 1 reply; 16+ messages in thread From: Suvayu Ali @ 2009-09-04 11:05 UTC (permalink / raw) To: Michael Albinus; +Cc: Emacs mailing list Hi Michael, On Friday 04 September 2009 12:03 AM, Michael Albinus wrote: > Suvayu Ali<fatkasuvayu+linux@gmail.com> writes: > >> Correct me if I go wrong, when I issue that command emacsclient tells >> the remote server to connect with the localhost over tramp. It >> determines where the remote server is from the server file. > > Yes. > >> My problem is my ISP at the local machine doesn't allow me to login to >> it from outside. In other words I probably don't have a static ip. So >> when I issue the command I get, >> >>> $ emacsclient /ssh:user@local.host:~/file >>> emacsclient: connect: Connection refused >>> emacsclient: connected to remote socket at xxx.xx.xxx.xx >>> Waiting for Emacs... >>> >>> *ERROR*: Process died > > So at least emacsclient was able to connect your remote server. Good. > >> And on the remote machine I get the following in the *Messages* buffer, >> >>> Tramp: Opening connection for user@local.host using ssh... >>> Tramp: Waiting 60s for local shell to come up... >>> Tramp: Sending command `ssh local.host -l user -q -e none&& exit || exit' >>> Tramp: Waiting for prompts from remote shell >>> File error: Process died > > That I do not catch. Are the messages exactly as you have written, or > did you exchange the real user and host name by "user" and "local.host"? > My lab is a bit paranoid about security so I edited out the specifics and put in generic names. :) > Note, that "user" shall be the user name you run your local host, and > "local.host" must be an FQDN of your host, or an IP address. > The host name for my localhost is limited to the local network. The Siemens router from my ISP (Telus) probably implements some kind of NAT (I'm not sure). So the outgoing connection worked, whereas the incoming connection failed. >> So to summarize my problem is I can only connect one way, local.host to >> remote machine, and hence tramp fails to work. Does this mean the only >> way I will get this working is to get my ISP to give me a static ip? > > You have mentioned two different explanations. Either your ISP does not > allow you to login from the outside. Then we could stop. But usually, > they don't forbid it. > I don't have a static IP, moreover from the outside I can only see my ISP's servers not my home machine. Hence I can't login from the outside. > If you have a dynamic IP address (the other possiblitiy), you could run > > emacsclient /ssh:user@1.2.3.4:/file/to/edit > > "1.2.3.4" would be the IP address you are currently using. Because this > changes day by day, you might evaluate it every time in a script, > starting emacsclient. > > The more simple solution is to register your local machine with dynamic > DNS. Let's say you have registered it at http://www.dyndns.com/, under > the name "suvayu.homelinux.org" (just as example). Then you could > connect via > > emacsclient /ssh:user@suvayu.homelinux.org:/file/to/edit > This is very interesting. I had no idea such a service existed! I will definitely look into this. > Another trap you could enter is your router configuration at home. You > must allow incoming connections at port 22 (for ssh), and it must be > forwarded to your local host. > I can login to my router's admin interface, so that should not be difficult to setup. Thanks for your patience. :) -- Suvayu Open source is the future. It sets us free. ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Using tramp to connect to a remote emacs session 2009-09-04 11:05 ` Suvayu Ali @ 2009-09-04 11:37 ` Michael Albinus 2009-09-05 5:29 ` Suvayu Ali 0 siblings, 1 reply; 16+ messages in thread From: Michael Albinus @ 2009-09-04 11:37 UTC (permalink / raw) To: Suvayu Ali; +Cc: Emacs mailing list Suvayu Ali <fatkasuvayu+linux@gmail.com> writes: > Hi Michael, Hi, > The host name for my localhost is limited to the local network. The > Siemens router from my ISP (Telus) probably implements some kind of NAT > (I'm not sure). So the outgoing connection worked, whereas the incoming > connection failed. When you have connected to the remote host, call "who": slbpky:~> who albinus tty7 2009-09-02 16:19 (:0) albinus pts/0 2009-09-02 16:19 (localhost:10.0) albinus pts/1 2009-09-04 08:29 (100.200.100.200) albinus pts/2 2009-09-04 08:31 (localhost:12.0) The string "100.200.100.200" I have used instead of my real values ... This is the IP address your router is visible in the net. You can try to reach it from your remote host via "ping 100.200.100.200". If you have enabled NAT forwarding of port 22 in our router (Siemens router shall allow this), you can even try "ssh user@100.200.100.200". You shall reach your local host from the remote one. > I don't have a static IP, moreover from the outside I can only see my > ISP's servers not my home machine. Hence I can't login from the outside. I hope you see at least your router as described above. >> The more simple solution is to register your local machine with dynamic >> DNS. Let's say you have registered it at http://www.dyndns.com/, under >> the name "suvayu.homelinux.org" (just as example). Then you could >> connect via >> >> emacsclient /ssh:user@suvayu.homelinux.org:/file/to/edit > > This is very interesting. I had no idea such a service existed! I will > definitely look into this. You shall register your router as dynamic DNS client (most routers offer this), because this device is visible from outside, and not your local host. And via NAT forwarding you reach the sshd daemon on your local host. > Thanks for your patience. :) Best regards, Michael. ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Using tramp to connect to a remote emacs session 2009-09-04 11:37 ` Michael Albinus @ 2009-09-05 5:29 ` Suvayu Ali 0 siblings, 0 replies; 16+ messages in thread From: Suvayu Ali @ 2009-09-05 5:29 UTC (permalink / raw) To: Emacs mailing list Hi Michael, On Friday 04 September 2009 04:37 AM, Michael Albinus wrote: > Suvayu Ali<fatkasuvayu+linux@gmail.com> writes: > >> The host name for my localhost is limited to the local network. The >> Siemens router from my ISP (Telus) probably implements some kind of NAT >> (I'm not sure). So the outgoing connection worked, whereas the incoming >> connection failed. > > When you have connected to the remote host, call "who": > > slbpky:~> who > albinus tty7 2009-09-02 16:19 (:0) > albinus pts/0 2009-09-02 16:19 (localhost:10.0) > albinus pts/1 2009-09-04 08:29 (100.200.100.200) > albinus pts/2 2009-09-04 08:31 (localhost:12.0) > > The string "100.200.100.200" I have used instead of my real values ... > This is the IP address your router is visible in the net. You can try to > reach it from your remote host via "ping 100.200.100.200". > > If you have enabled NAT forwarding of port 22 in our router (Siemens > router shall allow this), you can even try "ssh user@100.200.100.200". > You shall reach your local host from the remote one. > >> I don't have a static IP, moreover from the outside I can only see my >> ISP's servers not my home machine. Hence I can't login from the outside. > > I hope you see at least your router as described above. > Unfortunately I can't ping my router from the remote machine and get a response. It seems my ISP is the culprit. Call to tech support didn't help either. :( I will try posting on my distro's user list. This has become way off-topic here. Wish me luck. And thanks to all those who replied to the thread. -- Suvayu Open source is the future. It sets us free. ^ permalink raw reply [flat|nested] 16+ messages in thread
[parent not found: <mailman.5940.1251983344.2239.help-gnu-emacs@gnu.org>]
* Re: Using tramp to connect to a remote emacs session [not found] ` <mailman.5940.1251983344.2239.help-gnu-emacs@gnu.org> @ 2009-09-03 17:50 ` Benjamin Andresen 2009-09-04 11:12 ` Suvayu Ali 0 siblings, 1 reply; 16+ messages in thread From: Benjamin Andresen @ 2009-09-03 17:50 UTC (permalink / raw) To: help-gnu-emacs Michael Albinus <michael.albinus@gmx.de> writes: > * How can I use TRAMP to connect to a remote GNU Emacs session? > > You can configure Emacs Client doing this. On the remote host, > you start the Emacs Server: > > (require 'server) > (setq server-host (system-name) > server-use-tcp t) > (server-start) > > Make sure, that the result of `(system-name)' can be resolved on > your local host; otherwise you might use a hard coded IP address. > > The resulting file `~/.emacs.d/server/server' must be copied to > your local host, at the same location. You can call then the > Emacs Client from the command line: > > emacsclient /ssh:user@host:/file/to/edit > > `user' and `host' shall be related to your local host. I don't quite get this. As I understand it the following happens: Remote Emacs (R) has emacs running with the above server settings. Local emacs (L) will copy the ~R/.emacs.d/server/server to ~L/.emacs.d/server/server and then launch emacsclient -f server /ssh:user@L:/etc/localfile But to do any editing, you still need to be at R (i.e. attached scree) to see the /etc/localfile being opened. All the emacsclient line will do is instruct R to open that file. After wards you then press C-x # on R to close that connection. (All L sees is "Waiting for Emacs..." until that happens.) Why not ssh into R and just C-x C-f /ssh:user@L:/etc/localfile without copying anything? Therefor I don't see what you gain. You still need R to be able to connect via ssh to L, which means it might possibly go trough a NAT. What am I missing? TIA, benny ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Using tramp to connect to a remote emacs session 2009-09-03 17:50 ` Benjamin Andresen @ 2009-09-04 11:12 ` Suvayu Ali 0 siblings, 0 replies; 16+ messages in thread From: Suvayu Ali @ 2009-09-04 11:12 UTC (permalink / raw) To: help-gnu-emacs On Thursday 03 September 2009 10:50 AM, Benjamin Andresen wrote: > Michael Albinus<michael.albinus@gmx.de> writes: > >> * How can I use TRAMP to connect to a remote GNU Emacs session? >> >> You can configure Emacs Client doing this. On the remote host, >> you start the Emacs Server: >> >> (require 'server) >> (setq server-host (system-name) >> server-use-tcp t) >> (server-start) >> >> Make sure, that the result of `(system-name)' can be resolved on >> your local host; otherwise you might use a hard coded IP address. >> >> The resulting file `~/.emacs.d/server/server' must be copied to >> your local host, at the same location. You can call then the >> Emacs Client from the command line: >> >> emacsclient /ssh:user@host:/file/to/edit >> >> `user' and `host' shall be related to your local host. > > I don't quite get this. As I understand it the following happens: > > Remote Emacs (R) has emacs running with the above server settings. > Local emacs (L) will copy the ~R/.emacs.d/server/server to > ~L/.emacs.d/server/server > > and then launch emacsclient -f server /ssh:user@L:/etc/localfile > > But to do any editing, you still need to be at R (i.e. attached scree) > to see the /etc/localfile being opened. All the emacsclient line will do > is instruct R to open that file. After wards you then press C-x # on R to > close that connection. > (All L sees is "Waiting for Emacs..." until that happens.) > > Why not ssh into R and just C-x C-f /ssh:user@L:/etc/localfile without > copying anything? > The /etc/localfile is local to R not L. ssh-ing to R would mean either X-forwarding or using `emacs -nw'. Whereas this way I get the whole gui and since Tramp edits a localfile in /tmp I am independent on any network issues until I actually do `C-x C-s' to save my edits. > Therefor I don't see what you gain. You still need R to be able to > connect via ssh to L, which means it might possibly go trough a NAT. > > What am I missing? > > TIA, > benny -- Suvayu Open source is the future. It sets us free. ^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2009-09-05 5:29 UTC | newest] Thread overview: 16+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2009-09-02 23:06 Using tramp to connect to a remote emacs session Suvayu Ali 2009-09-03 8:02 ` Peter Dyballa 2009-09-03 16:06 ` Suvayu Ali [not found] ` <mailman.5952.1251993987.2239.help-gnu-emacs@gnu.org> 2009-09-03 16:34 ` Anselm Helbig 2009-09-04 3:17 ` Suvayu Ali [not found] ` <mailman.5986.1252034254.2239.help-gnu-emacs@gnu.org> 2009-09-04 3:27 ` Benjamin Andresen 2009-09-04 11:17 ` Suvayu Ali 2009-09-04 11:19 ` Suvayu Ali 2009-09-03 13:08 ` Michael Albinus 2009-09-03 16:01 ` Suvayu Ali 2009-09-04 7:03 ` Michael Albinus 2009-09-04 11:05 ` Suvayu Ali 2009-09-04 11:37 ` Michael Albinus 2009-09-05 5:29 ` Suvayu Ali [not found] ` <mailman.5940.1251983344.2239.help-gnu-emacs@gnu.org> 2009-09-03 17:50 ` Benjamin Andresen 2009-09-04 11:12 ` Suvayu Ali
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/emacs.git https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.