Ubuntu Server 安装 GUI

103次阅读
没有评论

共计 6784 个字符,预计需要花费 17 分钟才能阅读完成。

当我们拥有一台 Linux 远程服务器时,有时为了操作方便或一些远程 debug 等需求,需要在远程服务器上安装 GUI(全称:Graphical User Interface,即图形用户界面)。这里以 Ubuntu 18.04.1 LTS 为例,介绍下 GUI 的安装过程以及在安装、登录过程中可能会遇到的一些问题。

桌面环境

GUI 是由 Linux 桌面环境、窗口管理器、菜单、工具包等几个组件构成。不同的桌面环境在设计和功能上会赋予系统不同的外观,Linux 系统有多种的桌面环境,其中最流行的桌面环境是 GNOME 和 KDE Plasma。

GNOME

GNOMEGNU 计划的一部分,基于 GTK+ 开发。在经历前两个大版本的快速发展后,目前的大版本是 GNOME 3。在 GNOME 3.38 之后,GNOME 采用了新编号方式,推出 GNOME 40,之后的版本是 GNOME 41。目前 Ubuntu 18.04 LTS、Debian 8 等 Linux 发行版使用 GNOME 3 做为默认桌面环境。

Ubuntu Server 安装 GUI

KDE Plasma

KDE Plasma 由 KDE 社区维护,目前最新版是 KDE Plasma 5,基于 Qt 5 开发。目前 openSUSE、Fedora、Kubuntu 等 Linux 发行版使用 KDE Plasma 5 做为默认桌面环境。
Ubuntu Server 安装 GUI

相比 GNOME 3 而言,KDE Plasma 5 的界面和 Windows 较像,因此若是不习惯 GNOME3 操作的话,可尝试使用 KDE Plasma 5。

其他如 XfceLXDEBudgie 和基于 GNOME 2 的 MATE 等桌面环境也有不少用户在使用,这里基于篇幅原因,不再赘述。

Ubuntu 桌面环境

Ubuntu 除了提供默认 GNOME 3 的桌面外,还提供了其他几种桌面环境,如下:

桌面环境 安装命令
KDE Plasma 5 sudo apt install plasma-desktop
LXDE sudo apt install lxde
Budgie sudo apt install budgie-desktop
MATE sudo apt install ubuntu-mate-core
Xfce sudo apt install xfce4

Ubuntu 提供了几种官方变体,被称为 flavors,flavours 在桌面环境的基础上,又加了各自的定制化设置,如下是几种 flavor 列表:

flavor 说明 安装命令 官网网址
Ubuntu 基于 GNOME 3 桌面环境,Ubuntu 18.04 LTS 的默认桌面环境 sudo apt install ubuntu-desktop 地址
Kubuntu 基于 Plasma 桌面环境 sudo apt install kubuntu-desktop 地址
Lubuntu 基于 LXDE 桌面环境 sudo apt install lubuntu-desktop 地址
Ubuntu Budgie 基于 Budgie 桌面环境 sudo apt install ubuntu-budgie-desktop 地址
Ubuntu Kylin 类似于 Windows 操作系统,主要是中国用户使用 sudo apt install ubuntukylin-desktop 地址
Ubuntu MATE 基于 MATE 桌面环境 sudo apt install ubuntu-mate-desktop 地址
Ubuntu Studio Version 20.04.3 基于 Xfce 桌面环境,Version 21.10 基于 Plasma 桌面环境 sudo apt install ubuntustudio-desktop 地址
Xubuntu 基于 Xfce 桌面环境 sudo apt install xubuntu-desktop 地址

安装 GUI

查看系统信息

执行如下命令查看系统信息:

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.1 LTS"

安装 GNOME 3 桌面环境

执行如下命令,安装 GNOME 3 桌面环境:

sudo apt update && sudo apt upgrade
sudo apt-get install ubuntu-desktop

若还希望美化桌面,可在 GNOME-LOOK 寻找合适的主题进行安装。

安装管理器

GNOME 桌面默认使用 GDM3 作为显示管理器,这里使用更轻量、对资源更友好的 lightdm 管理器:

sudo apt install lightdm libpam-kwallet4 libpam-kwallet5
sudo systemctl start lightdm
sudo systemctl status lightdm

Ubuntu Server 安装 GUI

重启机器

reboot 机器:

sudo reboot now

查看桌面环境版本信息

