gpt4 book ai didi

r - ESS/Emacs 中长时间运行的远程 R session 的状态如何?

转载 作者:行者123 更新时间:2023-12-01 08:27:57 25 4
gpt4 key购买 nike

我经常远程运行 R,并且使用 RStudio 服务器在这方面取得了巨大成功。然而,在许多情况下,Emacs/ESS 仍然更可取,特别是因为我经常同时处理多个项目。当期望连接会中断时,在 emacs 中运行 ESS/R 时,最先进的技术是什么?更具体地说,我很想在 Emacs 中运行一个 tmux session ,以便我可以连接到在 tmux(或屏幕)中运行的长时间运行的 R session 。支持这种场景的 ESS/Emacs 的状态如何?这似乎随​​着时间的推移而改变,我还没有找到“确定的”方法(也许没有)。

最佳答案

我一直这样做。无论是在家,还是在工作。

关键组件:

  1. 以守护模式启动emacs:emacs --daemon &。现在,emacs 与前端断开连接,因此可以长时间运行且持久。

  2. 使用 emacsclient -nw 在文本模式下使用 tmux(或者在我的情况下,使用 tmux 的 byobu 包装器)进行连接。随着 tmux 的持续存在,我可以随意连接、断开连接、重新连接……,同时拥有来自 byobu/tmux 的多个选项卡、拆分 Pane ……。

  3. 当在附近时——在家庭桌面上连接到家庭服务器,或者在与多台服务器一起工作时——通过 emacsclient -c 连接。现在我有了标准的 X11 优点,绘图等 pp。这是我默认的“工作”模式。

  4. 但是因为每个 emacs session 都有一个 R session (或者实际上是多个,尤其是在工作中),我实际上可以访问它们,因为我也可以通过 ssh 进入 tmux/byobu session 。

  5. 另一个不错的功能是 tramp-mode 允许您在本地 Emacs 缓冲区中编辑远程文件(可能由远程 R session 使用),因为 tramp 环绕 ssh 和 scp 使远程文件显示为本地文件。

  6. 最后但并非最不重要的一点是,mosh 在 (Ubuntu) 笔记本电脑上非常好用,因为当我回到家中或工作的本地网络时,它会自动恢复 session 。就我而言,来自服务器和客户端上的 Debian/Ubuntu 的 mosh;也可能适用于 OS X 人员。

简而言之,就像做梦一样,但可能需要额外的步骤,将 emacs 从您启动的特定 tmux shell 中“断开”。守护程序模式是关键。其中一些 session 会持续数周。

大概五年前我就开始这样工作了。可能更长。但是使用 ESS 连接到远程 Emacs session 要旧得多——我认为 ESS 手册在我在 1990 年代后期第一次看到它时已经有条目。

但我发现这更容易,因为它为我提供了“整个 emacs”,包括我可能需要的任何其他缓冲区和 session 。

编辑:简单来说,我在家和工作中也使用 RStudio(服务器),但出于所有常见原因,我通常会花更多时间在 Emacs 上。

更多编辑: 跟进 @kjhealy我补充说,我也是流浪模式(在 Emacs 中本地编辑远程文件,这要归功于 ssh 和 scp 的魔力)和 mosh(当我上类或回家时会神奇地恢复的 session )的粉丝。

关于r - ESS/Emacs 中长时间运行的远程 R session 的状态如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29220167/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com