Limux桌面系统

Alay / 2024-08-27 / 原文

参考系统为 ubantu 系的; Mint linux Cinnamon 为例: https://linuxmint.com ;
关于桌面版系统 Ubuntu 与 Mint 什么区别:

  • 二者同根同源,装 Ubuntu 还是 Mint 都差不多
  • Ubuntu 桌面类 MacOS ;适合 Mac 用户平滑过渡,Mint 类 Windows,适合 Windows 用户平滑过渡,根据个人选择,
  • Linux排行榜中,Mint 下载排行版近几年来都排在前面,热度很高
  • 二者都可以美化主题,美化后外观几乎看不出区别;

示例时间: 2024-08-17 ,部分内容存在时效性。

磁盘分区

路径

  • /boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。

  • /etc: 这个目录用来存放所有的系统管理所需要的配置文件和子目录。

  • /run: 是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。

  • /lib: 这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。

  • /sys: 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。 该文件系统是内核设备树的一个直观反映。 当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。

  • /bin: bin是Binary的缩写, 这个目录存放着最经常使用的命令。

  • /sbin: s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。

  • /usr: 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。

  • /usr/bin: 系统用户使用的应用程序,如发行版本管理;Ubuntu 自带 md5sum ,这个 binary 就会在这个目录下

  • /usr/local/bin:用户自己的程序

  • /usr/sbin: 超级用户使用的比较高级的管理程序和系统守护程序。

  • /srv:该目录存放一些服务启动之后需要提取的数据

  • /usr/src: 内核源代码默认的放置目录。 后来增加的路径,但是由于早起没有这个领,人们习惯性将资源文件放到了 /var 路径下了。所以历史遗留的习惯但时间无法全部转变。

  • /var: 这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

  • /lost+found: 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

  • /dev : dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。

  • /root: 该目录为系统管理员,也称作超级权限者的用户主目录。

  • /home: 用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。

  • /mnt: 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。

  • /media: linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。

  • /proc: 这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。 这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:

  • /opt: 这是给主机额外安装软件所摆放的目录。安装的一些软件,containerd

  • /tmp: 这个目录是用来存放一些临时文件的。

  • /selinux: 这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。

分区

虚拟机下没有那么严谨,变更也比较容易,可以按常规分区随意,请自便
物理机分区,会比较虚拟机严谨,根据实用需求,设备配置等结合
以下仅仅个人需求设定,将Linux系统作为日常的桌面系统使用,并非服务器使用,仅供参考!

挂载路径 格式 用途 推荐大小 说明
/boot/efi fat32 启动引导 300 MiB 格式和挂载点选择时不同的发行版会有操作区别
/boot ext4 启动引导 512 Mib 512 M 已经是放宽松的给了,300~ 500 左右
swap swap 交换分区 无需配置 虚拟内存作为物理内存的一个增补,一般配置为物理内存的1.5~2 倍大小,具体取决于物理内存够不够,物理内存太小,可以选择 2 倍,物理内存大的,一般超过 16Gb的物理内存,可以不用配置,甚至启动后直接将其关闭,不需要使用虚拟内存。
安装后可以通过命令进行变更大小和开启/关闭
/var ext4 变量数据 10G~100G 存储系统运行中的变量数据,如日志,备份数据等,如果开启快照备份功能则可以多给一些,一个快照备份就需要 10 几个GB,推荐80 GB 左右,没有开启使用快照,20G 左右也是很足够的
/opt ext4 软件操作 20G~100G 用来安装普通软件的,软件运行时超也会产生一些数据在里边,如 containerd、wps、微信等
/root ext4 Root的家 - 可以不用配置,跟随根路径自由分配
/home ext4 非Root的家 60G~100+ 包括了用户使用过程中的,Desktop、Documents、Music、Videos、Pictures ,以及用户配置(config)、缓存(.cache)等等很多日常使用数据;如果单用户则 50G 左右也够了,如果多个用户,可以适当增加,
/mnt ext4 挂载数据 - 不用分配,通常用来挂载大的数据的,如安装的MySQL、Redis、Elasticsearch等的数据的,当数据扩大需求是,可以进行增加挂载其他的磁盘,并将原数据迁移到新挂载的盘中
/ ext4 / 剩余的全部 剩余的全部数据分配给根节点,后续根据需求,可以对不同的路径进行扩展磁盘单独进行挂载,如 /mnt 新增磁盘挂载

环境软件安装

注意:以下命令中,我自己的用户名是 ecs-user;并不是什么命令,大家可以忽略;
${HOME} :为当前用户的家目录,~
${USER}:为当前用户名
${HOME} = /home/${USER}:这两个路径是相等的
(dev)标记的为开发人员使用的,非开发人员直接跳过,不需要安装。

