博主|

Vermeer

园龄:3年7个月粉丝:6关注:0

Linux桌面系统

文章来自本人语雀,若博客园出现图片无法显示,请重复刷新或前往语雀查看,语雀分享存在有效期,若无法访问,请留言作者更新处理

参考系统为 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自带,这个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 左右,
实际应用补充:当做主生产系统来用建议多配置一点,在我个人使用过程中,512M 会提醒已经存满。
swap swap 交换分区 内存大无需配置,内存小1.5~2倍内存 虚拟内存作为物理内存的一个增补,一般配置为物理内存的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 新增磁盘挂载

扩展内容

软件快捷启动

${HOME} 路径等价于 /home/${USER}

路径1(系统级): /usr/share/applications ;在这个路径下创建的快件应用为系统级的,所有用户均可使使用,

路径2(用户级):/home/${USER}/.local/share/applications ;这个路径下创建的桌面快捷为用户级的,仅用户可以看到和可以使用,${HOME}/.local/share/applications

当然,如果你添加到了桌面快捷图标,那么 /home/${USER}/Desktop;路径下也会被拷贝一份 ${HOME}/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

程序配置开机自启动

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

使 systemd 方式(推荐)

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

[Unit]
# 服务的简短描述,用于帮助用户理解服务的功能
Description=Nginx-v1.26.3

[Service]
ExecStart=/usr/local/nginx/sbin/nginx
# 重载配置文件(非必须)
ExecReload=/usr/local/nginx/sbin/nginx -s reload
# 停止服务(非必须)
ExecStop=/usr/local/nginx/sbin/nginx -s stop
Restart=always
# (非必须)
PrivateTmp=true
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

环境软件安装

注意:以下命令中,我自己的用户名是 ecs-user;并不是什么命令,大家可以忽略;

${HOME} :为当前用户的家目录,~

${USER}:为当前用户名

${HOME} = /home/${USER}:这两个路径是相等的

(dev)标记的为开发人员使用的,非开发人员直接跳过,不需要安装。

JDK环境安装(dev)

官网:https://www.oracle.com/

首页----点击----> Products ----选择 Java---->>跳转-----点击----> DownloadJava--------> 下载对应的版本

选择 **** Compressed Archive 版本的就可以了(根据CPU类型选择),免安装,解压就能使用

将下载的压缩版解压放到系统,一般放到 /usr/local 路径下,如: /usr/local/java;安装的是 java21,之后所有的版本都放到该路径下,并以版本来命名子路径

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

Maven 安装(dev)

下载: https://maven.apache.org

以上两个链接仅仅压缩和解压缩方式不同而已,任意下载都可以,

推荐下载第一个,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

搜狗输入法:

设置安装

设置系统,安装语言环境支持(可选的,如果下面使用了 命令安装搜狗输入法,这里可以忽略)

卸载 ibus;如上方式安装中,如果一键安装,则会安装到 ibus 相关支持,搜狗官方引导中要求我们卸载掉;但是我个人没卸载也没有任何的影响。不过按官方说明卸载掉也行,减少系统依赖安装。

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

搜狗官网链接: https://shurufa.sogou.com/linux ;选择合适自己CPU 架构的版本(Intel 的基本是X86)

下载后直接双击安装包 xxx.deb ,鼠标双击即可进行安装;推荐使用命令安装

apt install ./sogoupinyin_xxx.dep 命令的方式可以省略以上手动安装语言包的步骤,他会自动通过依赖树分析,联合安装依赖树。

sudo dpkg -i ./sogoupinyin_4.2.1.145_amd64.deb
设置输入法

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

问题处理
无法输入中文

有些系统安装好后,能弹出搜狗输入法,但是无法输入中文,此时前往控制台,杀死 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

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

报错:libgsettings-qt.so.1: cannot open shared object file: No such file or directory

sudo apt install libgsettings-qt1

报错:libQt5QuickWidgets.so.5: cannot open shared object file: No such file or directory

sudo apt install libqt5quickwidgets5
搜狗默认配置(扩展)

