我是 Windows 环境下的 Java 开发人员,现在我想开始在 Linux 环境下进行开发。我知道 Linux 是一个多用户平台。所以我的问题是,多个开发人员可以在同一个 Linux 上工作吗?
例如 - 我有一台 Linux 服务器和两台 Windows 操作系统机器。两台 Windows 机器都通过 VNC 访问 Linux 机器。Linux 服务器中有一个项目(Web 应用程序)和两个 eclipse IDE。现在两个用户都从自己的机器上签出同一个项目并开始开发。这可能吗?如果是“是”,那么怎么做?如果是“否”,那么还有其他方法可以并行开发吗?
问候,阿米特
答案1
是的。我还建议使用版本控制系统和单独的用户帐户。
但我强烈推荐使用 VNC 代替无机器 (NX) 这将允许人们同时使用该系统,而无需在屏幕上看到相同的内容(尽管这也是可行的)。此外,很多比 VNC 响应更快。我认为 NX 对一英里外的计算机的响应与 LAN 上的 VNC 一样快。您还应该考虑使用 FreeNX (GPL) 而不是付费版本。
答案2
正如其他答案所指出的那样,Linux 从第一天起就被设计为多用户,因此多个用户同时工作没有问题。只需为每个用户提供自己的登录帐户,他们就会自动获得自己的主目录,并且可以独立工作。VNC 和 NX 都可以用于远程访问。如果您想使用 Windows 的内置 RDP 客户端访问 Linux(尽管没有这方面的经验),您甚至可以将 Linux 用作 RPD(远程桌面协议)服务器。
需要注意的一点是:你写
但是当一个用户从 eclipse 运行该项目时,他可以,但其他用户不能运行该项目
您能发布确切的错误信息吗?“其他用户无法运行”没有什么帮助。
我怀疑你正在为你的 webb 应用程序使用固定的 TCP 端口。虽然 Linux 系统上的大多数资源都存在于每个用户中,但 TCP 端口是全局资源,因此两个用户不能同时使用同一个端口。你只需制定一条规则,让每个开发人员都有自己的端口(一个可能使用 9000,下一个使用 9001,等等)。然后每个人都可以在自己的端口上运行 web 应用程序(通过在应用服务器中设置它),而不会受到其他人的干扰。
请注意,在不同端口上运行对 Web 应用程序没有任何影响。虽然 HTTP 通常使用端口 80,但它可以在任何端口上运行。只需以以下方式访问它:http://本地主机:9000(用于端口 9000)等等。
答案3
是的,有可能,但是您应该确保两个用户有不同的工作目录,以便他们从这些目录中将更改提交到中央代码存储库。否则,无论是否为多用户,您都会覆盖彼此的更改。
如果您还没有版本控制系统,您应该考虑使用 Subversion。
但通过 VNC 进行编程并不那么愉快。我对这个设置有更好的体验:
- 两台 Windows 开发机器,以无缝模式运行带有 VirtualBox 的 Linux。
- 这些更改被提交到运行 Subversion 的中央 Linux 服务器。
它还有一个优点,即使服务器暂时无法连接,人们仍然可以工作。