JDK环境安装(dev)

官网:https://www.oracle.com/
首页----点击----> Products ----选择 Java---->>跳转-----点击----> DownloadJava--------> 下载对应的版本
选择 **** Compressed Archive 版本的就可以了(根据CPU类型选择),免安装,解压就能使用
image.png
将下载的压缩版解压放到系统,一般放到 /usr/local 路径下,如: /usr/local/java;安装的是 java21,之后所有的版本都放到该路径下,并以版本来命名子路径

ecs-user@ecs-user:/usr/local/java$ ls
java21

Maven 安装(dev)

下载: https://maven.apache.org
image.png
以上两个链接仅仅压缩和解压缩方式不同而已,任意下载都可以,
推荐下载第一个,apache-maven-3.9.9-bin.tar.gz ; 应为 linux系统中默认都存在 tar 的解压缩工具命令
将以上下载的maven 文件加压缩到 /usr/local 路径下,当然其他地方也是可以的,推荐放到 /usr 的路径下,这样所有用户可见,可使用

ecs-user@ecs-user:/usr/local$ ls
bin  etc  games  include  java  lib  man  maven  sbin  share  src

环境变量配置(dev)

环境变量可以配置为用户级别的,也可以配置为系统级别的,用户级则为当前用户可用,系统级则不区分用户,所有用户可用;推荐使用系统级别的

系统级环境变量(推荐)

系统级环境变量,即环境变量文件配置到 /etc/profile 的文件中,内容添加到文件末尾即可

# Java 环境变量
JAVA_HOME=/usr/local/java/java21
CLASS_PATH=$JAVA_HOME/lib

# Maven 环境变量
MVN_HOME=/usr/local/maven


# 系统环境变量
PATH=${PATH}:${JAVA_HOME}/bin:${CLASS_PATH}:${MVN_HOME}/bin

# 导出环境变量
export PATH

使之生效 source /home/${USER}/.profile

source /etc/profile
用户级环境变量

用户级:/home/${USER}/.profile ;如我的 /home/${USER}/.profile
在文件末尾定义 Java环境变量和 maven 环境变量,并对其进行导出 export

# Java 环境变量
JAVA_HOME=/usr/local/java/java21
CLASS_PATH=$JAVA_HOME/lib

# Maven 环境变量
MVN_HOME=/usr/local/maven


# 系统环境变量
PATH=${PATH}:${JAVA_HOME}/bin:${CLASS_PATH}:${MVN_HOME}/bin

# 导出环境变量
export PATH

使之生效 source /home/${USER}/.profile

source /home/${USER}/.profile

软件快捷启动

路径1(系统级): /usr/share/applications ;在这个路径下创建的快件应用为系统级的,所有用户均可使使用,
路径2(用户级):/home/${USER}/.local/share/applications ;这个路径下创建的桌面快捷为用户级的,仅用户可以回看到和可以使用,
当然,如果你添加到了桌面快捷图标,那么 /home/${USER}/Desktop;路径下也会被拷贝一份

桌面快捷方式内容如下:命名为:应用名.desktop (以 MyApp 为例),这里的配置比较多比较全,往下翻页,有简单的配置实例

[Desktop Entry]
# 应用程序的名称,在桌面环境中显示为 My App Name
Name=My App Name

# 对应用程序的简短描述,显示在某些桌面环境的应用程序启动器中(可选)
Comment=简单到无语的配置

# 指定该条目类型为应用程序
Type=Application

# 指定一个可执行文件路径,用于检查应用程序是否存在(可选)
# 如果该文件不存在,则应用程序可能不会显示在启动器中
TryExec=/opt/app-workhome/app可执行文件

# 应用程序的启动命令。%u 是一个占位符(可选),用于表示可能传递给应用程序的 URL 或其他参数。
# 在这种情况下,/opt/app-workhome/app可执行文件 -- %u 将执行 App 并传递任何提供的 URL
Exec=/opt/app-workhome/app可执行文件 -- %u

# 应用程序图标的名称。图标应在系统的图标主题中定义,并将用于启动器和任务栏中,也可以自定义图片文件
Icon=app显示图标.png/svg

# 指定是否需要在终端中运行应用程序。false 表示应用程序不会在终端中运行
Terminal=false

# 指定窗口管理器类名称,用于在启动时识别应用程序窗口,并在 Alt+Tab 切换应用程序时正确显示
StartupWMClass=MyAppesktop