如果上一步你选择了方案二,搜狗输入法已经满血复活了,这一步可以不用管。如果上一步你使用的方案一,那大概率你需要用到这个方式手搓搜狗配置文件

搜狗配置文件在如下路径: /home/${USER}/.config/sogoupinyin/conf

如果有特殊需求,可以直接对其进行修改;内容如下,希望你用不到这个方式。

ls
env.ini  pingback.time  stretchrules.json

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

注意:如果配置数字 大于 10 ,如 11 ,则输入法无法正常使用

PageSize=9
官网下载:

https://www.navicat.com.cn

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

安装

应用下载后安装,在 /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=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}/.config/navicat
sudo rm -rf ${HOME}/.config/dconf/user

sudo rm -rf /tmp/.config/navicat

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

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

Redis Desktop Manager

前往官网: https://goanother.com 根据页面提示下载安装即可

Balena-Etcher 烧盘工具

官网地址:https://etcher.balena.io

Github: https://github.com/balena-io/etcher

下载相应的软件包(也可以全网github 下载其他安装方式)

解压到安装位置,如我的解压到 /opt 路径下;/opt/BalenaEtcher ,路径下的 balena-etcher 文件为可执行程序。

下载一个程序 Logo: https://etcher-docs.balena.io/img/logo.png ;也存放在解压的程序路径下

配置程序应用桌面文件: sudo vim /usr/share/applications/balena-etcher.desktop

[Desktop Entry]
# 版本号
version=1.19.25
# 字符集
Encoding=UTF-8
Type=Application
# 应用名称
Name=BalenaEtcher
# 描述
Comment=Run BalenaEtcher
# 图标路径
Icon=/opt/BalenaEtcher/logo.png
# 启动是否开启终端
Terminal=false
# AppImage文件路径
Exec=/opt/BalenaEtcher/balena-etcher

Snipaste 截图工具

官网:https://www.snipaste.com 下载行响应的版本;顺便下载其 logo:https://docs.snipaste.com/logo.svg

应用下载后安装,在 /opt 下创建路径作为安装路径;并将上一步下载的程序文件和 logo 放入到工作目录下

sudo mkdir /opt/snipaste

# 查看一下文件(两个文件)
ls
logo.svg  Snipaste.AppImage

# 赋于可执行权限
sudo chmod +x /opt/snipaste/Snipaste.AppImage

创建开始菜单快捷图标,开始菜单快捷程序图标文件路径:/usr/share/applications

sudo vim /usr/share/applications/snipaste.desktop

内容如下

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

Jetbrains 全家桶安装(dev)

官网: https://www.jetbrains.com

下载相应的开发工具 IntelliJ IDEA 为例

下载下来的是一个压缩包,解压缩,移动到自己设定的软件安装的路径下;如 /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

创建程序的快捷启动文件,一下以系统级方式,如果需要用户级的自行更改路径,内容不变

sudo vim /usr/share/applications/idea.desktop;快捷启动创建后,开始菜单中就能搜索到了

[Desktop Entry]
# 版本号
version=2024.3.1.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 安装包文件,双击就可以直接安装使用;这里就一笔带过。

安装微信

微信官网:https://weixin.qq.com 目前已经支持 Linux 版本的安装了,大家可以选择自己合适的版本安装

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

Markdown 编辑器

第一款: Typora 官网下载地址:https://typora.io 可以通过下载 typora.deb 安装包进行安装,也可以命令安装;根据官网提示安装即可

第二款:Marktext 官网地址: https://www.marktext.cchttps://github.com/marktext/marktext ;根据官网说明进行安装即可。

第三款:Milkdown 我没有使用过,官网:https://milkdown.dev 网站贼卡,很难进去,号称程序员专用,感兴趣的朋友自行尝试。

WPS

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

官网下载:https://www.wps.cn

钉钉

不必多言,办公必备,如果公司使用的是企业微信的,那么可以自行决定是否需要;

钉钉官网下载地址:https://www.dingtalk.com

腾讯会议

下载相应的客户端,安装即可使用,和Windows上安装无太大差别:https://meeting.tencent.com/download

