[步骤] Linux 远程图形界面的安装 (Ubuntu 版)

注意:

安装图形界面的 Ubuntu 需要满足的条件 (否则系统会变得很卡)

处理器

必须:2 核及以上

建议:4 核及以上

内存

必须:2G 及以上

建议:4G 及以上

硬盘

必须:20G 及以上

建议:30G 及以上

网络

和要连接它的客户端之间网络延迟低且宽带够高,建议选择地理位置较近的网络直连机房

正文:

步骤一:更新 Ubuntu 系统

1.1 更新 Ubuntu 系统的软件源

# sudo apt update

1.2 更新 Ubuntu 系统

# sudo apt upgrade

步骤二:安装 Linux 图形界面 (注意:步骤 2.1 到步骤 2.6 只用执行其中之一)

2.1 安装 Linux 图形界面的选择一:安装完整的 Ubuntu GNOME 桌面 (推荐)

# sudo apt install ubuntu-gnome-desktop


注意:
1) 步骤 2.1 到步骤 2.6 只用执行其中之一
2) 安装完整的 Ubuntu GNOME 桌面是推荐选择

2.2 安装 Linux 图形界面的选择二:安装最新小化的 Ubuntu GNOME 桌面 (不推荐)

# sudo apt install ubuntu-desktop-minimal

(注意:步骤 2.1 到步骤 2.6 只用执行其中之一)

2.3 安装 Linux 图形界面的选择三:安装香草版本的 (原味) 的 GNOME 桌面 (不推荐)

# sudo apt install vanilla-gnome-desktop

(注意:步骤 2.1 到步骤 2.6 只用执行其中之一)

2.4 安装 Linux 图形界面的选择四:安装最小化的香草版本的 (原味) 的 GNOME 桌面 (不推荐)

# sudo apt install gnome-session gnome-terminal

(注意:步骤 2.1 到步骤 2.6 只用执行其中之一)

2.5 安装 Linux 图形界面的选择五:安装轻量级的 lxde 桌面 (不推荐)

# sudo apt-get install lxde

(注意:步骤 2.1 到步骤 2.6 只用执行其中之一)

2.6 安装 Linux 图形界面的选择六:安装轻量级的 xfce 桌面 (不推荐)

# sudo apt install xfce4 xfce4-goodies

(注意:步骤 2.1 到步骤 2.6 只用执行其中之一)

步骤三:安装 Linux 图形远程服务 (注意:步骤 3.1 到步骤 3.2 只用执行其中之一)

3.1 安装 Linux 图形远程服务的选择一:安装 NoMachine 远程连接工具 (推荐)

3.1.1 下载 NoMachine 远程连接工具 (推荐)
# wget https://download.nomachine.com/download/8.13/Linux/nomachine_8.13.1_1_amd64.deb

(补充:这里以下载 64 位的 8.13.1_1 版本的 NoMachine 远程连接为例)

(注意:步骤 3.1 到步骤 3.2 只用执行其中之一)

3.1.2 安装 NoMachine 远程连接工具 (推荐)
# sudo dpkg -i nomachine_8.13.1_1_amd64.deb

(补充:这里以安装 64 位的 8.13.1_1 版本的 NoMachine 远程连接为例)

(注意:步骤 3.1 到步骤 3.2 只用执行其中之一)

3.1.2 在系统防火墙上开放 NoMachine 远程连接工具使用的端口 (推荐)
# ufw allow 4000

(补充:这里以 Ubuntu 的默认翻过墙 ufw 开放 NoMachine 远程连接工具默认使用的 4000 端口为例)

(注意:步骤 3.1 到步骤 3.2 只用执行其中之一)

3.1.3 在使用 NoMachine 客户端远程连接 Linux (推荐)

参考:https://www.nomachine.com/

(注意:步骤 3.1 到步骤 3.2 只用执行其中之一)

3.2 安装 Linux 图形远程服务的选择二:安装 xrdp 远程连接工具 (不推荐)

3.2.1 安装 xrdp 远程工具 (不推荐)
# sudo apt install xrdp -y

(补充:xrdp 使用的是 Remote Desktop Connection (RDC) 协议,默认端口是 3389,所以可以直接使用 Microsoft Terminal Services Client (MSTSC) 进行连接)


注意:
1) 步骤 3.1 到步骤 3.2 只用执行其中之一
2) xrdp 协议对 Linux 的音频兼容性不高,可能会没有声音

3.2.2 在系统防火墙上开放 xrdp 远程连接工具使用的端口 (不推荐)
# ufw allow 3389

(补充:这里以 Ubuntu 的默认翻过墙 ufw 开放 NoMachine 远程连接工具默认使用的 3389 端口为例)


注意:
1) 步骤 3.1 到步骤 3.2 只用执行其中之一
2) xrdp 协议对 Linux 的音频兼容性不高,可能会没有声音

3.2.3 使用 xrdp 客户端远程连接 Linux (不推荐)

Windows 系统可以直接使用 mstsc 工具连接
Mac 系统可以下载、安装并使用 Microsoft Remote Desktop 工具连接


注意:
1) 步骤 3.1 到步骤 3.2 只用执行其中之一
2) xrdp 协议对 Linux 的音频兼容性不高,可能会没有声音

步骤四:添加中文输入法

4.1 在系统中添加中文

依次点击或勾选以下按键或选项

Settings --> Region & Language --> Manage Installed Languages --> Install/Remove Language --> Chinese(Simplified) --> Apply --> Apply System-Wide 

4.2 重启系统

(步骤略)

4.3 在系统中添加中文输入法

依次点击或勾选以下按键或选项

Settings --> Keyboard --> + Chinese(Intelligent Pinyin)

步骤五:安装火狐浏览器官方已经创建好了的火狐浏览器文件版 (用于解决系统自带火狐浏览器显示乱码的问题)

