我需要设置开发环境以便能够在 Eclipse 中调试应用程序的后端。
有一个前端(可在 user1 下运行)和一个后端(可在 user2 下运行)。每个用户都有自己的登录名和自己的文件系统(在 /home/user1 和 /home/user2 下)。
如果不需要调试,我可以从常规终端会话(您可以轻松地以用户 2 身份登录)运行后端 - 并且运行良好。但这并不是真正的调试(如果您浏览日志文件)。
要在前端查看数据(由后端提供),我显然必须以 user1 身份登录。这意味着我无法访问 /home/user2 下的完整文件系统,而这正是后端所需要的。
我确实想出了一个“类似”的解决方法,但我认为它非常肮脏——作为 root,我将整个目录 /home/user2 的属性更改为所有人都可以读取。说我不喜欢它,那是轻描淡写。对于开发机器来说,这可能不是什么大问题,但你必须对运行时创建的所有新文件一遍又一遍地执行此操作——你必须在每个调试会话中执行此操作(这不是很高效,但在最坏的情况下——是可行的)。
因此,问题是 - 我如何才能以与已在同一台计算机上登录的用户不同的用户身份登录,从而获得具有完整 GUI 的终端会话?有点像 XMing(但这不是一个解决方案,因为它需要另一台 Windows 计算机)或 RemoteDesktop(除非我将登录到同一台计算机)。
简单来说 - 两个不同的用户(同一台机器)同时运行两个 GUI 桌面会话。从我谷歌搜索的结果来看,CentOS 似乎并不真正支持这一点 - 但我可能很容易忽略了这一点。
答案1
有几种不同的方法可以实现这一点:
使用西风为用户 2 启动单独的 X 会话并与其交互。
为用户 2 运行 VNC X Server,并启动程序以连接到它。然后,您可以使用 VNC 查看器连接到它并与其交互。
运行两个 X 服务器,每个都在不同的虚拟终端上。通常情况下,您可以使用Ctrl++和++在它们之间切换AltF7CtrlAltF8
话虽如此,但这并不是必需的。您可以以用户 2 的身份启动后端,以便它监听特定端口上的调试连接,并在主 X 会话中以用户 1 的身份使用 Eclipse 将其附加到后端。这样做的好处是,可以在同一个 Eclipse 会话中同时使用前端和后端进行调试。