是否有人(出于选择或被迫)在他们必须远程桌面进入的计算机上进行开发?
你的经历如何?
我可以看到优势,因为只要您有足够快的连接,您基本上可以在世界任何地方进行编码。
复制
https://stackoverflow.com/questions/424869/reasons-to-use-a-vm-for-development
是否有人(出于选择或被迫)在他们必须远程桌面进入的计算机上进行开发?
你的经历如何?
我可以看到优势,因为只要您有足够快的连接,您基本上可以在世界任何地方进行编码。
https://stackoverflow.com/questions/424869/reasons-to-use-a-vm-for-development
我不得不为一个共享点项目这样做,它几乎让我发疯。这些小的延迟确实加起来了,尤其是在滚动文本时。
我已经做到了。它有效,但对我的口味来说有点慢。我不知道这是否取决于我们当时运行的硬件等。当我不在控制台附近时,一些小用途是可以的,但是打字延迟很快就会影响到我。我听说 Citrix 曾经声称他们所有的人都毫无困难地使用了他们的远程解决方案,包括程序员。不过这是几年前的事了。
是的,我过去曾远程办公,远程桌面进入位于公司防火墙内的 PC 非常高效。我们都知道编码不仅仅是在 IDE 中打字。它是关于访问开发、测试、编译、共享和发布所需的资源。
是的!!我工作的公司在不同地方的服务器中安装了虚拟机(更具体地说是不同的国家)......正如凯文所说,它很慢,但我可以在任何地方工作。
在这里使用远程桌面在各种虚拟机上进行开发(通常在本地网络的某个地方,所以不是那么远程)。令人惊讶的是,同样的(小的、不可预测的)延迟让一些开发人员几乎发疯,完全打乱了他们的工作流程……而其他人几乎没有注意到它们,并且在远程系统上的效率与在本地计算机上一样高。我还没有弄清楚这是个人特质还是可以训练的东西。
这完全取决于您的连接速度/延迟。我通过 VPN 远程桌面连接到我的工作计算机,从家里远程开发,我发现它在性能方面与实际坐在工作中完全一样。唯一的缺点是双显示器问题,因为我有 2 个 19 英寸的显示器在工作中,而在家里有一个,但这并没有真正减损我正在进行的开发工作。
更难的是与其他员工的沟通 - 在工作中很容易走过去与某人聊天,给他们打个电话等。由于我们没有任何 IM 系统,远程工作人员仅限于电子邮件只做通讯。
我现在正在做。这有点拖累,但可以忍受。
只要您不尝试开发/调试图形密集型应用程序,就应该没有问题。我几乎每天都在我的 Mac 笔记本电脑上使用远程桌面在我办公室的 Windows 机器上进行开发,并且没有任何抱怨。50% c++ 桌面应用和 50% php web 应用。
当我需要在签入后编译我的应用程序副本时,我会使用远程桌面。我发现通过远程连接进行开发需要更长的时间,尤其是在连接或延迟出现问题的情况下。几年来,我一直在笔记本电脑上以这种方式工作,因为我在办公室的台式机功能要强大得多。现在我有一台四核机器,在家里开发并在本地进行所有测试比通过远程进行更方便。唯一的问题是确保您拥有可靠的备份解决方案,因为丢失代码不是一种选择。我正在运行 RAID 5 磁盘阵列和在线备份解决方案。然而,性能差异意味着我现在节省了大量的本地开发时间,而且更有趣(VS 2008 的道具)。
摘要:在本地开发、在本地测试和在本地编译(从本地 LAN 和远程将文件复制到部署盒所需的时间更少)。在使用它的地方做你的工作,如果你在家里测试,然后在家里开发。
如果您的连接速度很好,那是完全可以的。您必须注意菜单和类似内容的轻微延迟。我每周有两到三天在家工作,这很棒,因为我有 70 英里的通勤时间。
大多数时候我没有太多的延迟。我是从新罕布什尔州到佛罗里达州再返回新罕布什尔州的 VPN。由于我的桌面是 Vista 而我的工作桌面是 XP,我认为没有双显示器我将无法生活,但我一直在使用RoyalTS。RoyalTS 不仅让我可以管理我需要连接的所有服务器和桌面,而且当我连接到我的 XP 桌面时,我可以在我的两个显示器上传播 Royal TS,并获得一个漂亮的宽终端窗口。我失去了最大化显示器的能力,但我可以适应。
它对我来说效果很好。每月大概有 2 到 3 个小时,延迟会变差,让我抓狂。
我做过一次。通过局域网,因为隔壁的 IT 服务台太吵了,我发现无法集中注意力。那是在假期期间,他们无事可做(但必须在现场以防有支持电话打进来)并在 XBox 上玩。我去了大楼另一端的实验室,并从那里进入我自己的工作站。它稍微慢了一点,但非常值得。
对我来说,忍受滚动太慢了。我工作的公司试图让我们检查笔记本电脑以在家中进行迟到的工作,但他们不想花时间了解我们的 IDE 和其他工具是否以我们可以使用的方式获得许可他们离开笔记本电脑。因此,我们应该使用 VPN 并在笔记本电脑上运行我们的台式机。
在花了 4 个小时等待屏幕刷新完成一项本应花费我不超过一个小时的任务后,我最终只开车 7 英里到办公室。之后再也没有尝试过。
不完全回答您的问题,因为我不是真正的远程桌面,但是:
我一直在远程工作(=编写代码),使用 ssh、screen和 vim 的组合。通过基本的 DSL 线路,您可以获得与在本地工作时完全相同的响应能力。在任何现代机器上,您可以一次打开任意数量的编辑窗口和解释器,并且从另一台机器断开和恢复屏幕会话只需要一个命令。
当然,如果您是游戏程序员,则此设置效果不佳:)
我经常在家里这样做。它在局域网上运行良好,但如果我尝试从外部源连接到我的家用计算机,尤其是通过蜂窝连接,它几乎无法忍受。
这对于小型应用程序是可行的,但正如其他人所说,这很困难。
主要问题
我发现我会在周末来办公室,而不是这样做,除非我只是有一个非常快速的任务。我们有一个下雪天,办公室里的每个人都试图同时使用 VPN,我什至无法让我的光标工作。
但是,在办公室里,我一直在远程访问我们在另一个州的服务器,这似乎工作正常。但同样,我并没有做更多的故障排除或运行快速流程或复制文件。当两台服务器都在另一个位置并且我在弗吉尼亚州这里时,将大文件从一台服务器复制到另一台服务器要快得多。
我遇到过一些必须远程访问机器的情况,通常是为了调试我在本地机器上无法执行的操作,例如拥有 2 个使用 Windows 2000 Professional 的网站,或者必须安装一些软件在本地安装比在 CMS 等服务器上使用或运行软件的中间件更痛苦。
对我自己来说,最大的问题是服务器上的东西可能与我的本地机器位于不同的位置,这有其好的和坏的优势。另一点是机器之间的 IIS 版本不同。Web Server 2008 有一些不错的功能,使其类似于资源管理器中的 Vista,这有点好坏,IMO。在这种情况下,壁纸、快速启动按钮和其他一些个人风格通常会被最小化。
我会说做一两天是可以的,但不仅如此,它会变得丑陋。我记得一个前同事的故事,多个开发人员不得不共享同一个服务器进行开发。这些年来,我从未见过如此糟糕的事情。
除非绝对被迫,否则我会拒绝,即使那样最好是一个很好的理由。顺便说一句,如果客户端和主机 PC 都在运行 vista,您可以远程终端并使用双显示器
但是,我们确实通过 Hudson 使用干净的 VM 进行构建/CI。我相信这是两全其美的。
这是可能的,但它是残酷的。
当我需要在办公室 PC 上编译程序时(我在家里使用 mac 笔记本电脑),我一直在这样做。这不是很有趣,但它对于相对较短的任务是可行的。提示的短暂滞后有点烦人。
主要问题是分辨率越高,占用的带宽越多,有时体验越差。我使用 Eclipse,我只能在非常高分辨率下使用它。
我们的开发团队使用 ESX 服务器,我们每个人都会在其中启动一个或多个虚拟服务器和 RDC 来完成我们所有的开发任务。我们几乎只将主机笔记本电脑用于个人生产力和协作任务(办公室/电子邮件/聊天/网络/等)。它工作得很好!我们有一个不错的网络,所以延迟通常不是问题。我喜欢在不影响我的实际计算机的情况下破坏我的开发环境的自由,并在一小时内让另一台重新上线。
我在本地网络(非常快)上工作,它似乎工作得很好。但是,当我必须通过 256k 电缆连接从家里远程访问时,它可能会由于延迟而无法使用,但通常还可以。
这在技术上是可能的,这意味着它会起作用,但你可能不会活太久。
特别是如果您不在本地网络中,而是通过 Internet 访问服务器,即使 DSL 线路也对您没有多大帮助。
我曾尝试在本地网络中以这种方式使用 Visio,最后我只是将笔记本电脑与本地安装一起带入以稳定我的精神状态。
今天,当许多人如此谨慎,甚至没有任何鼠标适合他们,因为它不够敏感或过于敏感,尝试切换到远程桌面模式实际上会将您传送到石器时代。
当您只需要短时间连接来管理事物时,远程桌面非常有用。它并不是真的要组织远程软件的使用。它会起作用,但你不会喜欢它。
我一直使用 X11(或有时 VNC)来做这件事。其中一些也是 OpenGL 开发:如果您有足够的带宽并且使用比全屏更小的窗口,X11/GLX 工作得很好。
但无论你有多少带宽,真正决定体验是否愉快的因素是延迟。<50ms 好;> 100ms 开始变得疯狂。
我让他们把我的开发箱放在服务器机房里,在那里它可以得到保护和备份。我使用基于公司的 VPN 和远程桌面访问它,具有锁定功能,如无剪贴板复制/粘贴。它让我可以快速访问他们防火墙内的所有内容(包括数据库和 SVN),并让我使用“一次性”笔记本电脑,如果它被盗,它不会真正丢失任何东西。如果是这样,我只需花大约 500 美元购买另一个,安装 VPN,然后我就走了……
不过,还是挺无聊的。当我们成长为它时会更喜欢它。
将 RemoteDesktop 与多屏幕一起使用 - 我经常遇到无法重绘屏幕的问题,尤其是当窗口大于 1 个屏幕时。