# 定义应用程序的分类,帮助桌面环境的应用程序菜单分类。这些分类包括聊天、网络、即时消息和 Qt 框架
Categories=Chat;Network;InstantMessaging;Qt;

# 指定应用程序可以处理的 MIME 类型。在这里,x-scheme-handler/tg 表示应用程序可以处理 tg 协议的链接
MimeType=x-scheme-handler/tg;

# 提供一组关键字,用于帮助在应用程序启动器中搜索应用程序。这些关键字与应用程序的功能和用途相关
Keywords=tg;chat;im;messaging;messenger;sms;tdesktop;

# 定义与应用程序主启动条目相关的附加操作。在这里,quit 是一个附加操作
Actions=quit;

# 指定应用程序是否支持 DBus 激活。这意味着应用程序可以通过 DBus 接口被启动
DBusActivatable=true

# 指定应用程序是否应该只有一个主窗口
SingleMainWindow=true

# 指定应用程序是否使用 GNOME 桌面环境的通知系统
X-GNOME-UsesNotifications=true

# 与 SingleMainWindow 类似,指定应用程序是否在 GNOME 桌面环境中只有一个主窗口
X-GNOME-SingleWindow=true

[Desktop Action quit]
# 定义了一个额外的操作,这里是退出 的命令。当用户选择“Quit MyApp”时,将执行该命令
Exec=/opt/app-workhome/app可执行文件 -quit

# 额外操作的名称,显示在上下文菜单中,用于退出 MyApp
Name=Quit MyApp

# 为额外操作指定图标,通常在上下文菜单中显示
Icon=application-exit

搜狗输入法:

设置安装

设置系统,安装语言环境支持(可选的,如果下面使用了 命令安装搜狗输入法,这里可以忽略)
image.png
卸载 ibus;如上方式安装中,如果一键安装,则会安装到 ibus 相关支持,搜狗官方引导中要求我们卸载掉;但是我个人没卸载也没有任何的影响。不过按官方说明卸载掉也行,减少系统依赖安装。

sudo apt purge ibus
下载搜狗输入法:

搜狗官网链接: https://shurufa.sogou.com/linux ;选择合适自己CPU 架构的版本(Intel 的基本是X86)
image.png
下载后直接双击安装包 xxx.deb ,鼠标双击即可进行安装;推荐使用命令安装
apt install ./sogoupinyin_xxx.dep 命令的方式可以省略以上手动安装语言包的步骤,他会自动通过依赖树分析,联合安装依赖树。

apt install ./sogoupinyin_4.2.1.145_amd64.deb
设置输入法

image.png
添加搜狗输入法,根据需求可以添加多个输入法,我自己的就全部删除,仅仅保留一个搜狗了,切换中英文我配置为 Shift 键切换。
image.png

问题处理
无法输入中文

有些系统安装好后,能弹出搜狗输入法,但是无法输入中文,此时前往控制台,杀死 fcitx 进程,然后控制台启动,查看日志信息;在你切换输入法或者输入内容时,控制台会出现报错信息,根据报错信息找寻答案。

# 查看输入法进程
pidof fcitx
7718
# 杀死输入法进程
kill 7718

# 手动控制台启动输入法;然后查看日志信息,回有错误提示
fcitx

# 可能回存在如下错误提示
symbol lookup error: /opt/sogoupinyin/files/bin/sogoupinyin-watchdog: undefined symbol: qt_version_tag, version Qt_5.6
symbol lookup error: /opt/sogoupinyin/files/bin/../lib/libSogouShell.so: undefined symbol: qt_version_tag, version Qt_5.6

有一些Qt5包不存在版本信息;系统中的Qt 包在路径 /usr/lib/x86_64-linux-gnu 路径下;只需要将这些Qt 拷贝到搜狗中即可 /opt/sogoupinyin/files/lib/qt5/lib;由于太多,可以使用 find 命令全部查找,
方案一:find 命令方式(二选一)
这个方案仅仅保证你的搜搜输入法能用,而且命令简单,一键执行,但是不一定可以进行配置修改,不推荐。

sudo find /usr/lib/x86_64-linux-gnu/ -name libQt5*.so.5 -exec cp {} /opt/sogoupinyin/files/lib/qt5/lib/ \;

**方案二:软连接方式(二选一)推荐这个方式
**已经给你编写好了现成的脚步文件,直接复制去电脑创建一个脚本文件,需要注意的是,可执行脚本需要授权:sudo chmod +x 你的脚本名.sh

!/bin/bash

# qt 相关
sudo rm -f -f /opt/sogoupinyin/files/lib/qt5/lib/libQt5Core.so.5
sudo ln -s /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 /opt/sogoupinyin/files/lib/qt5/lib/libQt5Core.so.5

