如何在虚拟机上开发?

时间:2015-01-22 00:11:41

标签: macos ubuntu ssh virtual-machine sublimetext3

我想在运行Ubuntu的虚拟机上编辑源代码。我正在使用它来保存我的本机(mac)密钥绑定(例如复制和粘贴)。我可以将终端数据路由到主机端的sublime吗?我可以在vm中调用sublime编辑器并将其与X11转发一起使用吗?

我只是在寻找共同的工作流程,我可以继续使用我已经学会喜爱的键绑定和编辑器。

2 个答案:

答案 0 :(得分:0)

您可以使用Samba共享。 (假设您正在运行Windows)。 这就是我这样做的方式。

How to Create a Network Share Via Samba Via CLI (Command-line interface/Linux Terminal) - Uncomplicated, Simple and Brief Way!

或者您可以查看How to map a network drive?

答案 1 :(得分:0)

您有几个选择:

  • 您可以按照Ahmed Daou的回答中的建议安装Samba用于SMB网络共享,或Netatalk用于AFP网络共享。一旦建立,可能是最灵活的解决方案。如果你想得到想象,你也可以安装avahi-daemon,这样你就可以像浏览任何其他文件共享一样从Finder浏览网络文件;否则你可以使用Finder的Go菜单中的“Connect To Server ...”。

  • 你可以用scp往返它。为SSH安装公钥 - 私钥对,这样您就不必每次都输入密码(即使您使用密码,您的Mac也会在其钥匙串中记住它)。当您退出 Sublime时,保存的文件将被复制回VM。

示例sublime_open脚本:

#!/bin/bash

serverAddress="username@myvm.local"
if [[ ! $1 ]]; then
    echo "usage: sublime_open <remoteFilename> [username@serverAddress] [serverPort]"
    exit 1
fi
[[ $2 ]] && serverAddress="$2"
[[ $3 ]] && serverPort="-P $3" || serverPort=
scp $serverPort $serverAddress:"$1" /tmp/myfile.txt
/Applications/"Sublime Text.app"/Contents/MacOS/"Sublime Text" /tmp/myfile.txt
scp $serverPort /tmp/myfile.txt $serverAddress:"$1"
rm /tmp/myfile.txt &> /dev/null
  • 您可以按照建议使用X11并运行Linux版本。在Mac上安装XQuartz,然后使用-X选项打开与VM的SSH会话,例如: ssh -X myvm.local。然后在该终端窗口中从它所在的任何目录运行./sublime_text(如果你安装了Ubuntu / Debian软件包,它似乎在/opt/sublime_text/sublime_text中)。它将在Mac上的X窗口中打开。