如何在 CentOS 7 上安装桌面环境?

αғs*_*нιη 209 gui desktop-environment centos

我最近安装了 CentOS 7(没有 GUI 的最小安装),现在我想在其中安装一个 GUI 环境。

如何在不重新安装之前安装的 CentOS7 上安装桌面环境?

αғs*_*нιη 334

1. 安装 GNOME-Desktop:

  1. 在此处安装 GNOME 桌面环境。

    # yum -y groups install "GNOME Desktop" 
    
    Run Code Online (Sandbox Code Playgroud)
  2. 安装完成后输入如下命令:

    # startx 
    
    Run Code Online (Sandbox Code Playgroud)
  3. GNOME 桌面环境将启动。首次启动时,初始设置运行,您必须第一次对其进行配置。

    • 首先选择系统语言。
    • 选择您的键盘类型。
    • 如果您愿意,可以添加在线帐户。
    • 最后点击“开始使用 CentOS Linux”。
  4. GNOME 桌面环境启动如下。

GNOME 桌面环境:开始屏幕

如何使用 GNOME Shell?

CentOS 7 的默认 GNOME 桌面以经典模式启动,但如果您想使用 GNOME Shell,请设置如下:

选项 A:如果你用 启动 GNOME startx,设置如下。

# echo "exec gnome-session" >> ~/.xinitrc
# startx 
Run Code Online (Sandbox Code Playgroud)

选项 B:设置系统图形登录systemctl set-default graphical.target更多信息)并重新启动系统。系统启动后

  1. 单击位于“登录”按钮旁边的按钮。
  2. 在列表中选择“GNOME”。(默认为 GNOME Classic)
  3. 单击“登录”并使用 GNOME Shell 登录。

选择了 GNOME 的登录屏幕

  1. GNOME shell 启动如下:

GNOME 桌面环境 - 示例屏幕

2. 安装 KDE-Desktop:

  1. 在此处安装 KDE 桌面环境。

    # yum -y groups install "KDE Plasma Workspaces" 
    
    Run Code Online (Sandbox Code Playgroud)
  2. 安装完成后输入如下命令:

    # echo "exec startkde" >> ~/.xinitrc
    # startx
    
    Run Code Online (Sandbox Code Playgroud)
  3. KDE 桌面环境启动如下:

KDE 桌面环境:示例开始屏幕

3. 安装 Cinnamon 桌面环境:

  1. 在此处安装 Cinnamon 桌面环境。

    首先添加 EPEL 存储库(由 Fedora 项目提供的 EPEL 存储库。)
    企业 Linux 的额外包(EPEL)

    • 如何添加 EPEL 存储库?

      # yum -y install epel-release
      
      # sed -i -e "s/\]$/\]\npriority=5/g" /etc/yum.repos.d/epel.repo # set [priority=5]
      # sed -i -e "s/enabled=1/enabled=0/g" /etc/yum.repos.d/epel.repo # for another way, change to [enabled=0] and use it only when needed
      # yum --enablerepo=epel install [Package] # if [enabled=0], input a command to use the repository
      
      Run Code Online (Sandbox Code Playgroud)
    • 现在从 EPEL 存储库安装 Cinnamon 桌面环境:

      # yum --enablerepo=epel -y install cinnamon*
      
      Run Code Online (Sandbox Code Playgroud)
  2. 安装完成后输入如下命令:

    # echo "exec /usr/bin/cinnamon-session" >> ~/.xinitrc
    # startx 
    
    Run Code Online (Sandbox Code Playgroud)
  3. Cinnamon 桌面环境将启动。首次启动时,初始设置运行,您必须第一次对其进行配置。

    • 首先选择系统语言。
    • 选择您的键盘类型。
    • 如果您愿意,可以添加在线帐户。
    • 最后点击“开始使用 CentOS Linux”。
  4. Cinnamon 桌面环境启动如下。

Cinnamon 桌面环境:示例启动屏幕

