通过远程桌面进行开发

16

有人关于使用远程桌面团队工作的经验吗?

在许多工作场所中,我们通过Citrix将终端用户放在一个中央、强大的服务器上运行应用程序。有时客户端与服务器在同一建筑物内,但通常客户端是远程的。

对我来说,让我的开发人员在运行在Hyper-V上的Windows XP或Vista实例上可能会有很大的好处。

我担心通过Internet进行的RDP/RDC会使开发人员无法高效地开发。

我相信我能听到许多负面的东西...有没有人已经取得了成功?

15个回答

16

我曾经见过使用卫星办公室进行此操作的情况。 这是为了一个使用各种Java IDE工具的Java开发团队而做的。 结果并不被视为成功,公司花费了巨大的代价将团队带回伦敦中心办公室。

对于在交互式软件上日复一日地执行此操作的人来说,结果实际上并不是很令人愉悦。 对于主要使用基于文本的工具(如vim和Unix命令行工具)的工具,它可以稍微更好地工作。 曾经我用128 Kbit DSL链接(这种类型当时在新西兰很普遍)运行XVNC,并可以在远程位置轻松地处理基于Oracle的数据仓库。 工具所需的互动水平使它们比基于Windows的IDE更不敏感于缓慢的链接。

因此,我会在一些限制条件下引用“取决于”的论点:

  • 我不建议在现代IDE上进行此操作,特别是像Dreamweaver、BI Development Studio或Informatica这样的重度图形工具。

  • 对于传统Unix开发工具等文本环境,它可能可以很好地工作。 这些用户界面比直接操作用户界面对延迟不太敏感。

我有点信奉“最好的工具”原则。 特意给开发团队提供二流的用户界面会发出负面信号。 这样做的成本节约可能很小,而且它一定会惹恼你的一些团队成员。 即使它可以相当好地工作,你仍然正在做一个价值陈述。 将成本节约与替换一名或多名关键开发人员的成本进行权衡。


10

我们使用RDP连接开发环境,本地性能非常好。通过VPN连接会稍微变慢,但仍然可以接受。

关闭所有Windows动画功能、桌面背景等会大大提高性能。


1
同意,这肯定是可行的。你会注意到差异,但你可以适应它。我期待着Windows 7以及它通过RDP支持双显示器。对我来说最难处理的部分是在工作时有两个显示器,在家里也有两个显示器,但只能在远程连接时使用一个。 - Jim Petkus
1
远程桌面协议支持双显示器将对我来说是一个巨大的胜利。 - Chris Ballance

9
如果您不担心音频和快速移动图像的延迟,并且不开发依赖于3D硬件的任何内容,那么您可能会很满意。
我从未在团队环境中使用过它,但我整天都将我的笔记本电脑远程桌面连接到我的工作站上,我非常喜欢它。

我也是这样做的。在办公室时,我使用我的工作站;远程时,我使用笔记本电脑简单地进行远程桌面连接。 - Stewart Robinson

8

我曾在一个环境中工作,我们偶尔通过远程桌面编辑一些现有代码。这并没有带来太大的挑战。但作为开发人员,我非常讨厌这样的工作。所有操作都感觉缓慢且不响应。但是,我们完成了这项工作。

谢天谢地,这些工作通常只需要3-4小时......主要是修复远程客户站点上现有系统的问题。我不认为我能推荐它作为正常的工作方式,但它肯定是可能的。


3
我曾经在DSL连接上使用过VNC和RDP,通过SSH隧道运行,没有遇到任何真正的问题。
当屏幕重绘大部分内容时,确实会有一些延迟。但是大多数开发都涉及小的编辑,这两种协议都能很好地处理。

3
我使用远程桌面控制我工作中的Windows机器。在我的Mac上使用Parallels虚拟机,我的连接速度为2.5M下行,256k上行。
这个方法非常好用。我已经这样做了两年,每周1-3天。慢的上行速度不是问题 - 我不能打字那么快。
我在工作中有3个屏幕,但仍然发现20英寸的Mac屏幕更好用。颜色更清晰,而且我可以在Mac上工作更长时间!
致命的问题是浏览器中的Flash。如果我在远程机器上意外打开一个带Flash的浏览器,它会导致连接断开。解决办法是使用FlashBlock(火狐插件)。
我使用Eclipse和Visual Studio没有任何问题。

2

我曾经使用过它来在家工作(通过VPN远程登录到我的办公室电脑)。

当然,性能取决于您的ISP。

它的可靠性稍微低一些(因为除了在办公室局域网宕机时/如果有宕机时间外,现在还存在着任何一个互联网连接宕机的额外风险)。


2
我有一个远程服务器,带宽为1Mbps,我通过VPN连接到该服务器,并且运行得非常好。我甚至使用大屏幕分辨率(1600x1200),没有性能问题。当然,我不确定这样的设置对于多个并发用户会如何表现。
通过RDP进行开发的一个好处是,您可以保存会话--因此,在一天的开发工作完成后,您退出RDP客户端并关闭计算机,第二天再次登录时,您的会话就在您离开的地方。
额外的好处是,RDP客户端可用于LinuxOS X系统。

2

我每天都使用远程桌面协议进行开发工作,我在家把笔记本电脑开着,把工作环境打开并准备就绪。当我来到办公室,看到其他人正在加载项目和打开程序时,我只需使用远程桌面协议便可立即开始工作。但是你必须记住某些键盘快捷键的变化(例如CTRL+ALT+DEL),这一开始可能很烦人,但你会习惯的。

为了将延迟降到最低,我建议您...

  • 将颜色调至256色(毕竟,您只需要看到文本)
  • 在其他计算机上保留壁纸
  • 在其他计算机上保留声音
  • 在其他计算机上保留任何主题
  • 选择更低的连接速度,即使您的速度更快。Windows会最小化发送的数据。

您还可以考虑其中一个优点是处理能力。如果您在家的机器规格比您在工作场所的工作站好得多,编译时间会大大缩短。由于您的本地计算机只需要更新来自远程计算机的图像,因此您的本地计算机不会负载。

使用此选项也使我保持在跟踪上。当其他人登录并浏览互联网浪费时间时,我已经准备就绪。更有效率有助于您赚取更多的钱(如果您的雇主注意到),而其他人仍然被困在初级编程角色中。


1

在2000年之前,我每天都会做几个小时,持续了3年。那时候带宽也很差。

现在情况好多了。

如果你使用NxMachine,生活会变得更美好 :)

不过,我没有与多个用户一起使用机器。我的担忧是开发人员是一个挑剔的群体(包括我自己),我们 tend to push machines really hard as it is.

无法想象几个人在同一台电脑上编译的情况 :)

G-Man


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接