以 Ubuntu 18.04.1 LTS 为例,打开 Settings –> Details –> About,即可看到当前系统的系统信息(包括桌面环境信息):
Ubuntu Server 安装 GUI
或直接在终端中输入 gnome-shell --version 查看。

[可选] 安装多桌面环境

上述过程安装了 GNOME 3,如果还想使用其他桌面环境的话,可继续安装。以 KDE Plasma 桌面环境为例,执行下述命令安装 plasma-desktop

sudo apt install plasma-desktop konsole
sudo systemctl restart lightdm

然后修改默认桌面环境为 KDE:

sudo update-alternatives --config x-session-manager
There are 2 choices for the alternative x-session-manager (providing /usr/bin/x-session-manager).

  Selection    Path                    Priority   Status
------------------------------------------------------------
* 0            /usr/bin/gnome-session   50        auto mode
  1            /usr/bin/gnome-session   50        manual mode
  2            /usr/bin/startkde        40        manual mode

Press <enter> to keep the current choice[*], or type selection number: 2
update-alternatives: using /usr/bin/startkde to provide /usr/bin/x-session-manager (x-session-manager) in manual mode

退出登录后再重新登录即可。

设置远程登录

由于本地机器使用的是 Microsoft Remote Desktop 来登录远程服务器,因此这里选择在远程服务器上安装 Xrdp。Xrdp 是一个微软远程桌面协议(RDP)的开源实现,其允许用户通过图形界面控制远程系统。

安装 xrdp

安装并启动 Xrdp

执行如下命令安装并启动:

sudo apt-get install xrdp
sudo systemctl enable xrdp
sudo systemctl start xrdp

若远程服务器上有端口限制的话,可以修改 /etc/xrdp/xrdp.ini,将 port = 3389 更改为可用的端口,如 port = 8080,然后重启 Xrdp 即可,启动后查看状态是否正常:

sudo systemctl status xrdp
● xrdp.service - xrdp daemon
   Loaded: loaded (/lib/systemd/system/xrdp.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2021-11-25 15:05:37 CST; 1h 23min ago
     Docs: man:xrdp(8)
           man:xrdp.ini(5)
  Process: 1524 ExecStart=/usr/sbin/xrdp $XRDP_OPTIONS (code=exited, status=0/SUCCESS)
  Process: 1504 ExecStartPre=/bin/sh /usr/share/xrdp/socksetup (code=exited, status=0/SUCCESS)
 Main PID: 1531 (xrdp)
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/xrdp.service
           └─1531 /usr/sbin/xrdp

当显示 Active: active (running) 时,即表示正常运行。若需要查看运行日志,通过 sudo journalctl -xu xrdp 查看 log。

xrdp 用户添加 ssl-cert 用户组

由于 Xrdp 会读取 ssl-cert-snakeoil.key 信息,因此需要先将 xrdp 用户加入到 ssl-cert 用户组:

sudo adduser xrdp ssl-cert

若未将该用户添加到 ssl-cert 用户组,可能在使用 Microsoft Remote Desktop 登录时会报错:

Cannot read private key file /etc/xrdp/key.pem: Permission denied

配置 ufw

使用 sudo ufw status 查看防火墙状态,若 Status 为 inactive 则此步可跳过;若为 active,则需执行 sudo ufw allow 3389/tcp 将 xrdp 端口加到白名单。

使用 Microsoft Remote Desktop 登录

配置 Microsoft Remote Desktop 进行登录,填写远程服务器地址和 Xrdp 端口即可,格式为 IP:PORT 的形式:
Ubuntu Server 安装 GUI

[可选] 修改密码复杂度

若在使用 passwd 修改密码时一直提示 PASSWORD is too simple:

Changing password for admin.
(current) UNIX password:
New password:
BAD PASSWORD: is too simple

可通过修改密码复杂度规则来解决。编辑 /etc/pam.d/common-password,查看密码复杂度要求:

password        requisite                       pam_cracklib.so retry=3 minlen=17 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1 difok=3

各参数意思如下:

  • retry=3: 失败的重试次数
  • minlen=17: 密码最小长度
  • ucredit=-1: 包含大写字母的个数。负数表示最少包含多少个大写字母,正数表示最多包含多少个大写字母
  • lcredit=-1: 包含小写字母的个数。负数表示最少包含多少个小写字母,正数表示最多包含多少个小写字母
  • dcredit=-1: 包含数字的个数。负数表示最少包含多少个数字,正数表示最多包含多少个数字
  • ocredit=-1: 包含标点符号的个数。负数表示最少包含多少个标点符号,正数表示最多包含多少个标点符号
  • difok=3: 新旧密码最少有多少个字符不同

将上述几个参数调整到合适的值,保存退出,再次修改密码。

报错

User admin from xxx not allowed because not listed in AllowUsers

若使用 ssh admin@xxx 登录时报错 "Permission denied, please try again",查看远程服务器的日志 /var/log/auth.log,有如下报错:

User admin from xxx not allowed because not listed in AllowUsers

可将 admin 这个用户添加到 AllowUsers,然后重启 sshd 服务,如下:

echo "AllowUsers admin" >> /etc/ssh/sshd_config
systemctl restart sshd

其他用户同理。

Failed password for admin from xxx

使用 ssh admin@xxx 登录时报错"Permission denied, please try again",查看远程服务器的日志 /var/log/auth.log,有如下报错:

Nov 25 19:48:42 VMS168434 sshd[12465]: pam_tally2(sshd:auth): user admin (1001) tally 29, deny 5
Nov 25 19:48:44 VMS168434 sshd[12465]: Failed password for admin from xxx port xx ssh2

则说明该用户登录失败的次数太多(达到 29 次了),则执行 /sbin/pam_tally2 查看是否超过配置的 deny 次数,若超过则将该用户记录次数重置为 0:

$ sudo /sbin/pam_tally2
Login           Failures Latest failure     From
root                1    11/25/21 16:31:00  unknown
admin              29    11/25/21 19:48:42  10.61.143.58

$ sudo /sbin/pam_tally2 --user admin --reset=0
Login           Failures Latest failure     From
admin              29    11/25/21 19:48:42  10.61.143.58

pam_tally 维护了用户尝试登录机器的次数,其属性在 /etc/pam.d/common-auth 中可以进行调整,以 auth required pam_tally2.so deny=5 onerr=fail unlock_time=1800 为例,其表示当用户连续登录失败的次数达到 deny(5) 次时,会在 unlock_time(1800) 秒锁定该用户,拒绝该用户访问本机器。

Authentication is required to create a color managed device

若每次登录时都有如下提示:
Ubuntu Server 安装 GUI

则可创建 /etc/polkit-1/localauthority/50-local.d/45-allow-colord.pkla,写入如下内容:

[Allow Colord all Users]
Identity=unix-user:*
Action=org.freedesktop.color-manager.create-device;org.freedesktop.color-manager.create-profile;org.freedesktop.color-manager.delete-device;org.freedesktop.color-manager.delete-profile;org.freedesktop.color-manager.modify-device;org.freedesktop.color-manager.modify-profile
ResultAny=no
ResultInactive=no
ResultActive=yes

然后执行 sudo systemctl restart polkit.service 即可。

KIOExec: Malformed URL xxx

点击桌面上的 Trash 或其他文件时报错如下:
Ubuntu Server 安装 GUI

原因是文件管理器配置异常。按如下步骤修复:

  • 打开 "Default Applications":
    Ubuntu Server 安装 GUI
  • 点击 "File Manager",修改为 "Dolphin",点击 "Apply" 和 "OK" 即可:
    Ubuntu Server 安装 GUI
  • 再次点击桌面上的文件即可。

IntelliJ IDEA 无法登录

若远程服务器在内网中时,JetBrains 系统的产品无法联网登录,这里以 IntelliJ IDEA 为例来说下如何登录。

  • 设置系统网络代理:export https_proxy=<proxy-host>:<proxy:port>
  • 打开 ${IDEA_HOME},运行 bin/.idea.sh`,点击登录即可

若像下图一样一直无法连接到网络,可检查 IDEA 是否允许使用系统代理:检查 IDEA 的 net.properties 文件(文件位置见下方说明),设置 java.net.useSystemProxies=true,重启运行 ${IDEA_HOME}/bin/idea.sh 来登录即可。
Ubuntu Server 安装 GUI

参考 IDE Can’t Connect to JetBrains Accountnet.properties 文件位置如下:

  • Windows: <IDE_installation_folder>\jbr\conf\net.properties
  • MacOS: <IDE_installation_folder>/Contents/jbr/Contents/Home/conf/net.properties
  • Linux: <IDE_installation_folder>/jbr/conf/net.properties
正文完
 0
管理员
版权声明:本站原创文章,由 管理员 于2022-01-25发表,共计6784字。
转载说明:除特殊说明外本站文章皆由 CC-4.0 协议发布,转载请注明出处。
评论(没有评论)