当前位置: 首页 > news >正文

如何在 Ubuntu 服务器上安装桌面环境(GUI) | Linux 中国

说明:

如果只是想以console terminal (disable GUI on boot)界面启动的话,

sudo systemctl set-default multi-user.target

如果想要以图形界面启动的话,

sudo systemctl set-default graphical.target

如果采用lightdm管理器,如果需要关闭/开启图形界面启动,使用下面的命令即可,

#########lightdm的禁用##############
sudo systemctl stop lightdm
#或者下面这个
sudo service lightdm stop
sudo systemctl disable lightdm.service
#########lightdm的使用##############
sudo systemctl enable lightdm.service
sudo systemctl start lightdm.service
#或者下面这个
sudo service lightdm start

如果采用gdm3的话,就用,

#########gdm3的禁用##############
sudo service gdm3 stop
#或者下面这个
sudo systemctl stop gdm3.service
sudo systemctl disable gdm3.service
#########gdm3的使用##############
sudo systemctl enable gdm3.service
sudo systemctl start gdm3.service
#或者下面这个
sudo service gdm3 start

下面介绍的是使用lightdm管理器的办法,参考原文

系统运维|如何在 Ubuntu 服务器上安装桌面环境(GUI)

你想在你的 Ubuntu 服务器上安装 GUI 吗?大部分情况下你是可以安装的,在本教程中我会详细介绍安装的步骤。

在正式开始之前,我来告诉你为什么服务器版的 Ubuntu 不带 GUI,以及在什么情况下你可以在服务器上安装 GUI。

为什么 Ubuntu 服务器没有 GUI?

你对比过 Ubuntu 的桌面版和服务器版会发现,两者的主要区别是服务器版缺少 GUI(比如 桌面环境)。Ubuntu 服务器基本上就是桌面版去掉图形模块后的降级版本。

这是刻意为之的。Linux 服务器需要占用系统资源来运行服务。图形化桌面环境会消耗大量的系统资源,因此服务器操作系统默认不包含桌面环境。

你可以在只有 512 MB RAM 的机器上使用 Ubuntu 服务器,但是 Ubuntu 桌面需要至少 2 GB 的 RAM 才能提供正常的功能。在服务器运行桌面环境被认为是浪费资源。

作为一个服务器使用者(或系统管理员),你应该通过命令行来使用和管理你的系统。为了达到这个水平,你需要掌握丰富的 Linux 命令相关的知识。

Typically, you have to manage a server from the command line

你是否真正需要在你的服务器上安装 GUI?

有些用户可能不太习惯在终端下使用命令行来完成工作。毕竟大部分用户是有条件通过图形界面操作计算机的。

你可能会在你的服务器上安装桌面环境并使用图形界面。大部分人不会这么干,但这是可行的。

但是这只有在你可以直接操作服务器时才行得通。假设你是在物理机器上运行它,比如服务器、台式机或笔记本电脑,抑或类似树莓派的设备。如果你可以直接操作宿主机系统,那么你还可以在运行在虚拟机上的服务器上安装。

如果你是通过 云服务器提供商如 Linode、DigitalOcean 或 AWS 部署的服务器,那么安装 GUI 就行不通了。如果你想通过图形界面来管理你的远程服务器,你可以使用 Webmin 或 Cockpit 等工具。你可以在 Web 浏览器中通过这些工具使用和管理你的服务器。相比于成熟的桌面环境,它能大大降低资源消耗。

Tools like Cockpit allow managing Linux servers graphically

如何在 Ubuntu 服务器上安装 GUI?

当你了解了基础知识后,我们一起来看看在 Ubuntu 服务器上安装桌面环境的步骤。

你需要做以下准备:

  • 已经配置好 Ubuntu 服务器,且 RAM 至少 2 GB
  • 管理员权限(你需要用 sudo 执行命令)
  • 网络连接正常(你需要下载和安装新包)

我是在虚拟机上安装的 Ubuntu 服务器,并且我可以直接操作宿主机器。我使用同样的方法在树莓派上安装了 Ubuntu 服务器。

注意!

如果你是出于学习和调研等实验性的目的,那么你可以进行这些操作。请不要在生产环境的服务器上添加 GUI。后续删除 GUI 时可能会导致依赖问题,有些情况会破坏系统。