百度网盘

垃圾百度网盘,官网地址:https://pan.baidu.com ;没办法的选择,因为阿里云云盘没有 Linux 版本的发行版;

Remmina 连接远程桌面

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

XRDP 提供远程桌面

上面远程连接桌面,这里提供Linux开放远程桌面服务(如Windows、Mac、Linux 主机)进行连接远程桌面管理。

XRDP 代码地址: https://github.com/neutrinolabs/xrdp 文档中提供多种安装方式,这里通过最简单快捷的方式安装

# 安装命令
sudo apt-get install -y xrdp

# 或者
sudo apt install -y xrdp

配置 Xrdp 配置文件,端口号等均可配置(可选的)

sudo vim /etc/xrdp/xrdp.ini

sudo vim /etc/xrdp/xrdp.ini

查看 xrdp 的运行状态是否启动 : sudo systemctl status xrdp

sudo systemctl status xrdp

● xrdp.service - xrdp daemon
     Loaded: loaded (/usr/lib/systemd/system/xrdp.service; enabled; preset: enabled)
     Active: active (running) since Sat 2025-01-11 21:56:34 CST; 2min 0s ago
       Docs: man:xrdp(8)
             man:xrdp.ini(5)
    Process: 15305 ExecStartPre=/bin/sh /usr/share/xrdp/socksetup (code=exited, status=0/SUCCESS)
    Process: 15314 ExecStart=/usr/sbin/xrdp $XRDP_OPTIONS (code=exited, status=0/SUCCESS)
   Main PID: 15315 (xrdp)
      Tasks: 1 (limit: 28333)
     Memory: 872.0K (peak: 1.7M)
        CPU: 15ms
     CGroup: /system.slice/xrdp.service
             └─15315 /usr/sbin/xrdp

如果没有启动可手动执行命令启动(可选地)

sudo systemctl start xrdp

配置开机自启动(可选的)

sudo systemctl enable xrdp

sudo systemctl enable xrdp

Synchronizing state of xrdp.service with SysV service script with /usr/lib/systemd/systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install enable xrdp

柯学安装

柯学小猫

魔法小猫咪作者已经跑路;不过 GitHub 上还有很多人在维护着;自行搜搜关键(小猫 for windows)字即可获得;这里不方便给以展示地址,请自行前往github查找:结果如下;

Releas 中进行选择一个,根据自己 CPU 架构类型选择合适的,uname -r 命令可以查看 CPU架构类型

下载之后,移动到工作路径,如 /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

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

chrome

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

和谐飞机

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

系统美化MacOS

系统主题前置知识

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

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

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

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

了解了系统将每一种文件放置的位置,那么后面样式风格数据下载来之后就知道这么安装了,每个数据存放到对应的路径下,系统即可识别,并进行配置使用。

注意

需要注意的是,背景文件并不是下载解压放到相应的文件就可以识别使用的,需要添加配置背景文件(不是必须的)

如果需要如上图一样,每一张背景图都有详细的信息,就需要对背景信息进行配置,否则是不需要配置的,如放在 /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 Gtk Theme

这个是主题,仓库地址:https://github.com/vinceliuice/WhiteSur-gtk-theme

安装(不会git 的朋友直接进入代码仓库,下载最新的 tag 也是一样的)

# 克隆代码库(也可以进入页面直接下载)
git clone https://github.com/vinceliuice/WhiteSur-gtk-theme.git
# 进入克隆下来的代码路径
cd WhiteSur-gtk-theme
# 执行安装脚本安装,如果没有授权请执行 sudo chmod +x install.sh
./install.sh
2、WhiteSur icon theme

这个是图标库,仓库地址:https://github.com/vinceliuice/WhiteSur-icon-theme

安装(不会git 的朋友直接进入代码仓库,下载最新的 tag 也是一样的)

# 克隆代码库(也可以进入页面直接下载)
sudo git clone https://github.com/vinceliuice/WhiteSur-icon-theme.git
# 进入克隆下来的代码路径
sudo cd WhiteSur-icon-theme
# 执行安装脚本安装,如果没有授权请执行 sudo chmod +x install.sh
./install.sh -b
3、WhiteSur cursors

