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)
首页----点击----> Products ----选择 Java---->>跳转-----点击----> DownloadJava--------> 下载对应的版本
选择 **** Compressed Archive 版本的就可以了(根据CPU类型选择),免安装,解压就能使用
将下载的压缩版解压放到系统,一般放到 /usr/local 路径下,如: /usr/local/java;安装的是 java21,之后所有的版本都放到该路径下,并以版本来命名子路径
ecs-user@ecs-user:/usr/local/java$ ls
java21
Maven 安装(dev)
以上两个链接仅仅压缩和解压缩方式不同而已,任意下载都可以,
推荐下载第一个,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
Navicat 安装(dev)
官网下载:
下载相应的版本即可(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 烧盘工具
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)
下载相应的开发工具 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.cc , https://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
系统主题前置知识
系统样式配置中,有三个核心单元:背景、主题、图标****; 所有的样式更换基本都是主要换这三样东西,然后再做一些样式调整
- 背景:背景是指系统桌面显示的背景图片,以及锁屏窗口的背景,是内容和操作最少最简单的。
- 主题:包含了鼠标指针、程序按钮、图标样式等;
- 图标:需要下载图标库,供给主题使用。
这三个资源在系统中都有特定的路径存储
资源 | 路径类型 | 存放路径 | 补充 |
---|---|---|---|
背景图片 | 系统 | /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>
以上面的模式,我们自行创建一个配置文件,并进行配置,即可实现
下载主题资源
手工安装:下载三个内容: 背景、图标(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温度指示器
天气
本文来自博客园,作者:Vermeer,转载请注明原文链接:https://www.cnblogs.com/chxlay/p/18382012
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步