4. 安装 MATE 桌面环境:

  1. 在此处安装 MATE 桌面环境(您需要提前添加 EPEL 存储库)。

    # yum --enablerepo=epel -y groups install "MATE Desktop"
    
    Run Code Online (Sandbox Code Playgroud)
  2. 安装完成后输入如下命令:

    # echo "exec /usr/bin/mate-session" >> ~/.xinitrc 
    # startx
    
    Run Code Online (Sandbox Code Playgroud)
  3. MATE 桌面环境启动。

MATE 桌面环境:示例启动屏幕

5.安装Xfce桌面环境:

  1. 在此处安装 Xfce 桌面环境(您需要在之前的“Cinnamon”安装中像上面一样添加 EPEL 存储库)。

    # yum -y groupinstall X11
    # yum --enablerepo=epel -y groups install "Xfce" 
    
    Run Code Online (Sandbox Code Playgroud)
  2. 安装完成后输入如下命令:

    # echo "exec /usr/bin/xfce4-session" >> ~/.xinitrc 
    # startx
    
    Run Code Online (Sandbox Code Playgroud)
  3. Xfce 桌面环境启动。

Xfce 桌面环境:示例启动屏幕

  • 安装`epel`我需要`yum install epel-release` (5认同)
  • 我下载了 CentOS 7 的 7GB 版本并安装在 VirtualBox 上,令人惊讶的是,没有 GUI。7GB 与带 GUI 的 Ubuntu 的 1GB 相比。答案中的第 1 步给了我错误“找不到有效的 repo baseurl”......哦...... PS 我刚刚发现它在安装过程中被默认为“最小安装”——你只需要改变它到 GNOME 或其他东西 (3认同)
  • @太极者无极而生通常是由于网络客户端未运行导致base url错误。如果你的虚拟机网络配置正确,简单的命令“dhclient” (2认同)

slm*_*slm 52

与其利用startx命令将命令破解到.xinitrc文件中,不如告诉 Systemd 您想要引导至图形 GUI 而非终端。

要完成此操作,只需执行以下操作:

$ sudo yum groupinstall "GNOME Desktop"
$ ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target
Run Code Online (Sandbox Code Playgroud)

然后只需重新启动。

最后一位将运行级别 5 目标关联为您对 Systemd 的默认值。

用 Systemd 做这件事

您也可以使用 Systemd 来完成此操作。这可以说是更好的方法,因为您直接通过 Systemd 及其 CLI 管理系统的状态。

您可以查看当前的默认目标是什么:

$ sudo systemctl get-default
multi-user.target
Run Code Online (Sandbox Code Playgroud)

然后将其更改为图形:

$ sudo systemctl set-default graphical.target
Run Code Online (Sandbox Code Playgroud)

目标

在 Systemd 中,目标 runlevel5.target 和 graphics.target 是相同的。runlevel2.target 和 multi-user.target 也是如此。

Runlevel    Target Units                          Description
0           runlevel0.target, poweroff.target     Shut down and power off the system.
1           runlevel1.target, rescue.target       Set up a rescue shell.
2           runlevel2.target, multi-user.target   Set up a non-graphical multi-user system.
3           runlevel3.target, multi-user.target   Set up a non-graphical multi-user system.
4           runlevel4.target, multi-user.target   Set up a non-graphical multi-user system.
5           runlevel5.target, graphical.target    Set up a graphical multi-user system.
6           runlevel6.target, reboot.target       Shut down and reboot the system.
Run Code Online (Sandbox Code Playgroud)

参考

  • 使用 Systemd 命令启用图形模式而不是手动创建符号链接不是更好吗?请参阅 Red Hat [Systemd Targets 文档](https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/sect-Managing_Services_with_systemd-Targets.html#sect-Managing_Services_with_systemd-Targets-Change_Default) (3认同)
  • +1 为`sudo systemctl set-default graphics.target`。(我更喜欢 `sudo yum groupinstall "Server with GUI"`。) (3认同)
  • @MarkEdington - 同意,更新。感谢您指出了这一点。认为这是可能的,但还没有挖得足够深,看看如何。 (2认同)