这个是鼠标指针,代码仓库地址:https://github.com/vinceliuice/WhiteSur-cursors

安装(不会git 的朋友直接进入代码仓库,直接下载源码压缩包即可)

# 克隆代码库(也可以进入页面直接下载)
git clone https://github.com/vinceliuice/WhiteSur-cursors.git
# 进入克隆下来的代码路径
cd WhiteSur-cursors
# 执行安装脚本安装,如果没有授权请执行 sudo chmod +x install.sh
./install.sh
4、WhiteSur Wallpaper

这个是背景壁纸,代码仓库地址:https://github.com/vinceliuice/WhiteSur-wallpapers

安装(不会git 的朋友直接进入代码仓库,下载最新的 tag 也是一样的)

# 克隆代码库(也可以进入页面直接下载)
git clone https://github.com/vinceliuice/WhiteSur-wallpapers.git
# 进入克隆下来的代码路径
cd WhiteSur-wallpapers
# 执行安装脚本安装,如果没有授权请执行 sudo chmod +x install-wallpapers.sh
./install-wallpapers.sh

壁纸和主题会安装到上面前置知识中介绍的对应路径下(非Root 和 Root 之情有差异)

然后进行主题中配置切换即可

样式设置配置

样式设置这里不做过多赘述,网上有很多方案,每个人根据个人需要可以慢慢体验调试;

注意:需要注意的是 chrome 浏览器需要设置更换一下主题才会跟随系统 MacOS 风的样式。

类MacOS 软件

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

Plank

通过应用商店搜索:plank 通常都能搜索到,如果无法搜索下载安装,那么请前往 github 中进行下载,编译安装

github地址:https://github.com/ricotz/plank

如果无法显示图片,请直接对配置文件进行配置:

  • 主题配置文件路径:/usr/share/plank/themes 配置plank 主题样式的配置文件
  • 应用图标配置文件路径:${HOME}/.config/plank ;在路径下有相应的配置
# 进入配置文件路径
cd ${HOME}/.config/plank/dock1/launchers
# 查看已有的配置 dockitem
ls
# xxx.dockitem 为图标配置文件
xxx.dockitem

xxx.dockitem 内容如下:如 IDEA 的图标

[PlankDockItemPreferences]
# Idea 桌面文件配置的路径
Launcher=file:///usr/share/applications/idea.desktop

注意:应用启动配置文件 xxx.desktop 文件路径有两处配置的路径:

  • 系统级路径:/usr/share/applications
  • 用户级路径:${HOME}/.local/share/applications
全局菜单

github地址: https://github.com/rilian-la-te/vala-panel-appmenu

应用商店搜索:vala-panel,和 vala-panel-appmenu;安装这两个,vala-panel-plugins-base 是附带安装的

Albert

github地址:
本体:https://github.com/albertlauncher/albert
插件:https://github.com/albertlauncher/plugins

安装参考:https://blog.csdn.net/weixin_42405819/article/details/135025334

官方文档:https://albertlauncher.github.io/gettingstarted/install/linux 该文档中记录着 Linuxmint 版本与 Ubunt 版本关系

查看 系统发行版信息:lsb_release -a

lsb_release -a
No LSB modules are available.
Distributor ID:	Linuxmint
Description:	Linux Mint 22
Release:	22
Codename:	wilma

选择适合自己的版本,下载进行安装即可完成

报错:未安装软件包 libqt6concurrent6t64 ;缺少依赖,安装即可

sudo apt --fix-broken install

小程序推荐

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

桌面小程序

Disk Space

Timelet

数码相册;可以轮播一些家人的相册,让牛马不知疲倦

面板小程序

Cinnamenu 替代系统自带的开始菜单的

CPU温度指示器

天气

posted @   Vermeer  阅读(197)  评论(0编辑  收藏  举报

喜欢请打赏

扫描二维码打赏

了解更多

点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起