首先说明这个问题其实和emacs无关,如果不合适发布在这里的话,我尽快删除。
发在这里的缘由是自己作为emacs菜鸟用户经常来逛,感觉这里有人气,道友们也都热情,还有emacser向来会折腾:)
我的主机是debian bullseye, 虚拟机是redhat,正常的共享目录的方法是按一下链接配置
[[主机与VMware虚拟机共享文件夹:解决虚拟机找不到共享文件夹问题 - 知乎][主机与VMware虚拟机共享文件夹:解决虚拟机找不到共享文件夹问题 - 知乎]]
没有满足我的需求的是,这种做法其实是把主机里的目录共享给虚拟机,而我的需求是把虚拟机已有的一个大目录在主机下共享,这样大部分的操作包括编辑可以用主机来做,而虚拟机上只做一些虚拟机里工具的运行。当然可以先主机共享目录给虚拟机,然后再做复制,但目录太大就不大好,而且毕竟也会改变目录结构。
请问大家有没有好的建议?比如,建samba服务器合适吗?有没有简洁一些的方式?
org
2
没啥好主意,为啥要这么做虚拟机?假如用双系统,linux倒是非常好挂载另一个系统的磁盘。
org
4
划一块磁盘装这个系统可以,但是如果是个虚拟机,应该没办法吧。
sshfs
通过ssh 服务, 将目标系统的文件夹,挂载到本地。
(一般,读写操作频繁的系统,作为服务端。)
1 个赞
原来SSHFS 用起来很简单啊,只要找到虚拟机的ip就可以了
发现一个问题
当在主机emacs里打开ssh到虚拟机里的文件后,如果暂停虚拟机(相当于远程断掉?),会造成emacs假死,按C-g等都没用,只有当重新启用虚拟机后emacs恢复正常
这种情况不大合理,应该有办法避免假死吧?
“假死”,可能是emacs 进行文件操作(比如备份),这时 ssh在尝试 读/写 远端数据。
ssh 有个连接超时设置, 超过这个时间 emacs 应该可以恢复。
如果,经常有这种情况,可以试试修改 ssh 的超时设置。
发现不但emacs会假死,terminal居然也会假死
比如sshfs [email protected]:/home/summer /home/dave/summer
然后在~dave目录的terminal里ls也会动不了
顺带提一下,我是vmware暂停(suspend)了虚拟机才能复现这个问题,直接关机不能复现
用nfs就可以了,samba是用于linux共享到windows的。
hexh
14
不知道你具体的需求是什么,我曾经试过起 samba 用来开发小程序,但是体验并不好
因为小程序开发工具 linux 上没有,所以我在 linux host 上起了一个 win10 的虚拟机,通过 samba 来通讯,但是 linux 上修改后的代码无法同步触发 win10 开发工具上的热更新,但是事实上文件已经同步成功了,不知道原因是什么
然后我又试了 rsync,io 性能极差,所以最终放弃