sudo rm -f /opt/sogoupinyin/files/lib/qt5/lib/libQt5Gui.so.5
sudo ln -s /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 /opt/sogoupinyin/files/lib/qt5/lib/libQt5Gui.so.5

sudo rm -f /opt/sogoupinyin/files/lib/qt5/lib/libQt5Widgets.so.5
sudo ln -s /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 /opt/sogoupinyin/files/lib/qt5/lib/libQt5Widgets.so.5

sudo rm -f /opt/sogoupinyin/files/lib/qt5/lib/libQt5DBus.so.5
sudo ln -s /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5 /opt/sogoupinyin/files/lib/qt5/lib/libQt5DBus.so.5

sudo rm -f /opt/sogoupinyin/files/lib/qt5/lib/libQt5Qml.so.5
sudo ln -s /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5 /opt/sogoupinyin/files/lib/qt5/lib/libQt5Qml.so.5

sudo rm -f /opt/sogoupinyin/files/lib/qt5/lib/libQt5Network.so.5
sudo ln -s /usr/lib/x86_64-linux-gnu/libQt5Network.so.5 /opt/sogoupinyin/files/lib/qt5/lib/libQt5Network.so.5

sudo rm -f /opt/sogoupinyin/files/lib/qt5/lib/libQt5Quick.so.5
sudo ln -s /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5 /opt/sogoupinyin/files/lib/qt5/lib/libQt5Quick.so.5

sudo rm -f /opt/sogoupinyin/files/lib/qt5/lib/libQt5QuickWidgets.so.5
sudo ln -s /usr/lib/x86_64-linux-gnu/libQt5QuickWidgets.so.5 /opt/sogoupinyin/files/lib/qt5/lib/libQt5QuickWidgets.so.5

sudo rm -f /opt/sogoupinyin/files/lib/qt5/lib/libQt5Svg.so.5
sudo ln -s /usr/lib/x86_64-linux-gnu/libQt5Svg.so.5 /opt/sogoupinyin/files/lib/qt5/lib/libQt5Svg.so.5

sudo rm -f /opt/sogoupinyin/files/lib/qt5/lib/libQt5XcbQpa.so.5
sudo ln -s /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5 /opt/sogoupinyin/files/lib/qt5/lib/libQt5XcbQpa.so.5

sudo rm -f /opt/sogoupinyin/files/lib/qt5/lib/libFcitxQt5DBusAddons.so.1
sudo ln -s /usr/lib/x86_64-linux-gnu/libFcitxQt5DBusAddons.so.1 /opt/sogoupinyin/files/lib/qt5/lib/libFcitxQt5DBusAddons.so.1

sudo rm -f /opt/sogoupinyin/files/lib/qt5/lib/libgsettings-qt.so.1
sudo ln -s /usr/lib/x86_64-linux-gnu/libgsettings-qt.so.1 /opt/sogoupinyin/files/lib/qt5/lib/libgsettings-qt.so.1

sudo rm -f /opt/sogoupinyin/files/lib/qt5/lib/libpcre.so.3
sudo ln -s /usr/lib/x86_64-linux-gnu/libpcre.so.3 /opt/sogoupinyin/files/lib/qt5/lib/libpcre.so.3

# 插件相关
sudo rm -f /opt/sogoupinyin/files/lib/qt5/plugins/iconengines/libqsvgicon.so
sudo ln -s /usr/lib/x86_64-linux-gnu/qt5/plugins/iconengines/libqsvgicon.so /opt/sogoupinyin/files/lib/qt5/plugins/iconengines/libqsvgicon.so

sudo rm -f /opt/sogoupinyin/files/lib/qt5/plugins/imageformats/libqsvg.so
sudo ln -s /usr/lib/x86_64-linux-gnu/qt5/plugins/imageformats/libqsvg.so /opt/sogoupinyin/files/lib/qt5/plugins/imageformats/libqsvg.so

sudo rm -f /opt/sogoupinyin/files/lib/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so
sudo ln -s /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so /opt/sogoupinyin/files/lib/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so

sudo rm -f /opt/sogoupinyin/files/lib/qt5/plugins/platforms/libqlinuxfb.so
sudo ln -s /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqlinuxfb.so /opt/sogoupinyin/files/lib/qt5/plugins/platforms/libqlinuxfb.so

sudo rm -f /opt/sogoupinyin/files/lib/qt5/plugins/platforms/libqminimal.so
sudo ln -s /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqminimal.so /opt/sogoupinyin/files/lib/qt5/plugins/platforms/libqminimal.so