准备系统

首先,因为你将要做一些系统级的修改,因此先进行更新和升级以确保我们系统的包是最新的:

  1. sudo apt update && sudo apt upgrade

安装桌面环境

更新结束后,你就可以安装桌面环境了。

有两种方法:

  • 使用 apt 来安装包
  • 使用一个名为 tasksel 的 Debian 工具,这个工具可以通过一条龙处理(任务)方式来安装多个包

任何一种方法都可以用完整包的方式来安装完整的桌面环境,就跟你从头安装桌面版本一样。我的意思是你可以得到跟桌面版本一样的所有的默认应用程序和工具。

如果你想使用 tasksel,需要先用下面的命令安装它:

  1. sudo apt install tasksel

执行结束后,你就可以用 tasksel 来安装桌面环境(也叫 DE)了。

你可能知道有 很多可用的桌面环境。你可以选择自己喜欢的一个。有些桌面环境对系统资源占用得多(像 GNOME),有些占用得少(像 Xfce、MATE 等等)。

你可以自己决定使用哪个 DE。我会安装 GNOME 桌面,因为它是 Ubuntu 默认的桌面。之后我也会介绍其他桌面的安装。

如果你使用的是 tasksel,执行下面这条命令:

  1. sudo tasksel install ubuntu-desktop

如果你使用 apt,执行下面这条命令:

  1. sudo apt install ubuntu-desktop

这个过程可能会持续几分钟到一个小时,执行速度取决于你的网速和硬件。

我想提醒下,上面两个命令执行后都会安装完整的 GNOME 桌面环境。在本文中我两个命令都会执行,两个命令的结果是一样的。

安装和配置显示管理器

安装完成后,你需要一个名为 显示管理器 或“登录管理器”的组件。这个工具的功能是在管理用户对话和鉴权时启动 显示服务器 并加载桌面。

GNOME 桌面默认使用 GDM3 作为显示管理器,但从资源角度考虑它有点重。你可以使用更轻量级和资源友好的管理器。这里我们使用一个平台无关的显示管理器 lightdm。使用 apt 安装它:

  1. sudo apt install lightdm

安装 lightdm 时系统会让我们选择默认的显示管理器,因为即使你可以安装多个管理器,也只能运行一个。

 Use the arrow key to select an option and then use the tab key to select and press enter

选择列表中的 “lightdm” 并点击 “<Ok>”。这应该用不了几分钟。完成后你可以用下面的命令启动显示管理器并加载 GUI:

  1. sudo service lightdm start

你可以使用下面的命令来检查当前的显示管理器:

  1. cat /etc/X11/default-display-manager

运行后得到的结果类似这样:

Checking the default Display Manager

如果一切顺利,你现在会来到欢迎界面。

Greetings screen of GNOME Desktop with LightDM on an Ubuntu server

输入你的凭证,你的桌面就运行起来了。

GNOME Desktop fully loaded on Ubutnu server

如果你想关闭 GUI,那么打开一个终端并输入:

  1. sudo service lightdm stop

安装其他的桌面环境(可选)

前面我说过我们可以选择不同的桌面。我们一起来看看一些其他的选项:

MATE

MATE 是基于 GNOME2 源码的轻量级桌面,它完全开源,是一个不错的选项。

用下面的命令来安装 MATE:

  1. sudo tasksel install ubuntu-mate-core

  1. sudo apt install ubuntu-mate-core

Lubuntu / LXDE/LXQT

如果你的系统资源有限或者电脑很旧,那么我推荐另一个轻量级的 Lubuntu。使用下面的命令安装它:

  1. sudo tasksel install lubuntu-core

  1. sudo apt install lubuntu-core

Xubuntu / Xfce

Xubuntu 是基于 Xfce 的 Ubuntu 衍生版,轻量、简单、稳定但可高度定制。如果你想使用它,执行下面的命令:

  1. sudo tasksel install xubuntu-core

  1. sudo apt install xubuntu-core

还有一些桌面没有列出来,像 KDE,Cinnamon 和 Budgie,不代表它们不好,它们也都是非常卓越的,你可以自己尝试安装它们。

如何从 Ubuntu 服务器上删除 GUI?

如果你觉得桌面环境占用了太多的计算资源,你可以把之前安装的包删除掉。

