我主要是一名开发人员,但作为其中的一部分,我正在为一个客户运行一个 Ubuntu 服务器,他有几个中小型网站。虽然我的主要开发环境通常是 Windows,但我相当熟悉 Linux(我在两个主要工作站之一上运行 Ubuntu)和命令行 unix(在 90 年代后期在 HP-UX 上管理 Oracle)
因此,尽管我确实觉得在命令行上相当称职,但我还是有点生疏,通常更喜欢 GUI。我知道我可以在 Ubuntu 服务器上安装桌面,但我不确定是否应该,所以我的问题是
我不应该在 Ubuntu 服务器上安装桌面是否有任何特殊风险或原因?特别是任何安全或性能问题?还是我应该咬紧牙关,在命令行上完全恢复速度?
如果安装桌面是一个合理的选择,我应该选择哪一个?我真的不需要 Gnome 或 KDE 的臃肿——只是一个我可以访问基本 GUI 工具的环境,也许还有一个浏览器,可以让下载脚本等更简单。XFCE 适合吗?
这在很大程度上是一个以易用性为中心的问题——我不是在完全替换命令行之后,只是为了让那些不会成为专门的 Linux 管理员。
Ubuntu Server 和 Ubuntu Desktop 之间的唯一区别是可以使用 apt-get 安装的 Desktop 软件包。
我可以看到为什么我不会在远程服务器上使用它的几个原因:
我几乎全心全意地支持命令行,但我认为这取决于你需要做什么。您需要简化哪些基本任务?
如果您希望以更加图形化的方式管理服务器上的文件,并且不想使用午夜指挥官之类的东西(请参见此处的屏幕截图),那么您可以将其全部设置好,以便您可以从使用 nfs 或 sshfs 在您的开发机器上安装服务器 - 您可以获得访问权限,但没有完整桌面环境的性能和磁盘开销。
更新:这里有一个关于设置 sshfs
的快速教程,这里是一个用于 nfs 的教程。
我还没有真正使用过 sshfs,但从教程的角度来看,它比 nfs 更容易一些,特别是如果你已经设置了 ssh 和东西。
我相信 NFS 版本在文件传输速度方面应该更快,因为它不会进行任何加密。
另一种选择是在您的机器上运行本地 X-Server,然后使用 SSH 并打开 X 端口转发。请参阅 如何启用 X11 转发到 Debian 服务器框?
这将允许您在您的机器上本地打开 X 应用程序,而不会在服务器上产生太多开销。
我不知道启用 GUI 究竟能给你带来多少价值。无论如何,您需要在终端中进行管理服务器所需的大部分操作。GUI 可能帮助您的事情可能是您无论如何都必须学习的事情,以处理没有任何 GUI 工具来管理它们的服务。
我喜欢 XFCE,它很轻巧,如果您只是在寻找文件浏览器,这可能会对您有所帮助。但我认为你选择什么并不重要,大多数桌面环境并不是真正旨在管理服务器。
如果您确实决定确实需要这样做,我建议您禁用 GDM/KDM。因此,当您不需要 X 服务器时,它不会继续运行。相反,只需登录控制台并运行startx即可启动它。
您在系统上安装的东西越多,就越有可能存在可被利用的错误。OTOH,一个不继续运行的最小窗口环境不应该导致安全风险或性能问题的任何显着增加。
Byobu(以前称为屏幕配置文件)是一组与 GNU 屏幕一起使用的脚本,它将提供窗口系统的一些好处 - 您在终端底部有一个窗口列表,以及一系列指标(时间、CPU 负载、是否需要更新……)。有一个基于 F 键的菜单。请参阅作者的这篇文章,以及来自 ars technica的这篇文章。
但是它不是鼠标驱动的,它不会提供图形文件管理器,您不能使用它运行图形应用程序。
所以我不知道它是否能完全满足您的需求,但它可能与sshfs 结合使用,正如另一个答案中所建议的那样。
根据您需要管理的类型,还有Webmin等选项来管理 DNS、用户、apache。我只与其他一些主机一起使用过,但它似乎工作得很好。