sudo rm -f /opt/sogoupinyin/files/lib/qt5/plugins/platforms/libqoffscreen.so
sudo ln -s /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqoffscreen.so /opt/sogoupinyin/files/lib/qt5/plugins/platforms/libqoffscreen.so

sudo rm -f /opt/sogoupinyin/files/lib/qt5/plugins/platforms/libqxcb.so
sudo ln -s /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqxcb.so /opt/sogoupinyin/files/lib/qt5/plugins/platforms/libqxcb.so

sudo rm -f /opt/sogoupinyin/files/lib/qt5/plugins/xcbglintegrations/libqxcb-glx-integration.so
sudo ln -s /usr/lib/x86_64-linux-gnu/qt5/plugins/xcbglintegrations/libqxcb-glx-integration.so /opt/sogoupinyin/files/lib/qt5/plugins/xcbglintegrations/libqxcb-glx-integration.so

而后搜狗输入法正常使用了,如果还不能输入的,请继续根据控制台错误日志找寻解决方案。

搜狗默认配置(扩展)

如果上一步你选择了方案二,搜狗输入法已经满血复活了,这一步可以不用管。如果上一步你使用的方案一,那大概率你需要用到这个方式手搓搜狗配置文件
搜狗配置文件在如下路径: /home/${USER}/.config/sogoupinyin/conf
如果有特殊需求,可以直接对其进行修改;内容如下,希望你用不到这个方式。

ls
env.ini  pingback.time  stretchrules.json

比如可以修改候选词数量, env.ini 文件;在 63 行;初始值为 5 ,修改为自己要的数字就行以,需要注意的是,数字最大值为 9 ,配置 10 虽然不报错,但是第10 个没有索引号,也无法通过数字符 0 进行选择(如下图):
image.png
注意:如果配置数字 大于 10 ,如 11 ,则输入法无法正常使用

PageSize=9

安装微信

微信下载地址:https://software.openkylin.top/openkylin/yangtze/pool/all ;
然后Ctrl + F 查找 wechat;会有很多版本,有些版本安装后无法登陆,只能进行试,尽量选择发布时间较新的版本;下面这个版本是我测试可以使用的,而其下一个版本,241 则安装好之后无法登陆。
image.png

官网下载:

https://www.navicat.com.cn
下载相应的版本即可(Intel 我选择 X86),而且官网中已经给出了启动方式,方式也很简单,仅仅需要给下载的文件进行授权即可启动试用
image.png

安装

应用下载后安装,在 /opt 下创建路径作为安装路径

sudo mkdir /opt/navicat

移动下载的可执行文件到该路径下

# 移动文件并重命名(源文件名太长)
sudo mv navicat17-premium-cs-x85_64.AppImage /opt/navicat/navicat17-premium.AppImage
# 赋予权限
sudo chmod +x opt/navicat/navicat17-premium.AppImage

去navicat 官网下载一个 logo 图片,作为桌面快捷方式的图标显示: https://www.navicat.com.cn/images/02.Product_00_AllProducts_Premium16.svg
为了方便使用,我们创建一个快捷方式进行;我创建快捷启动方式为系统级应用,所有用户可见,
所以路径为:/usr/share/applications
sudo vim /usr/share/applications/navicat.desktop

[Desktop Entry]
# 版本号
version=17
# 字符集
Encoding=UTF-8
Type=Application
#应用名称
Name=navicat
# 描述
Comment=Run Navicat
#图标路径
Icon=/opt/navicat/navicat.svg
#启动是否开启终端
Terminal=false
#AppImage文件路径
Exec=/opt/navicat/navicat17.AppImage
破解(持续试用)

为了能一直试用,我们只需要对电脑中 navicat 缓存进行清理即可实现,手动清理也是可以的,为了方便快速,我们还是编写一个可执行脚本进行比较妥当。
编写无限试用脚本 /opt/navicat/continuous.sh (方便管理,我就存放在程序本地的路径下)

#!/bin/bash

# navicat 无限试用的方式
sudo rm -rf /home/${USER}/.config/navicat
sudo rm -rf /tmp/.config/navicat
sudo rm -rf /home/${USER}/.config/dconf/user

授权可执行脚本 chmod +x 脚本文件

sudo chmod +x /opt/navicat/continuous.sh

Jetbrains 全家桶安装(dev)

官网: https://www.jetbrains.com
下载相应的开发工具 IntelliJ IDEA 为例
image.png
下载下来的是一个压缩包,解压缩,移动到自己设定的软件安装的路径下;如 /opt 路径下,通常我们建议放到 /opt 路径下;如下,创建安装路径 /opt/jetbrains;之后该路径下会安装多个全家桶程序

