多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

deepin三年主力使用心得:从安装到日常维护全指南

deepin三年主力使用心得:从安装到日常维护全指南 从Windows正式切到deepin做主力系统至今差不多三年。刚换那阵子我总在虚拟机里留着一个Windows镜像生怕哪天遇到一个绕不过去的软件到现在那个虚拟机已经有半年没开过了。这不是说deepin完美而是它的完成度已经足够覆盖一个普通开发者轻度办公用户的日常。今天不聊那些官方宣传稿里的漂亮话就从一个实际用了三年的用户视角把deepin这台系统从安装到日常使用会遇到的坑、值得做的事、以及那些搜遍全网也未必有人系统讲过的问题一次性理清楚。这篇文章适合谁看准备从Windows迁移过来的朋友、刚装完deepin不知道怎么下手的萌新、以及已经用了几个月但被各种小毛病折磨过的普通用户。我会把遇到的每一个问题都拆成“为什么会出现 怎么排查 怎么解决”三段来讲尽量让你下次遇到类似问题不用再各处搜。1. 我为什么把deepin当成从Windows迁移的第一站1.1 deepin的定位它解决的是Windows用户的迁移问题很多人一提到国产Linux系统第一反应是“又一个憨憨的戏法”。但deepin跟那种只做表面功夫的发行版不一样它的核心定位特别清晰让Windows用户能无障碍地迁移到Linux生态。这个定位体现在哪里你看它的桌面环境DDEDeepin Desktop Environment——底部任务栏、启动器、控制中心这些交互逻辑几乎就是Windows用户肌肉记忆的延续。我刚装完那会儿几乎不需要重新学习任何操作习惯开始菜单一按所有应用就在那里。这种“用起来不别扭”的感觉恰恰是很多其他发行版给不了的。另一个体现是它对中文本地化做了大量细节处理。字体渲染默认就很舒服不像某些发行版装完还要折腾一堆中文字体输入法虽然默认只装了一个但配置起来非常顺手文件管理器对中文文件名、挂载Windows分区的中文目录也没有那些奇怪的编码问题。这些看起来小实际用起来全是幸福感。还有一点是deepin对“开箱即用”的理解。装完系统显卡驱动、无线网卡、蓝牙、打印机的常见型号基本都能直接工作。你在Ubuntu上可能需要装半天的NVIDIA驱动deepin在安装阶段就会自动探测并做好适配。这一点对新手极其重要——系统的第一印象往往就决定了你会不会继续用下去。1.2 生态现状哪些软件能直接装哪些要曲线救国我理解每一个从Windows过来的人最关心的就是“我原来用的软件能不能用”。直接给结论deepin的应用商店里办公类的WPS、微信、QQ、企业微信开发类的VS Code、IntelliJ全家桶、Postman影音类的爱奇艺、网易云音乐甚至部分Windows阵营的软件像百度网盘、迅雷都有官方适配或社区打包版本直接点安装就能用。但如果你依赖的是非常垂直的专业软件比如某些财务软件、工业设计软件、带加密狗的教学平台那就得提前做好“要么用网页版、要么用兼容层、要么找替代品”的心理准备。deepin自带的deepin-wine兼容层能跑不少Windows程序我实测过一些老版本的绿色软件双击真的能跑起来。但这个兼容层不是万能药有些依赖虚拟驱动的软件还是会失败。开发者群体的生态反而是我比较满意的。Python、Node.js、Go、Java这些主流语言在deepin上安装和运行没有特殊障碍。Docker的兼容性经过这几年的迭代也比早期好太多后面我会专门讲我在Docker上踩的坑。1.3 硬件兼容性旧电脑和新电脑分别要看什么关于硬件我先说一个反直觉的结论旧电脑装deepin通常比新电脑顺利。老款Intel核显、AMD APU这类硬件Linux内核的驱动支持非常成熟装上基本就是能用。我有一台2013年的老笔记本2GB内存Windows 10已经卡得没法看但跑deepin的轻量模式还挺顺畅。当然内存建议还是至少4GB2GB只够日常写写文档、看看网页开太多标签也会吃紧。新电脑要注意的主要是两个方面一是太新的显卡型号比如40系NVIDIA或AMD 7000系刚发布那阵子内核版本的驱动可能跟不上会出现进不去桌面或者花屏的问题。解决办法通常是把内核升级到较新版本或者安装厂商提供的最新驱动二是笔记本的某些特殊部件比如某些型号的指纹识别器、独立显卡切换Optimus可能有兼容问题。我的建议是如果准备买新笔记本回来装deepin买之前先查一下Linux Hardware Compatibility这类社区数据库或者直接在社区问一嘴同型号用户的体验。这个动作能帮你避免很多后续痛苦。2. 启动盘做不出来大概率是这三个环节出了问题2.1 U盘和写入工具不算小事很多人在第一步就翻车然后以为是系统镜像的问题。实际上启动盘做不出来绝大部分原因出在U盘和写入工具上。先说U盘。建议用USB 3.0接口的U盘容量8GB以上。关键点是尽量用品牌U盘别用那种来历不明的地摊货。我遇到过好几个案例写完镜像后校验MD5就出错或者引导到一半U盘直接消失换一个正规U盘后一次就成功了。另外U盘里不要放其他文件写盘工具会格式化整个U盘。写入工具的选择Windows上我推荐Ventoy这玩意儿是真的省心。它会把U盘做成一个多系统引导盘你只需要把ISO镜像文件直接复制进去重启选择对应的镜像就能安装。好处是以后换其他Linux发行版或Windows镜像都不用重新写盘继续往U盘里扔文件就行。另一个老牌工具是Rufus写盘速度快界面直观只是每次换镜像都要重新写一次。deepin官方的启动盘制作工具其实也做了基于deepin-burner在Windows上也能跑操作就三步选镜像、选U盘、开始制作。缺点是不如Ventoy灵活但对于只想装deepin的用户来说完全够用。我个人的建议排序是Ventoy Rufus 官方工具。2.2 BIOS/UEFI设置Secure Boot和启动顺序U盘写入没问题插到电脑上重启却还是从硬盘启动了这几乎是每个新手都会遇到的情况。首先进入BIOS/UEFI设置界面不同品牌按键不同一般是Del或F2联想是F1/F2惠普是F10/F12。在Boot菜单里做两件事关闭Secure Boot安全启动。deepin 20以上的版本对Secure Boot的支持已经比以前好但依然有不少主板在开启状态下不认Linux引导直接关掉最省事。调整启动顺序把U盘USB HDD或者UEFI: U盘型号排到第一位或者用启动快捷键一般是F12/F7/F8临时选择从U盘启动。这里有一个容易混淆的点如果你的U盘是Ventoy制作的会同时存在UEFI和Legacy两种引导模式选择哪一个取决于你安装的目标磁盘分区表格式。新电脑基本都是UEFIGPT选带UEFI前缀的启动项老电脑如果是MBR就选不带UEFI的。选错了哪怕进了Ventoy菜单安装时也可能报“找不到引导设备”之类的问题。2.3 引导失败的排查链路如果上面的操作都做了还是无法引导建议按这个顺序排查第一步换一个USB接口。优先插机箱后面的接口不要插前置面板。某些前置USB接口供电不稳会导致U盘识别失败。笔记本的话优先插雷电口或原生USB口。第二步换一个写入工具重新写盘。有时候问题就出在写入软件对特定U盘主控芯片的兼容性上。我遇到过用Rufus写入失败的U盘用Ventoy一次就成功的情况没什么道理可讲就是兼容性问题。第三步重新下载镜像并校验MD5值。镜像在下载过程中有可能损坏deepin官网会提供SHA256校验值下载完用工具校验一下再写盘避免带着一个坏镜像折腾半天。第四步如果以上都不行把目标硬盘的启动模式从UEFI切换到Legacy或者反过来。有些主板的默认固件设置比较特殊Linux的grub引导在某些组合下就是起不来切换一下反而好了。这四步走完99%的引导问题都能解决。剩下那1%我碰到的基本都是主板固件太老或者U盘本身物理损坏那就真的只能换硬件了。3. 装完系统先别急着装软件把源和驱动捋顺了再说3.1 为什么默认源会慢换源怎么操作deepin安装完成后的第一件事我强烈建议是换软件源而不是急着打开应用商店装软件。默认的软件源服务器虽然在国内但高峰期下载速度依然可能比较慢尤其是安装大型软件包或者系统更新时那个进度条真的让人捉急。deepin为此提供了图形化的“软件源管理”工具但说实话我更推荐直接改配置文件因为这样可控性更强出了问题也知道去哪排查。在终端里执行sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo vim /etc/apt/sources.listdeepin的软件源配置文件跟Debian的路径一样。文件里默认内容是deb [by-hashforce] https://community-packages.deepin.com/beige/ beige main commercial community这样的行。换源的核心思路就是把这行里的服务器地址替换成可用的镜像站地址。deepin官方维护了一个镜像站列表国内常见的开源镜像站基本都有deepin的仓库比如清华、阿里云、中科大、华为云。拿清华源举例配置长这样deb [by-hashforce] https://mirrors.tuna.tsinghua.edu.cn/deepin/ beige main commercial community改完之后执行sudo apt update注意apt update之后如果出现NO_PUBKEY或KEYEXPIRED之类的密钥报错说明镜像站的密钥签名没被系统信任需要手动导入deepin公钥。这一步经常被忽略导致明明换了源但apt update依然报错。sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 你的公钥ID虽然apt-key在Debian 12之后的版本里弃用了但deepin 23系列目前还是能用这个命令。实在不行也可以从deepin官方下载公钥包安装。换完源再执行一次sudo apt update sudo apt upgrade速度会有质的提升。3.2 驱动与桌面环境装完系统必检查的两项很多人装完deepin第一次重启就发现桌面卡顿、窗口撕裂、或者干脆黑屏。这大多是显卡驱动的问题。先说NVIDIA。deepin在安装时一般会自动安装合适的驱动但如果你在安装时选了“不安装第三方驱动”或者系统更新后驱动掉了可以打开“控制中心 - 显卡驱动管理”里面一般会有“使用Intel默认驱动”和“使用NVIDIA闭源驱动”两个选项直接切换后按提示重启。用命令行的方式也可以deepin对NVIDIA闭源驱动提供了专有的包管理命令。不过我的建议是优先用图形界面切换命令方式适合图形界面已经进不去的情况。Intel核显和AMD显卡的用户一般不用太操心开源驱动基本开箱即用。如果你遇到屏幕撕裂可以试试在/etc/X11/xorg.conf.d/下创建一个配置文件启用TearFree但这是进阶操作日常用户可以先忽略。另一个容易忽略的是内核模块和固件。deepin基于Debian本质上内核更新走的是Debian的路线。如果你新电脑的硬件太新官方仓库的内核版本可能不够新导致某些硬件没驱动。解决办法是安装linux-image-deepin-kernel这类新内核包或者在控制中心的“更新设置”里开启“内测更新渠道”。注意内测渠道偶尔会有不稳定的包非必要不推荐日常使用。3.3 基础软件清单办公、通信、开发装完系统、搞定源之后就可以开始装软件了。我不建议一股脑全装先装这几类日常就基本够用了。办公WPS Office是deepin商店里的常驻应用官方对Linux版的支持力度很大文档兼容性比LibreOffice好很多是深度用户的首选。如果只是临时看PDF系统自带的文档查看器就够。通信微信、QQ都有官方Linux版从deepin商店直接装。企业微信也有Linux版但有些版本更新不及时如果发现登录异常检查一下商店里有没有新版本。钉钉的Linux UOS版在deepin上也能跑但偶尔有小bug我的经验是优先用web版稳定。开发VS Code直接下deb包安装或者用sudo apt install code需要先导入微软的库。JetBrains全家桶推荐用Toolbox统一管理升级方便。Git是系统自带Python、Node.js建议不要用系统自带的旧版本直接用编译安装或用pyenv/nvm管理多版本。另外建议安装这几个高利用率的小工具sudo apt install vim htop tree unzip p7zip-full git curl wget这些工具在后面排查问题时会反复用到提前装好不亏。4. 日常使用最高频的翻车现场桌面、图标、Docker、解压乱码4.1 卡在deepin logo后进不去桌面的排查这个是搜索热词里呼声最高的问题“显示deepin之后进不去桌面了”。这个现象我遇到过两次一次是显卡驱动更新后一次是磁盘空间被日志塞满。先说排查思路。卡在logo界面说明系统已经启动到了显示管理器这一环但桌面服务起不来。按CtrlAltF2部分笔记本是CtrlAltF3/F4切换到纯文本终端用你的用户名和密码登录。这一步能进终端说明系统本身没崩问题出在图形栈。然后在终端里执行sudo systemctl status lightdm # 或者 sudo systemctl status gdm3deepin默认的显示管理器是lightdm把它停掉再启动一次sudo systemctl restart lightdm如果还是不行看日志journalctl -xe -u lightdm重点看有没有** (lightdm:...): 报错、或者显卡相关的EEError信息。我遇到过一次是NVIDIA驱动更新后加载失败日志里明确写着Failed to load module nvidia这时候切回Intel驱动就能进桌面。如果日志没问题那大概率是磁盘满了。用df -h看一下/分区使用率如果到100%桌面是起不来的。日志文件经常悄悄吃掉几个G清一下就行sudo journalctl --vacuum-time3d这只保留最近3天的系统日志立竿见影。最后一种情况是系统更新后图形栈依赖坏了。排除以上所有原因后尝试在终端执行sudo apt install --fix-broken install修复依赖然后重启。90%的桌面进不去问题这四个步骤能解决。4.2 图标资源在哪里ico文件和主题图标去哪儿找有读者问deepin下的图标目录在哪这个问题看起来基础但实际上涉及到三类资源。第一类是系统主题图标也就是你在桌面、文件管理器里看到的那些图形化图标存放在/usr/share/icons/。里面会有deepin、bloom、Papirus之类的子目录每个目录对应一套完整图标主题。如果你从网上下载了第三方的图标包解压后放到这个目录下的子文件夹然后在控制中心的“个性化 - 图标主题”里就能看到新主题。第二类是应用自带的图标文件也就是常见格式的.ico或.png。这些图标并不都集中在一个目录而是跟随应用安装位置走。.desktop文件里的Icon字段决定应用图标去哪找桌面图标对应的快捷方式文件在/usr/share/applications/全局和~/.local/share/applications/当前用户你可以打开任意一个.desktop文件看Iconxxx表示系统会按照xxx这个名字在/usr/share/icons或/usr/share/pixmaps里搜索同名图片。第三类是窗口图标和任务栏图标这种一般是应用运行时动态加载程序源码里会引用资源目录。如果你想修改某个应用在任务栏显示的图标最快的方式是在/usr/share/applications/对应.desktop文件里把Icon改成你想用的图标路径保存后重启桌面或执行sudo update-desktop-database刷新。另外提一句/usr/share/pixmaps/目录存放的是兼容性图标一些老软件、命令行工具常把图标扔在这里。如果你装了一个软件启动器里却显示空白图标去这两个目录里找找同名文件基本能找到原因。4.3 Docker装不上/起不来别急着怪系统deepin 23系列基于Debian所以Docker的安装方式和Debian基本一致。很多人卡在第一步是源的问题deepin默认源里没有docker-ce的包直接apt install docker会装到一个早期版本而且还不一定装得上。标准的安装方式是把Docker官方源加到apt里然后安装docker-ce。这里有个细节deepin的/etc/os-release里VERSION_CODENAME可能跟Debian的代号不一致Docker源不认这个代号就会报错。最省事的办法是下载Docker官方的静态安装包解压后直接把二进制文件放到/usr/bin/或者用仓库里提供的维护脚本。我自己更推荐另一种方式不会在系统里折腾的直接用deepin应用商店里可能已经收录的Docker图形化管理工具喜欢折腾的直接参考Docker官方文档安装遇到源报错时把源文件里的stable改成你的deepin对应Debian代号比如bookworm就行——deepin 23系列对应的Debian代号是bookworm或类似分支具体以cat /etc/os-release输出为准。装完之后docker命令提示permission denied那一定是用户组没加。执行sudo usermod -aG docker $USER然后重新登录docker命令就能免sudo运行。另外docker-compose如果安装后执行不了检查一下Python版本部分版本需要Python 3.9以上。最常见的“起不来”还有一种情况是内核模块没加载。执行docker run hello-world报Cannot connect to the Docker daemon时先看sudo systemctl status docker如果服务没起来执行sudo systemctl start docker。还不行就查sudo dmesg | grep -i docker看有没有operation not permitted之类的提示。这个一般是新版内核的模块签名机制导致的跟deepin本身关系不大换用较新的内核版本后基本能解决。4.4 ZIP压缩包解压中文乱码的处理这个问题在Linux系发行版上几乎是通病——Windows上压出来的ZIP压缩包中文文件名用的是GBK编码而Linux默认用UTF-8解压出来就是一堆乱码。最简单的处理方式是用支持编码转换的unzip版本。deepin自带的unzip不支持-O参数需要安装一个增强版本sudo apt install unzip # 如果系统自带的不支持 -O可以安装 p7zip-full 替代 7z x 文件名.zip如果你就是想用unzip解压还有一个办法是加上-O选项指定编码unzip -O GBK 文件名.zip但前提是你的unzip版本支持这个参数。实测deepin仓库里的unzip版本有的支持有的不支持这也是为什么我建议直接装p7zip-full。7z在处理GBK编码上稳定很多基本上直接7z x 文件名.zip不会乱码。如果你经常处理Windows传过来的压缩包我强烈建议做一个小配置——在~/.bashrc里加一个别名alias unzip7z x或者用一个脚本自动判断编码。当然这只是临时方案最根本的解决办法是让压缩的人用7-Zip或Bandizip勾选“UTF-8”编码后再压缩。但这个你没法控制对方的习惯所以自己掌握这个技巧能省很多心。5. 终端操作才是deepin的隐藏主线5.1 那些你迟早要用的高频命令deepin的图形化做得再好终端仍然是绕不开的效率工具。尤其是系统出问题时终端是唯一的入场券。我整理一份日常使用中出镜率极高的命令清单按场景分类用户和权限管理是Linux运维的基础也是面试经常问到的部分。新建用户、设置密码、加入sudo组sudo adduser 用户名 sudo passwd 用户名 sudo usermod -aG sudo 用户名如果只是临时用root权限执行一条命令用sudo 命令想切换到root身份用sudo su -。需要注意deepin默认禁用了root的密码登录直接用su会失败这属于安全设计不必强行开启。磁盘和空间管理df -h # 查看各分区使用率 du -sh 目录 # 查看某个目录占用空间总和 ncdu # 交互式磁盘占用分析工具强烈推荐安装网络排查ip a # 查看网络接口和IP地址 ping -c 4 网关IP # 测试连通性 ss -tulnp # 查看端口监听情况 nslookup baidu.com # DNS解析测试进程管理ps aux | grep 进程名 # 找进程PID top 或 htop # 动态查看系统资源 kill -9 PID # 强制结束进程 nohup 命令 # 后台运行任务这几个命令配合man 命令名基本能应付绝大多数日常问题。5.2 用命令行解决实际问题日志、服务、打包命令背得再多不会组合也没用。举三个实际的场景。场景一应用崩溃怎么查崩溃原因。在终端启动应用通常能得到更详细的错误输出比如运行某个GUI程序softname直接终端执行如果崩了终端会打印一堆traceback或段错误信息。系统层面的崩溃日志则要看两个地方/var/log/syslog和journalctl -xe。查日志时配合tail和grep能快速定位是哪个组件出问题。场景二系统服务管理。deepin用systemd管理服务常用的就是systemctl start|stop|restart|enable|disable 服务名。如果某个服务启动失败systemctl status 服务名 -l会打印完整日志不用打开文件看。这个对排查Docker、SSH、蓝牙服务非常有用。场景三打包和安装deb包。从网上下载的.deb文件双击确实可以安装但经常没反应或者报冲突。命令行处理更清晰sudo apt install ./软件包.deb # 推荐会自动处理依赖 sudo dpkg -i 软件包.deb # 强行安装不查依赖如果提示缺依赖执行sudo apt --fix-broken install修复。卸载软件用sudo apt remove 软件名。5.3 新建用户、用户组与权限控制的实践理解热词里“linux新建用户”“用户和用户组和权限”经常一起出现说明大家对这个点总是记不住。我用大白话理一遍。Linux里一切都是文件一个用户能碰什么文件由三个东西决定用户IDuid、组IDgid、文件权限位。权限位用rwx表示读、写、执行三个一组一共三组分别是“拥有者/同组/其他”。举个例子ls -l file输出-rw-r--r--意思是拥有者可读可写同组和其他人只读。改权限用chmodchmod 755 file # 拥有者rwx其他人r-x chmod ux file # 只给拥有者加执行权限改属主和属组用chownsudo chown 用户名:组名 file文件属性、用户和组的管理本身并不难难的是理解“为什么要有这层设计”。答案是安全和隔离。deepin桌面用户可能很少直接碰这些但你一旦想配置一个共享目录、跑一个多用户服务这套东西就绕不开。比如你想把某个目录共享给家庭成员账户除了共享工具的配置之外还得保证目录权限允许对方访问。从实际角度看不要轻易chmod 777所有人可读写会让你在局域网环境里很危险。正确的姿势是把用户加到合适的组里比如设计一个shared组然后把目录属组改成shared再给目录加组写权限。这个思路比粗暴的777靠谱得多也更容易维护。6. 一些得用时间换来的使用心得走到这一步deepin的基本操作、常见故障、终端技巧你都已经心里有数了。最后分享几个我用久了才慢慢体会到的东西。第一个是内核更新不用怕但大版本升级一定要谨慎。deepin的滚动更新节奏很激进小版本更新带来的基本都是修复和优化可以放心更。但跨大版本升级比如从20升级到23如果手头这台机器是主力机我建议先备份或者等一两个小版本出来后再动手。早期的大版本升级确实出过不少驱动回退、软件包冲突的问题。第二个是不要过度美化桌面。deepin的桌面开箱即用已经很好看了但有些朋友一上来就装各种主题和特效插件结果系统越来越卡然后怪系统垃圾。DDE本身是合成器渲染对显卡要求比纯窗口管理器高装太多动画类扩展确实会拖慢老机器。想折腾的话装个虚拟机先试别在主力机上梭哈。第三个是善用deepin社区和论坛。这可能是deepin最被低估的财富。很多你在搜索引擎找不到答案的冷门问题社区的维护者和老用户都能给你解决的思路。但提问之前先自己排查一遍带上系统版本号、内核版本和日志信息这样别人才能帮到你。伸手党在哪个社区都不受欢迎。如果你准备把deepin作为主力系统我最后的建议是给它一个月的适应期不要遇到一个Windows的操作习惯就对它有意见。Linux生态和Windows生态的逻辑从根本上就是不同的学会接受这种不同会发现它带给你的自由度远大于那些暂时还没有适配的软件带来的不便。至少到目前为止我在deepin上写的每一行代码、处理的每一个文件都没有让我产生过换回Windows的念头。
返回列表