5.1 在火狐浏览器官网上下载文件版的火狐浏览器

(步骤略)

5.2 进入下载目录

? cd ~/Downloads

5.3 解压下载的火狐浏览器压缩包

? tar xjf firefox-*.tar.bz2

5.4 删除解压后的火狐浏览器压缩包

? rm firefox-*.tar.bz2 

5.5 将解压后的火狐浏览器文件版移动家目录的根目录下

? mv firefox ~/firefox

5.6 创建启动火狐浏览器文件版的快捷方式

? ln -s ~/firefox/firefox ~/firefox-go

5.7 此时双击家目录里的 firefox-go 图标就可以启动文件版的火狐浏览器

(步骤略)

5.8 在火狐狸浏览器把所有的安全设置设置到最严重

(步骤略)

(注意:安全的 DNS (Secure DNS) 在某些地方强制开启以后,浏览器就无法上网了)

参考文献:

https://www.digitalocean.com/community/tutorials/how-to-enable-remote-desktop-protocol-using-xrdp-on-ubuntu-22-04
https://bytexd.com/how-to-install-gnome-desktop-in-ubuntu/
https://support.mozilla.org/en-US/kb/install-firefox-linux?_gl=1*1if3s8q*_ga*MTAyODgyNTcyNi4xNzIzNTU1MDkx*_ga_MQ7767QQQW*MTcyMzU2MjY3MS4xLjEuMTcyMzU2MjcyMC4wLjAuMA..#w_install-firefox-deb-package-for-debian-based-distributions

[步骤] 在不能进系统的情况下 GRUB 开机菜单的显示 (进入安全模式或者恢复模式) (Ubuntu 版)

正文:

步骤一:取消 GRUB 开机菜单的显示

1.1 修改 /etc/default/grub 配置文件

# vim /etc/default/grub

添加以下内容:

......
GRUB_TIMEOUT_STYLE=hidden
......

添加后的案例:

......
GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX=" "
......

1.2 让刚刚设置的参数生效

# update-grub

步骤二:在不能进系统的情况下显示 GRUB 开机菜单

2.1 进入 GRUB 命令行

重启系统后按下 “E” 键不放

2.2 进入 GRUB 命令行以后以正常模式启动系统

grub> normal

2.3 启动后 GRUB 开机菜单就会显示了

(步骤略)

(注意:有时候要重复步骤 2.1 和 2.2 才能显示 GRUB 开机菜单)

2.4 在拯救模式下进入 root 模式

此时选择以下选项并按下 “回车” 键,就可以通过拯救模式进入 root 模式了

root              Drop to root shell prompt

参考文献:

https://askubuntu.com/questions/381613/how-to-return-from-grub-prompt-to-the-grub-menu
https://blog.csdn.net/geekqian/article/details/82912518

[步骤] Linux SCAP (Security Content Automation Protocol) 的生成 (Linux 开源安全报道的生成)

正文:

步骤一:安装 openscap 和相关组件

如果是 RHEL:

# yum install openscap openscap-scanner

如果是 SLE:

# zypper install openscap openscap-utils scap-security-guide

步骤二:下载最新的 SUSE 官方 OVAL 文件

2.1 进入存放下载的官方 OVAL 文件的目录

# cd /root

(补充:这里以把官方的 OVAL 文件下载到 /root 目录为例)

2.2 下载最新的官方 OVAL 文件

如果是 RHEL:

# wget -O - https://access.redhat.com/security/data/oval/v2/RHEL9/rhel-9.oval.xml.bz2

(补充:这里以下载 RHEL 9 官方的 OVAL 文件为例)

如果是 SLES:

# wget https://ftp.suse.com/pub/projects/security/oval/suse.linux.enterprise.15-patch.xml.bz2

(补充:这里以下载 SLE 15 官方的 OVAL 文件为例)

2.2 解压下载下来的 OVAL 文件

如果是 RHEL:

# bzip2 -d rhel-9.oval.xml.bz2

(补充:这里以解压 rhel-9.oval.xml.bz2 文件为例)

如果是 SLES:

# bzip2 -d suse.linux.enterprise.15-patch.xml.bz2

(补充:这里以解压 suse.linux.enterprise.15-patch.xml.bz2 文件为例)

步骤三:使用 SUSE 官方的 OVAL 文件生成 SCAP (Security Content Automation Protocol) 报告

如果是 RHEL:

# oscap oval eval  --report /root/rhel9.5_report20240101.html /root/rhel-9.oval.xml

(补充:这里以用刚刚下载的官方的 OVAL 文件生成名为 rhel9.5_report20240101.html 的 SCAP (Security Content Automation Protocol) 报告文件,并放在 /root 目录下为例)

如果是 SLES:

# oscap oval eval --report /root/sles15.5_report_20240101.html /root/suse.linux.enterprise.15-patch.xml

(补充:这里以用刚刚下载的官方的 OVAL 文件生成名为 sles15.5_report_20240101.html 的 SCAP (Security Content Automation Protocol) 报告文件,并放在 /root 目录下为例)

参考文献:

https://documentation.suse.com/compliance/all/html/SLES-openscap/index.html

[CONTENT] Linux common parameters of /etc/fstab file

/dev/vg/lv_var /var xfs nodev,nosuid,noexec 0 0
/dev/vg/lv_var_log /var/log xfs nodev,nosuid,noexec,x-systemd.requires-mounts-for=/var 0 0

(
Add:
1) nodev parameter here means this directory can not be interpreted by devices or blocks
2) nosuid parameter here means no setuid files can be created in this directory
3) noexec parameter here means no files can be executed in this directory
4) x-systemd.requires-mounts-for=/var here parameter means /var/log directory can not be mounted until /var directory has been mounted
)