sudo mkdir /opt/jetbrains

软件包移动到路径下

# 移动安装包到安装路径下
sudo mv ideaIU-2024.2.0.1.tar.gz /opt/jetbrains
# 解压安装包
sudo tar -zxvf ideaIU-2024.2.0.1.tar.gz

解压之后得到文件夹 idea-IU-242.20224.387; 我们对其进行重命名;这不是必须的,根据个人习惯而定,我看名字太长了,我看不习惯。

sudo mv idea-IU-242.20224.387 IDEA

进入 IDEA 的 bin 路径下,有可执行的启动文件,idea.sh;以及内部存在程序的图标文件 idea.svg

ecs-user@ecs-user:/opt/jetbrains/IDEA/bin$ ls
appletviewer.policy  fsnotifier        idea.png         idea.svg                      jetbrains_client.sh  remote-dev-server     restarter
brokenPlugins.db     idea              idea.properties  inspect.sh                    libdbm.so            remote-dev-server.sh
format.sh            idea64.vmoptions  idea.sh          jetbrains_client64.vmoptions  ltedit.sh            repair

创建程序的快捷启动文件,一下以系统级方式,如果需要用户级的自行更改路径,内容不变
/usr/share/applications/idea.desktop;快捷启动创建后,开始菜单中就能搜索到了

[Desktop Entry]
# 版本号
version=2024.2.0.1
# 字符集
Encoding=UTF-8
Type=Application
#应用名称
Name=Intellij IDEA
# 描述
Comment=Run IDEA
#图标路径
Icon=/opt/jetbrains/IDEA/bin/idea.svg
#启动是否开启终端
Terminal=false
#程序启动路径
Exec=/opt/jetbrains/IDEA/bin/idea.sh

同理,通过以上方式安装 WebStorm 等全家桶软件

[Desktop Entry]
# 版本号
version=2024.2.0.1
# 字符集
Encoding=UTF-8
Type=Application
#应用名称
Name=WebStorm
# 描述
Comment=Run WebStorm
#图标路径
Icon=/opt/jetbrains/WebStorm/bin/webstorm.svg
#启动是否开启终端
Terminal=false
#程序启动路径
Exec=/opt/jetbrains/WebStorm/bin/webstorm.sh

简单软件

以下的程序下载安装都比较简单,均支持下载来的 applacation_name.deb 安装包文件,双击就可以直接安装使用;这里就一笔带过。

git 安装(dev)

这个属于开发者的代码版本控制的工具,非开发者用户自行决定是否需要安装。

sudo apt-get install git
# 或者
sudo apt install git
Xmind

脑图工具 https://xmind.cn,下载 deb 文件即可安装

Termius(dev)

Termius 是一款很优秀的SSH 客户端工具;官网地址: https://www.termius.com ;
需要注册账号才可以使用,我也是今年才转向 Termius 使用的,以前一直使用 SecureCRT ,SecureCRT 也很不错,只是需要破解,比较麻烦,界面UI也有点跟不上时代

Sublime(dev)

一款很优秀的纯文本编辑器;NotePad++ 的平替产品,这两款工具都很优秀;官网:https://www.sublimetext.com

WPS

虽然Mint 中已经支持常用的 文档,表格,演示文档等编辑工具,但是,WPS 可以很好的兼容 微软的Office 也是很不错的,WPS 在Windows 下的流氓软件,到 Linux 环境下也得乖乖的趴着,所以推荐使用;
官网下载:https://www.wps.cn

钉钉

不必多言,办公必备,如果公司使用的是企业微信的,那么可以自行决定是否需要;
钉钉官网下载地址:https://www.dingtalk.com

百度网盘

垃圾百度网盘,官网地址:https://pan.baidu.com ;没办法的选择,因为阿里云云盘没有 Linux 版本的发行版;
需要魔法才能下载的安装

魔法小猫咪

魔法小猫咪作者已经跑路;不过 GitHub 上还有很多人在维护着;自行搜搜关键(小猫咪 for windows)字即可获得;这里不方便给以展示地址,请自行前往github查找:结果如下;
image.png
Releas 中进行选择一个,根据自己 CPU 架构类型选择合适的,uname -a 命令可以查看 CPU架构类型
image.png
下载之后,移动到工作路径,如 /opt 下,解压,然后就可以使用了;又或者直接下载到 /opt 下

# 1:下载
sudo curl -SLO 这里粘贴上你要下载的那个压缩文件的链接

# 2:解压文件
sudo tar -zxvf 小猫咪的压缩表全名

# 3:解压之后名字太长,我个人看着不舒服,我喜欢重命名为 克拉屎
sudo mv 小猫咪解压后的文件夹名称 新的文件夹名称