请注意在某些情况下删除 GUI 可能会带来依赖问题,因此请备份好重要数据或创建一个系统快照。

  • 如何从 Ubuntu 上删除包
  1. sudo apt remove ubuntu-desktop
  2. sudo apt remove lightdm
  3. sudo apt autoremove
  4. sudo service lightdm stop

现在重启你的系统。你应该回到了正常的命令行登录。

结语

在大多数场景下是可以安装桌面 GUI 的。如果你不适应命令行,那么请使用类似 YunoHost 的发行版的服务器,YunoHost 基于 Debian 系统,你可以通过 GUI 来管理服务器。

上面说了,如果你是从头安装系统,那么我建议你使用桌面版本以避免后续的步骤。

如果你有任何问题,请在评论区留言。你会在服务器上使用 GUI 吗?参照本文后你遇到了什么问题吗?

via: How to Install GUI on Ubuntu Server [Beginner's Guide]

作者:Chris Patrick Carias Stas 选题:lujun9972 译者:lxbwolf 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关文章:

  • Ubuntu Server 20.04.4 在树莓派上的体验之连接网络和WIFI(WLAN0)
  • Ubuntu ERROR: sudo: unable to resolve host ubuntu: Name or service not known
  • Ubuntu Server 20.04.4 在树莓派上的体验之ROS-Noetic的安装
  • ROS移植机器人小车:catkin_make过程中碰到的各种小问题
  • ROS移植机器人小车:问题集
  • ROS移植机器人小车:问题集(2)
  • Linux查看IP地址的几种方法
  • linux常用命令:查看硬件配置的方法示例(含Jetson)
  • anaconda安装opencv -> python[version=‘>=2.7,<2.8.0a0|>=3.5,<3.6.0a0|>=3.6,<3.7.0a0|>=3.7,<3.8.0a0‘]
  • VIM的一些常指令和用法
  • 如何自定义FileZilla编辑文件的默认打开方式
  • 如何在 Ubuntu 和其它 Linux 发行版中更改时区
  • OpenVINO: export failure: libpython3.9.so.1.0: cannot open shared object file: No such file or direc
  • udev规则以及编写
  • ROS + UDEV管理开源小车rikirobot的USB设备
  • CSS3 变换
  • eclipse的离线汉化
  • Flex布局到底解决了什么问题
  • HTTP中的ETag在移动客户端的应用
  • IP路由与转发
  • Linux快速复制或删除大量小文件
  • Node 版本管理
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • Python_OOP
  • SwizzleMethod 黑魔法
  • 从0到1:PostCSS 插件开发最佳实践
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 可能是历史上最全的CC0版权可以免费商用的图片网站
  • 力扣(LeetCode)965
  • 微服务入门【系列视频课程】
  • 我的zsh配置, 2019最新方案
  • 优秀架构师必须掌握的架构思维
  • 《TCP IP 详解卷1:协议》阅读笔记 - 第六章
  • 好程序员web前端教程分享CSS不同元素margin的计算 ...
  • 说说我为什么看好Spring Cloud Alibaba
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • #if #elif #endif
  • #NOIP 2014# day.1 T3 飞扬的小鸟 bird
  • (DFS + 剪枝)【洛谷P1731】 [NOI1999] 生日蛋糕
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (二)linux使用docker容器运行mysql
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • (转)C#开发微信门户及应用(1)--开始使用微信接口
  • (转)http-server应用
  • (转)四层和七层负载均衡的区别
  • (轉貼) UML中文FAQ (OO) (UML)
  • ***微信公众号支付+微信H5支付+微信扫码支付+小程序支付+APP微信支付解决方案总结...
  • .NET国产化改造探索(一)、VMware安装银河麒麟
  • .NET开源全面方便的第三方登录组件集合 - MrHuo.OAuth
  • .net利用SQLBulkCopy进行数据库之间的大批量数据传递
  • .NET是什么
  • .net通用权限框架B/S (三)--MODEL层(2)
  • @JSONField或@JsonProperty注解使用
  • []Telit UC864E 拨号上网
  • [2016.7 Day.4] T1 游戏 [正解:二分图 偏解:奇葩贪心+模拟?(不知如何称呼不过居然比std还快)]