Ide 在不同计算机之间迁移

Ide 在不同计算机之间迁移,ide,virtualenv,development-environment,sublimetext3,cloud9-ide,Ide,Virtualenv,Development Environment,Sublimetext3,Cloud9 Ide,首先!这个问题并不是真的觉得它属于Stackoverlow,但是根据“关于主题”,“程序员常用的软件工具”在范围之内。下面是: 背景: 我在家里为一家很小的公司工作。我在西海岸,我的老板在东海岸。大约每个月左右,我都需要出差。但是,即使当我出于个人原因旅行时,我们都很小,如果有问题,我可能不得不拿出笔记本电脑来解决 软件框架和工具: 我主要使用Python、Django和Postgresql——我们主要在Heroku上托管,但在Rackspace和EC2上都有一些框。我确实使用VirtualEn

首先!这个问题并不是真的觉得它属于Stackoverlow,但是根据“关于主题”,“程序员常用的软件工具”在范围之内。下面是:

背景:

我在家里为一家很小的公司工作。我在西海岸,我的老板在东海岸。大约每个月左右,我都需要出差。但是,即使当我出于个人原因旅行时,我们都很小,如果有问题,我可能不得不拿出笔记本电脑来解决

软件框架和工具:

我主要使用Python、Django和Postgresql——我们主要在Heroku上托管,但在Rackspace和EC2上都有一些框。我确实使用VirtualEnv,有大约6个环境/工作区。我的编辑是Sublimitext3。我们使用Git和GitHub

硬件:

我的桌面有点老了,但还是相当结实,我有四块显示器卡,还有2-22英寸显示器和2-19英寸显示器(这会很快让你扫兴)。运行Ubuntu 12.04

笔记本电脑相当脆弱(公司购买)-单显示器等,但我相信我可以让他们升级它。运行Ubuntu 12.04

问题:

每次我需要上路的时候,我都会花上半天的时间来确认我的笔记本电脑已经准备好了,等等

我知道我不是唯一一个处理这种事情的人。你在家里/办公室里有一个又大又豪华的桌面,但接下来的几周里,你必须在路上工作/娱乐,你需要能够有效地工作

问题:

作为一名专业软件开发人员,您如何处理在机器之间移动的问题

我一直在思考/评估的一些可能的解决方案:

Cloud9IDE。虽然我认为这是一个好主意,但它对我来说仍然有点不稳定,我不确定我是否愿意每天都使用它。但是,我只是通过主机进行了尝试。如果我在SSH模型上尝试,可能会更好

创建另一个EC2实例,它将成为我的“dev-box”,并通过SSH连接到其中来工作。我的猜测是,我最终必须认真学习Vim(我可以编辑一个配置文件,然后得到HJKL,但我需要学习一段时间)

最后注释:

嗯,;我明白了。这不是你典型的SO问题。这里没有正确/错误的答案。但是,我找不到比这更好的董事会了。但是,它似乎属于:

  • 程序员常用的软件工具
  • 软件开发特有的实用、可回答的问题
如果有更好的地方问这个问题,请为我推荐和/或迁移它。但是,我坚持认为这个问题是有价值的,值得一些董事会讨论。如果我最终使用某人的工具集/配置/建议,我会将其标记为“答案”,并提供一个更新列表,确切列出我所做的事情和结果。

一个字-。我把我所有的升华文本设置(针对不同的操作系统和版本)都保存在上面,还有我在路上可能想处理的Git项目的本地副本。除非绝对必要,否则我通常不会使用VirtualNV,但您也可以轻松地将它们保留在那里


缺点:你只能得到2GB的免费空间,而现在你可以很快地填满这个空间,所以主动删减是必要的,或者你可以(我认为)每月为100GB版本节省10美元。也无法保证数据的完整性,因此您仍然需要小心备份。最后,根据您从事的项目类型,您可能需要加密您的文件,这不是服务的内置部分,但可以很容易地添加到顶部,特别是如果您使用相同的操作系统访问它。

我有一台MacBook Air作为我的旅行/咖啡厅/客厅机器。我有一个Ubuntu服务器,它在家里相当强大,通常运行一个沙盒虚拟机供我使用。我根据需要ssh到它们中,并来回执行scp操作

任何代码或资源文件(.bashrc.vimrc.dir_colors等),我总是使用git。我对每个项目都使用版本控制(通常是git),不管它是多么愚蠢,我建议您也这样做。我将网站Bitbucket用于我的个人项目:

DropBox和Google Drive用于其他东西(数据文件等),这些东西将来回移动,并且是相当大的

我使用包管理器来保持相同的Python包,并在所有机器上保持最新(apt get或Macbook自制)


除此之外,我只是有意识地努力保持我的通用主目录结构相似。

虽然我不完全确定,但我决定采用在DigitalOcean上设置远程“编码”服务器并使用Tmux+Vim的解决方案。我将在几个月后发布此答案的更新,并给我解决方案的经验。

出于这个原因,我使用USB硬盘

在我的USB硬盘上可以启动,并且有操作系统

某些计算机无法启动该USB磁盘(在尝试从USB硬盘启动后,在BIOS或“启动错误”屏幕中未检测到)。为了解决这个问题,我使用USB闪存(与许多BIOS更兼容)。USB闪存盘-使用OS linux(主机系统)的可引导磁盘。 您可以从主机系统连接USB硬盘并进入chroot环境

在家用电脑上-类似的工作流程。连接USB硬盘并进入chroot环境

使用x2goclient/x2goserver从主机系统上的虚拟操作系统连接X11会话

此外,您还可以使用Xpra将虚拟操作系统的x11输出连接到主机系统的主x11会话

使用更好的chroot环境解决方案-systemd nspawn容器(在archlinux系统上默认安装)

使用x2goclient或xpra应用程序(类似于nomachine/nxclient)是n