生命不息,折腾不止。。。。。。
都桌面了,那还 Forwarding 啥。Forwarding 的本意是在容器里绘制,然后转发到主机显示。
不知道这个安装 xfce4 桌面的方案最终效果是什么样的。xfce4 是不是必须的,还是仅仅因为输入法依赖。
那个博客我看了,是因为输入法才安装的桌面。有没有更优雅的解决方案呢?
内置输入法。也就是个词库的事,没必要大费周章。
甚至说回来,用回原来的Emacs,编译完exe以后复制过来也能接着用。
个人觉得输入法非常重要,甚至是我考虑是否换平台的决定性因素。并且配置输入法并没有那么简单,不管 chinese-pyim 还是 rime 都需要花时间配置,一旦形成自己的使用习惯也是不希望轻易改变的。
我不是太明白你的意思,你是说编译 emacs 吗?
试用了一天 docker 版的 spacemacs,简单说一下我的体验。
我觉得抛去 x11 forwarding 的各种限制不说,这个 docker 方案的 spacemacs 可以说是 spacemacs 2.0。
想像一下你只需要
- 安装 docker,
- 下载镜像,
- 根据你的
.spacemacs
生成一个本地镜像, - 启动 spacemacs,
然后 bam!所有的一切都根据你的 .spacemacs
配置好了。比如你用 python layer,所有 python 相关的包,autopep8, ipython, 等等全部配置好了;你用 latex layer,基本的tex 宏包已经配置好了(只是在容器里,不会对你目前的系统有任何影响)。不管你用的是 windows,linux 还是 mac,你只要直接使用就好了,简直不能更爽好吗!?
并且更神奇的是,可以在手机,移动设备甚至浏览器上运行 docker spacemacs。
如果这还不能打动你的话,由于 docker 支持分布式计算,如果你需要教学的话,这可就太方便了,想像一下,只需要主机上安装一下,然后其它电脑上面都可以访问主机的配置,然后运行完全相同的 spacemacs 配置(使用主机资源,也就是说其它电脑配置渣点也没问题,比如用 Raspberry Pi )
当然目前还在起步阶段,需要有更多的人来贡献,比如写 Dockerfile,加入 dependency 等等,但同时这也是你加入 spacemacs comunity 的一个大好机会。 @guanghui.qu 怎么看?
我指的是因为你觉得编译起来麻烦的Windows用的Emacs依赖。
依赖的定义可宽可窄。并且即使那些依赖都有了,配置也是麻烦事(环境变量等等)。总之,没有 docker 方案这么 portable。
感觉还不如等wsl版本的呢.
wsl 给我的感觉就是一个官方版的 cygwin 或者 msys2,而且只支持 win 10。
历史的经验告诉我,不要太相信微软画的饼。
还要cygwin,好麻烦。直接VirtualBox + Xubuntu/UbuntuServer + Xmonad不就完了
虽然我现在也在用 virtualbox,但是每次启动 spacemacs 还要先启动 virtualbox 这一点真的让人很不爽。并且 virtualbox 即使是用无缝模式,那个桌面还是有点碍事。
cygwin 很麻烦吗?用 cmd 脚本连下载到设置 5 分钟就搞定了。
X11 的 Client/Server 架构一直以来都被认为效率低,随着电脑配置的提升,这样打包的方式会越来越多,这点应该是出乎设计者意料之外
是啊,如果不是这种架构就不会出现这种 Forwarding 方式运行 GUI app 了吧?
你是怎么做的?能不能截一张完整的桌面看看?
我猜猜:全屏模式运行 emacs,并且隐藏 virtualbox 的菜单和状态栏?启动怎么办?登录后直接启动 emacs?
Edit: 我已经知道怎么做了:
http://iallex.com/snippet-how-to-hide-menu-bar-and-status-bar-in-virtualbox/
但是这种方式只解决了一半问题,启动问题还是没有解决,并且 vm 方式仍然比 docker 方式占用更多资源。
这离原生 win 32 远着呢吧 ,不过 Xmonad 看起来不错,等有空了试试。
docker 方案最大的软肋是磁盘读取性能,mount 的文件夹内部 grep 或者 git diff速度明显慢了,比虚拟机要慢。对这不能忍的同学不要试了。这是 docker 自身造成的,而且貌似一直没有解决。
OK,我替大家把坑踩完了。