解压之后的文件中,存在一个文件,名为: cfw ;就在第一个文件,然后直接就可以执行这个文件启动小猫咪了。需要注意的是,这里启动不用使用 sudo 提权,然后回弹出可视化小喵咪操作界面。

./cfw

当然每次通过命令启动很不方便,可以参考上文中所教学的,添加桌面快捷方式,对其添加一个开始菜单快捷启动。或者桌面快捷启动。解压包里没有小猫咪的 logo 图片,记得在github 中自己下载logo.ico 图片;在源码中又一个 app/logo.ico ;自行下载处处到小猫咪的工作路径

[Desktop Entry]
# 版本号
version=0.20.39
# 字符集
Encoding=UTF-8
Type=Application
#应用名称
Name=小猫咪
# 描述
Comment=小猫咪 for linux
#图标路径
Icon=/opt/小猫咪/logo.ico
#启动是否开启终端
Terminal=false
#AppImage文件路径
Exec=/opt/小猫咪/cfw

注意:启动小猫咪之后,配置订阅信息也完成之后,需要对系统的网络进行代理配置,否则依然无法魔法,配置系统代理可以使用编辑环境变量文件,也可以直接修改系统网络,这里直接通过可视化修改的方式。
image.png

chrome

我比较习惯实用 Chrome 浏览器,官网下载地址:https://www.google.com/chrome ;下载该浏览器需要魔法上网。

纸飞机

不解释,官网下载地址:https://电报名称.org (怕和谐,有需要的朋友请自行换词)

Remmina

Remmina 是一款远远程 windows 桌面工具推荐,类似于微软开发的 Remote Desktop ;可以很方便连远程链接 Windows 桌面实现远程控制。Mint 软件中心搜索即可下载使用。
image.png

扩展内容

程序配置开机自启动

在安装程序是,可能回有很多场景使用到,这里提供,方便使用的时候提速。以下提供两种方式,并非全部,方式有很多种的。各自根据需求选择就行。

使 systemd 方式(推荐)

创建服务单元文件:在 /etc/systemd/system/ 目录下创建一个 .service 文件。例如,创建一个名为 myapp.service 的文件,内容如下

[Unit]
# 服务的简短描述,用于帮助用户理解服务的功能
Description=My Application

[Service]
ExecStart=/path/to/your/application
Restart=always
User=youruser<root/非root用户名,等你的用户名>

[Install]
WantedBy=multi-user.target

启用服务:

# 系统重载
sudo systemctl daemon-reload
# 开启开机自启动服务
sudo systemctl enable myapp.service
# 启动服务
sudo systemctl start myapp.service

禁用服务

# 禁用服务开机自启动
sudo systemctl disable myapp.service
# 停止服务
sudo systemctl stop myapp.service
# 状态查看验证
sudo systemctl status myapp.service

删除开机自启动文件:

sudo rm /etc/systemd/system/myapp.service
sudo systemctl daemon-reload

systemd 服务单元文件内容介绍(配置太多,按需选择即可):
Unit

  • Description:服务的简短描述,用于帮助用户理解服务的功能。
  • Documentation:指向服务文档的 URL 或手册页。
  • After:定义服务启动的顺序。指定该服务在其他服务启动之后才会启动。例如,After=network.target 表示服务将在网络初始化之后启动。
  • Requires:定义该服务依赖的其他服务。系统在启动时会确保这些依赖服务也被启动。
  • Wants:类似于 Requires,但依赖关系是非强制性的。如果 Wants 依赖的服务启动失败,当前服务仍然会尝试启动。

Service

  • ExecStart:定义实际要运行的命令或可执行文件。例如,ExecStart=/path/to/your/application 表示在启动服务时运行该命令。
  • ExecStop:定义停止服务时要运行的命令。例如,ExecStop=/path/to/stop/application。
  • Restart:定义服务在崩溃或退出时的重启策略。常用值包括:
  • no:不自动重启。
  • always:总是重启服务。
  • on-failure:仅在服务失败时重启。
  • on-abnormal:在非正常退出时重启。
  • User:指定服务将以哪个用户身份运行。例如,User=youruser。
  • Group:指定服务将以哪个用户组身份运行。
  • WorkingDirectory:定义服务运行时的工作目录。
  • Environment:设置环境变量。例如,Environment="VAR_NAME=value"。

Install

  • WantedBy:定义服务在系统启动时属于哪个目标(target)。例如,WantedBy=multi-user.target 表示服务在多用户模式下启动时自动启动。
  • RequiredBy:与 WantedBy 类似,但要求这些目标必须存在。如果目标不可用,服务不会启动。
