看到另一个贴中提到TUI GUI。。。话题不一致,单开一个问一下。
你们用emacs GUI的时候,如果要在远程服务器上编辑文本,写代码。用什么方案?tramp?还是在vnc里用远程桌面?还是其他更好的办法。
看到另一个贴中提到TUI GUI。。。话题不一致,单开一个问一下。
你们用emacs GUI的时候,如果要在远程服务器上编辑文本,写代码。用什么方案?tramp?还是在vnc里用远程桌面?还是其他更好的办法。
tramp 太卡, 现在用 upload , 这是个痛点
我还是利用tramp, 远程编辑,开交互的python窗口等都可以. 速度看情况, 可以忍耐.
远程服务器场景多是在公司,在公司多是有堡垒机中转。。。
所以 Tramp 这类需要 ssh 的,都没希望了,就放弃远程写代码了,临时改一下直接 emacs -q -nw
了
本机 GUI Emacs
用 git 同步代码
server vim 跑一跑程序
在本地写代码,rsync 同步到远程服务器上编译运行
这个索引导航之类的也支持么?
tramp我很久很久之前用过。但是当时索引导航之类的不方便。就放弃了。
我就是因为堡垒机这个场景。彻底放弃了gui。
lsp-bridge 内建远程代码编辑、代码补全、代码定义跳转等一些功能的支持, 目前需要基于ssh的机制和远程服务器建立连接的。
如果有堡垒机, 除了 terminal 的方式, 有什么网络连接的方式吗?
理论上如果可以连接的话, lsp-bridge 也可以增加支持。
堡垒机支持起来应该也不难。只需要ssh的时候支持自定义会话动作即可。 堡垒机ssh登录上去之后是一个文本界面,选1 2 3,或者输入什么。就跳转到目的地了。
vscode好像不能支持,它只有设置一个proxy。不支持会话。
理论上只要 ssh 能连通,中间的交互步骤在技术上也是可以解决的。
而且如果访问的资源是确定的,那么还可以跳过交互步骤直达,例如:
$ ssh demo@test@[email protected] -p2222
# demo.jumpserver.org 为堡垒机域名
# 2222 为 ssh 访问端口
# demo 是堡垒机登录的账号,demo 账号的密码是 jumpserver
# test 是资产的登录账号
# test_ssh 是资产的 ip 或者 域名(内部改写了 hosts)
关键在于,公司如果有堡垒机,那么就有必要要问一下是否允许用本地编辑器连上去编辑,因为这样相当于从服务器上下载资源到本地。没问清楚就连上去,有可能违反了公司的资安规定。
如果允许本地编辑器连上去编辑,像 jumpserver 还有针对 VScode 的"贴心"设置:
$ cat /opt/jumpserver/config/config.txt
ENABLE_LOCAL_PORT_FORWARD=True # 是否开启本地转发 (目前仅对 vscode remote ssh 有效果) v2.11 新增
ENABLE_VSCODE_SUPPORT=True # 是否开启 针对 vscode 的 remote-ssh 远程开发支持
# ( 前置条件: 必须开启 ENABLE_LOCAL_PORT_FORWARD ) v2.11 新增。
# ( 注意: vscode 的连接操作,无审计功能 )
没有了 ssh,Emacs 本身要怎么编辑远程的文件似乎也成了问题,这个只靠 lsp bridge 也不好实现了吧🤣
堡垒机都支持vscode了。这个挺好。如果它支持vscode,不知道能不能利用一下,emacs模拟一下vscode的ssh。
即使有 jump server,ssh 也能一条命令搞定的,所以理论上 emacs GUI 是可行的,但我一般用的命令行模式,也很顺手
如我在 #12 楼所说,如果你确定堡垒机后面的资源,可以 ssh 直达,不必交互。以 jumpserver 为例:(用户 demo 密码 jumpserver,你现在就可以试试)
$ ssh demo@test@[email protected] -p2222
demo@test@[email protected]'s password:
开始连接到 test(test)@jms_gw 0.7
Welcome to Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-78-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
This system has been minimized by removing packages and content that are
not required on a system that users do not log into.
To restore this content, you can run the 'unminimize' command.
test@eaaab210e843:~$ ls -a
. .. .bash_logout .bashrc .profile
Emacs tramp 连上去编辑也没有问题: C-x C-f /ssh:demo@test@[email protected]#2222:/home/test/.profile
关键在于公司是否允许你这么做,不允许的话,就算你用技术手段达成了,那也是违反公司规定。
所以,决定你用什么远程方案的,不单单是技术问题。
堡垒机很多情况是带会话的
很多堡垒机是带会话的。而且会话菜单自己配置,各不相同。有的在登录的时候还需要输入双因素验证的动态key。