**使用 ****cron**

cron 是一个任务调度程序,可以通过 @reboot 选项在系统启动时运行命令;编辑 crontab 文件

crontab -e

添加启动命令

@reboot /path/to/your/application

系统美化MacOS

系统主题前置知识

系统样式配置中,有三个核心单元:背景、主题、图标; 所有的样式更换基本都是主要换这三样东西,然后再做一些样式调整

  1. 背景:背景是指系统桌面显示的背景图片,以及锁屏窗口的背景,是内容和操作最少最简单的。
  2. 主题:包含了鼠标指针、程序按钮、图标样式等;
  3. 图标:需要下载图标库,供给主题使用。

这三个资源在系统中都有特定的路径存储

资源 路径类型 存放路径 补充
背景图片 系统 /usr/share/backgrounds 需要配置背景配置文件
用户 未发现
主题 系统 /usr/share/themes
用户 /home/${USER}/.themes
图标 系统 /usr/share/icons
用户 /home/${USER}/.icons

了解了系统将每一种文件放置的位置,那么后面样式风格数据下载来之后就知道这么安装了,每个数据存放到对应的路径下,系统即可识别,并进行配置使用。
image.png
****注意
需要注意的是,背景文件并不是下载解压放到相应的文件就可以识别使用的,需要添加配置背景文件(不是必须的)
如果需要如上图一样,每一张背景图都有详细的信息,就需要对背景信息进行配置,否则是不需要配置的,如放在 /home/${USER}/Pictures 路径下的图片也是可以使用的。
背景配置文件:
路径:/usr/share/gnome-background-properties/

ecs-user@ecs-user:/usr/share/gnome-background-properties$ ls 
linuxmint-wilma.xml  linuxmint.xml

每一个图库创建一个 xml 配置文件,内容如下:

<?xml version="1.0"?>
<!DOCTYPE wallpapers SYSTEM "gnome-wp-list.dtd">
<wallpapers>
  
  <!-- 一张背景一个配置标签 -->
  <wallpaper deleted="false">
    <!-- 背景名称 -->
    <name>Linux Mint</name>
    <!-- 背景图片文件路径 -->
    <filename>/usr/share/backgrounds/linuxmint/linuxmint.jpg</filename>
    <!-- 下面配置不用管,照着系统的抄 -->
    <options>zoom</options>
    <shade_type>solid</shade_type>
    <pcolor>#000000</pcolor>
    <scolor>#000000</scolor>
    <!-- 作者 -->
    <artist>eDesigner</artist>
  </wallpaper>

</wallpapers>

以上面的模式,我们自行创建一个配置文件,并进行配置,即可实现

下载主题资源

主题下载:https://www.pling.com
下载三个内容: 背景、图标(icons)、主题(themes)
前往网站,搜索关键字: whitesur;然后下载:

  1. WhiteSur icon theme 这个是图标库
  2. WhiteSur Gtk Theme 这个是主题
  3. WhiteSur cursors 这个是鼠标指针
  4. WhiteSur Wallpaper 这个是背景壁纸

下载完成之后,解压缩文件包,对号入座,各自放置到其对应的路径下的文件路径中。

样式设置配置

样式设置这里不做过多赘述,网上有很多方案,每个人根据个人需要可以慢慢体验调试;
注意:需要注意的是 chrome 浏览器需要设置更换一下主题才会跟随系统 MacOS 风的样式。
image.png

类MacOS 软件

安装时,每个人遇到的坑和每一次遇到的坑都不一样;以下仅仅列出软件,详细的安装过程,自行网络论坛上参考;常用到的就以下三个软件;其他的小插件,在系统设置控制台中,搜索 小程序,可以慢看扩展尝试

plank

通过应用商店搜索:plank 通常都能搜索到,如果无法搜索下载安装,那么请前往 github 中进行下载,编译安装
github地址:https://github.com/ricotz/plank
image.png

全局菜单

应用商店搜索:vala-panel-appmenu
github地址: https://github.com/rilian-la-te/vala-panel-appmenu

albert

github地址:
本体:https://github.com/albertlauncher/albert
插件:https://github.com/albertlauncher/plugins
安装参考:https://blog.csdn.net/weixin_42405819/article/details/135025334

小程序推荐

小程序扩展丰富一些桌面挂件,和面板小工工具

桌面小程序

Disk Space
image.png
Timelet
image.png
数码相册;可以轮播一些家人的相册,让牛马不知疲倦
image.png

面板小程序

Cinnamenu 替代系统自带的开始菜单的
image.png
CPU温度指示器
image.png
天气
image.png