「养老」重装 Deepin OS + 优化记录(备忘手册)

原创

本文最后更新于 <span id="expire-date"></span> 天前,文中部分描述可能已经过时。

惠普 735g5 ,从 Windows 到 Ubuntu、Deepin、Manjaro 再到 Arch Linux,最终还是回归 Deepin OS 的怀抱,期待它越来越好用。

养老了(确信)

最新补充

升级内核后没声音

使用上一个版本的内核开机,音乐外放正常。

索性锁定 Linux 内核版本,没啥必要不更新了。

筛选查看已安装的内核 dpkg --get-selections|grep linux

卸载有问题的新内核:

sudo apt remove linux-image-5.12.18-amd64-desktop
sudo apt remove linux-headers-5.12.18-amd64-desktop

锁定正常使用的旧版内核,防止被更新:

sudo apt-mark hold linux-headers-5.12.14-amd64-desktop linux-image-5.12.14-amd64-desktop

如需检查标记为保留(锁定)的包:

sudo apt-mark showhold

要解除锁定可以使用如下命令:

sudo apt-mark unhold PACKAGE

参考:https://www.sysgeek.cn/ubuntu-lock-package-version/

升级系统时某些软件不更新

例如:

sudo apt update && sudo apt upgrade -y
……
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
有 1 个软件包可以升级。请执行 ‘apt list --upgradable’ 来查看它们。
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
正在计算更新... 完成
下列软件包的版本将保持不变:
dde-session-shell
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 1 个软件包未被升级。

可以尝试 sudo apt-get dist-upgrade

sudo apt-get dist-upgrade 
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
正在计算更新... 完成
下列软件包将被【卸载】:
dde-preload
下列软件包将被升级:
dde-session-shell
升级了 1 个软件包,新安装了 0 个软件包,要卸载 1 个软件包,有 0 个软件包未被升级。
需要下载 728 kB 的归档。
解压缩后将会空出 2,005 kB 的空间。
您希望继续执行吗? [Y/n] y

参考:https://forum.ubuntu.com.cn/viewtopic.php?t=486028

坚果云重复提示更新

重启后总是提示正在更新……反反复复大半个月,尝试给坚果云客服发邮件,很快得到邮件反馈(好评👍),建议从源码编译安装,而不是 apt install jianguoyun.com ,问题解决。

zip 解压文件名带中文的文件乱码

由于坚果云流量有限而其它网盘不好用,我只得时不时把手机上的音乐备份至 U 盘,需要时再复制到电脑,为减少碎片文件,加快传输速度,将几百个 .lrc 歌词文件压缩后再备份。

今天碰到个问题,带中文的歌词文件解压后乱码,无法使用。

这属于常见问题,解决方案不少,有的看起来还挺麻烦。

幸好有个简单省力的 unar 命令,参考:Linux 下 zip 文件解压乱码如何解决? - Find Hao的回答 - 知乎

unar Lyric歌词.zip

注意不是 unrar 。

20.1 升级至 20.2 翻车

愚人节更新后论坛直接炸翻天,一堆进不去桌面环境的,半天后勉强解决。

苦等半个月,还是一堆 bug 没能修复,备份重装走起。

这次不敢只用一个 / 分区了,还是把 / 和 /home 分成两个区比较安全,万一不幸又升级坏了,只要覆盖 / 分区进行全新安装应该就好。平时到处搜刮的软件和其它媒体文件都放 /home ,重装之后不必到处重新找(还可能找不到),费时费力。

重要文件依然建议实时云备份,不嫌麻烦的还可以定时多处备份。

You can never be too careful.

跑路是不可能跑路的,给 Deepin 多一点包容,期待它成为下一个 MIUI 。

给自己杂乱的磁盘分区添加卷标

查看分区信息

lsblk
sudo blkid -c /dev/null

以下分区路径和挂载点仅供参考,不可盲目操作!!!

  • 给 NTFS 分区打上 Windows10 标签
    sudo ntfslabel -f /dev/nvme0n1p3 'Windows10'
    /dev/nvme0n1p3 是该分区所在路径,-f 是强制的意思,方便对已挂载的分区进行操作。
  • 给 BTRFS 分区打上 Arch 标签
    sudo btrfs filesystem label /media/username/b3c6aa7f-23a6-47de-978d-285f622a8e34 'Arch'
    /media/username/b3c6aa7f-23a6-47de-978d-285f622a8e34 是目标分区的挂载点。
  • 给 swap 分区打上 SWAP 标签
    sudo swaplabel -L ‘SWAP’ /dev/nvme0n1p5
    显示 swaplabel: /dev/nvme0n1p5: failed to write label: 文本文件忙 ,问题不大,等下次刚开机, swap 分区还没被使用的时候再操作。
  • 给 ext4 分区打上 Deepin 标签
    sudo e2label /dev/nvme0n1p4 'Deepin'

重新 sudo blkid -c /dev/null 即可看见新增的 LABEL="xxx"

关机、注销被阻止

关机提示:

Unattended Upgrades Shutdown-Stop ongoing upgrades or perform upgrades before shutdown,以上程序阻止关机,强制关机可能会导致其数据丢失,您可以点击“取消”然后关闭这些程序。

sudo service unattended-upgrades status
sudo service unattended-upgrades stop

似乎还是不行?

$ cat /etc/apt/apt.conf.d/20auto-upgrades
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

那就把第二个 1 改为 0 ,关闭自动更新。

升级最新 adb 工具包

Deepin 的软件源更新速度有点感人,apt install 安装的还是半年前的版本。

查看当前 adb 版本及所在目录:

$ adb version
Android Debug Bridge version 1.0.39
Version 1:8.1.1-1+r23-5.4-1+eagle
Installed as /usr/lib/android-sdk/platform-tools/adb

备份当前 adb 工具包:

sudo mv /usr/lib/android-sdk/platform-tools/ /usr/lib/android-sdk/platform-tools.bak/

下载最新 adb 包解压、测试:

cd ~/Downloads
wget https://dl.google.com/android/repository/platform-tools-latest-linux.zip
unzip platform-tools-latest-linux.zip
rm platform-tools-latest-linux.zip
cd platform-tools/
./adb version # 确认可用

cd ..
sudo cp -r platform-tools/ /usr/lib/android-sdk/platform-tools/
$ adb version
Android Debug Bridge version 1.0.41
Version 31.0.1-7187441
Installed as /usr/lib/android-sdk/platform-tools/adb

升级完毕,该删的都可以删了。

pip 升级所有包

参考 Python 使用 pip 升级所有包

pip list
pip list --outdate
pip freeze --local | grep -v '^-e' | cut -d = -f 1 | xargs -n1 pip install -U

隐藏 snapd 安装软件后多出的磁盘分区

$ lsblk -f
NAME FSTYPE LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
loop0 squashfs 0 100% /snap/core20/904
loop1 squashfs 0 100% /snap/bombsquad/5
……

不难发现 snapd 安装软件后,生成的分区都是 loop0、loop1 这样的命名方式。

新建一条隐藏规则:

$ sudo micro /etc/udev/rules.d/90-hide_parts.rules
KERNEL=="loop*",ENV{UDISKS_IGNORE}="1"

重启,文管里面就不会再显示烦人的一大堆分区了。

lazygit

cd ~/.local/bin
wget https://github.com/jesseduffield/lazygit/releases/download/v0.26.1/lazygit_0.26.1_Linux_x86_64.tar.gz
tar xvf lazygit_0.26.1_Linux_x86_64.tar.gz
rm lazygit_0.26.1_Linux_x86_64.tar.gz LICENCE README.md
lazygit --help

以后进入自己的博客目录,运行 lazygit 就能很方便地追踪文件变动。

安装 Docker

安装:

使用官方安装脚本自动安装 (仅适用于公网环境)

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

安装成功后除显示版本信息外(今后可以使用 sudo docker version 进行查看),还有下列提示:

If you would like to use Docker as a non-root user, you should now consider
adding your user to the "docker" group with something like:

sudo usermod -aG docker <用户名>

Remember that you will have to log out and back in for this to take effect!

WARNING: Adding a user to the "docker" group will grant the ability to run
containers which can be used to obtain root privileges on the
docker host.
Refer to https://docs.docker.com/engine/security/security/#docker-daemon-attack-surface
for more information.

那就乖乖 sudo usermod -aG docker <用户名>

sudo docker run hello-world 测试能否正常运行 docker。

docker-compose:

sudo curl -L "https://github.com/docker/compose/releases/download/1.28.6/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose | bash
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version

国内镜像加速:

申请阿里云镜像加速

您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://abcdefgh.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
cat /etc/docker/daemon.json

管理面板工具

lazydocker 看起来不错,和 gotop 界面风格类似。

作者给出了一键安装脚本:

curl https://raw.githubusercontent.com/jesseduffield/lazydocker/master/scripts/install_update_linux.sh | bash

lazydocker 的二进制文件默认放进 /usr/local/bin

如果网络状况不太好,在终端下载不动,也可以前往它的 release 页手动下载编译好的对应架构的压缩包,解压后将可执行文件丢进 ~/.local/bin 或者其它自己喜欢的文件夹。

在 fish 下使用 autojump

sudo apt install autojump
omf install autojump

autojump d 报错:

Please source the correct autojump file in your shell's startup file. For more information, please reinstall autojump and read the post installation instructions.

Deepin 的文件管理器会时不时自动新建文件索引以加快搜索速度,所以直接在文管里面 Ctrl + F 搜索 autojump 就好,find 命令太慢了。

找到之后 source 一下看看:

source /usr/share/autojump/autojump.fish

顺便附一个错误示范:

点击展开
$ source /usr/share/autojump/autojump.sh
/usr/share/autojump/autojump.sh (line 16): Missing end to balance this if statement if [ "${shell}" = "sh" ]; then
^
from sourcing file /usr/share/autojump/autojump.sh called on standard input

source:读取文件 “/usr/share/autojump/autojump.sh” 时发生错误

这下可以正常使用 autojump 目录 或者 j 目录 了。

最后 micro ~/.config/fish/config.fish

加一条 source /usr/share/autojump/autojump.fish 进去即可。

更新 wine 版 TIM、微信

直接在软件内更新失败。

前往腾讯官网下载 Windows 版本的安装包( xxx.exe )。

cd ~/Downloads 进入下载文件夹,运行类似下面的命令:

env WINEPREFIX="$HOME/.deepinwine/Spark-TIM/" deepin-wine5 TIM3.3.5.22018.exe
env WINEPREFIX="$HOME/.deepinwine/Deepin-WeChat/" deepin-wine5 WeChatSetup.exe

文件夹和安装包建议使用 Tab 键补全。

alias rm='trash-put' 防止手贱

删库之后没有跑路,只有泪目。

官方文档见这篇 trash-cli —— 回收站的命令行界面

sudo apt install trash-cli

trash-put           把文件或目录移动到回收站
trash-empty 清空回收站
trash-list 列出回收站文件
trash-restore 恢复回收站文件
trash-rm 删除回收站文件

从 home 分区移动到回收站的文件在 ~/.local/share/Trash/ ,基本兼容深度文件管理器的回收站 ,但使用后者 delete 的文件,不能用前者的命令还原(无伤大雅)

alias rm='trash-put' 添进 ~/.zshrc,rm 命令真的很危险,即便不加 sudo 。

如果偶尔确实有 rm 的需要,使用 \rm 即可取消别名。

最好还是多做几手备份准备,咸鱼上捡个成色不错的硬盘也不贵,机械盘就挺好,使用 timewhift 等工具进行快照式增量备份。

内存有价,数据无价!

XDG user directories

解决文件管理器左侧 下载~/Download 的情况。

Xdroid 无法启动安卓应用

原本正常使用,但某次系统更新之后,Xdroid 只能打开程序启动界面,无法启动任何安卓应用,连报错信息都不显示。

解决:

sudo dkms uninstall deepin-anything/0.0

重启电脑再打开 Xdroid,恢复如初。。

详细展开
❯ sudo dkms uninstall deepin-anything/0.0



-------- Uninstall Beginning --------

Module: deepin-anything

Version: 0.0

Kernel: 5.10.5-amd64-desktop+ (x86_64)

-------------------------------------



Status: Before uninstall, this module version was ACTIVE on this kernel.



vfs_monitor.ko:

- Uninstallation

- Deleting from: /lib/modules/5.10.5-amd64-desktop+/updates//

rmdir: 删除 'updates/' 失败: 目录非空

- Original module

- No original module was found for this module on this kernel.

- Use the dkms install command to reinstall any previous module version.



depmod...



DKMS: uninstall completed.

VirtualBox 报错 1908

冒冒失失地更新了 5.11 内核,结果 VirtualBox 无法启动虚拟机。

IMG_20210224_100840

Deepin 回退内核版本:

重启,在启动菜单里面选择高级选项,可以看到已安装的所有内核。

选用旧内核启动,运行 VirtualBox,确认正常使用,然后卸载新内核。

dpkg --get-selections|grep linux #查看已安装内核
sudo apt-get purge linux-headers-5.11.0-xanmod1
sudo apt-get purge linux-image-5.11.0-xanmod1

可不敢乱升级了。


看英文搜索结果找到这条

I fixed this bug by simply adding #include <linux/ethtool.h> to VirtualBox/src/vboxhost/vboxnetflt/linux/VBoxNetFlt-linux.c in VBox v6.1.18 installation.

sudo micro /usr/share/virtualbox/src/vboxhost/vboxnetflt/linux/VBoxNetFlt-linux.c

在 40 行左右加上 #include <linux/ethtool.h>

最后运行

$ sudo /sbin/vboxconfig
vboxdrv.sh: Stopping VirtualBox services.
vboxdrv.sh: Starting VirtualBox services.
vboxdrv.sh: Building VirtualBox kernel modules.

再打开 vbox 运行虚拟机系统试试,它已经能在 5.11 内核正常工作了。(不明白它的更新为什么如此不智能)

CPU 调度快速切换

Deepin 系统控制中心自带的性能模式切换似乎看不见效果。

偶尔有不插电的情况,给 CPU 适当降频以提升续航能力。

使用这个 CPU频率调节器(CPUPowerGUI)可以减少笔记本发热、延长电池使用...,查看自己电脑 CPU 支持哪些调度。

再参考这篇 CPU governor调节器汇总 对几个名称稍作了解。

查看当前 CPU 调度

cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

我这里默认输出 8 个 performance。

变更为 powersave

echo powersave | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

重新查看当前 CPU 调度

cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

改回 performance

echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

以此类推。

为方便以后切换,将以下内容添进 ~/.zshrc

alias cpu-powersave='echo powersave | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor'
alias cpu-performance='echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor'

以后随时用 cpu-powersavecpu-performance 进行切换。

顺便记一条踩坑

 π ~ ❯ sudo echo battery > /sys/class/drm/card0/device/power_dpm_state
zsh: 权限不够: /sys/class/drm/card0/device/power_dpm_state

正确用法同上。但奇怪的是,即使手动改成 battery 模式,它也会自动恢复成 performance 模式。

 π ~ ❯ cat /sys/class/drm/card0/device/power_dpm_state                                                     
performance
π ~ ❯ echo battery | sudo tee /sys/class/drm/card0/device/power_dpm_state
battery
π ~ ❯ cat /sys/class/drm/card0/device/power_dpm_state
performance

或许是 Deepin 的 bug 😢

TLP

sudo apt install tlp

sudo deepin-editor /etc/default/tlp 调整电源配置

有空琢磨一下怎么让风扇不那么吵。

添加人脸识别解锁 howdy

“我才不要输密码!”

让你的 Linux 桌面发行版也能拥有近似 Windows Hello 的体验。

下载 deb 包

cd ~/Downloads
sudo dpkg -i *howdy*deb

不出意外的话会碰到依赖问题,保证网络通畅 ,满足它。

安装过程中有三种模式可选:Fast、Balanced、Secure。

做人还是中庸一点。

安装好之后不能急着用,要不然妥妥滴报错。

需要预先手动指定摄像头设备

  1. 安装 v4l-utils 。
    sudo apt install v4l-utils

  2. 查看摄像头设备。
    v4l2-ctl --list-devices
    我这电脑有两个摄像头,一个普通的,一个红外,但是列表竟然出现 4 个

    HP HD Camera: HP HD Camera (usb-0000:04:00.4-2):
    /dev/video0
    /dev/video1
    /dev/video2
    /dev/video3
  3. 手动指定摄像头设备。
    sudo howdy config (相当于 sudo nano /usr/lib/security/howdy/cli/../config.ini
    找到 evice_path = /dev/videoX,修改成前面获取的设备路径。
    挨个尝试后续操作。

  4. 添加人脸,与当前登录的用户相关联。
    sudo howdy add
    提示输入 label ,随便填。
    扫描录入成功之后,重开一个窗口,sudo -i ,看它是否能自动识别人脸并且通过验证。
    重复几次,最终确定 /dev/video2 是红外摄像头,就用它了,晚上不开灯也能解锁。

  5. 每次人脸识别获取的图像文件及信息都在 /usr/lib/security/howdy/snapshots 文件夹
    实测成功解锁的时间约为 0.2 秒,而且不仅 sudo 的验证可以自动通过,免输密码进行高权限操作,还可以兼容 Deepin 的锁屏,舒服了。

  6. 提升成功率。
    多 add 个不同角度的人脸信息即可。

  7. 安全性。

    sudo howdy config

    确保 ignore_ssh = true,禁用 ssh 人脸验证,否则别人远程用你的照片就能解锁。

    certainty = 2.8 大概是 Balanced 模式的默认值,如果解锁速度够快,可以适当改小以提升安全系数,不推荐大于 5 。

    capture_failed = true,看看谁想偷看你的电脑。

    capture_successful = true 改为 false,验证成功就不保留人脸快照了。(除非你借电脑给心上人)

其它选项看着改,没什么专业词汇。

至于指纹解锁,在 Windows 的时候就几乎没用过,现在似乎由于缺少驱动,干脆检测不到设备,不管它,解锁方式不需要那么多。

补充:有个可以忍受的 bug ,即如果刚开机的第一次解锁用的是 howdy ,解锁之后还要手动输入密钥环密码和 WiFi 密码,WTF ?问过开发者,说是 howdy 没有办法检测到自己是不是在开机登录时被唤出的,也就无法单独针对这一点进行配置,唯一能做的就是,enable it only for sudo

Option to not allow facial recognition on first login #503
Unfortunately Howdy can't know WHY it's being called, so it's hard to skip first login. However with this wikipage, you could enable it only for sudo, for example.

再补充:灭屏锁屏之后进行解锁,经常出现输入密码之后,一直在加载解锁过程(动画看起来是这样)。解决方案,故意错输密码,等它显示密码错误,这个时候 howdy 被唤醒,摄像头工作,OK,解锁成功。还有一种骚操作,点击锁屏界面右下角的电源按钮图标🔘,随便点个重启或者关机,注意头先不要对准摄像头,要不然就真的 重启 / 关机 了,鼠标迅速点击锁屏界面周围空白处,红色的关机按钮或者重启按钮变成蓝色的解锁按钮,再让摄像头扫描自己的脸,over。(文字描述多,实际操作其实很快,总之比输密码方便,又不是不能用.webp )

强制更新
sudo pam-auth-update --force

解决 WiFi 叹号

此次使用过程中发现 WiFi 老是出现感叹号,瞅了两眼发现系统更新之后,内核竟然还是 5.4 。

按照社区公告,需要手动更新 5.10 :

sudo apt install linux-image-deepin-stable-amd64 linux-headers-deepin-stable-amd64

观察一段时间……

重装 Deepin 记录

U盘制作启动盘

找到U盘

sudo fdisk -l

制作启动盘

dd if=xxx.iso(镜像文件路径,可用拖动文件进终端的方式直接获取) of=U盘路径(/dev/sd? 小心辨别,谨防误操作)

U盘预先插在速度快的 USB 3.0 接口,减少等待时间。

关机,开机狂按F9或者F10

设置刚刚的U盘为第一启动项目

进入 Deepin 安装引导

自定义分区

  • 300 M efi 分区
  • 243896-1024*8=235704 M 全部为 ext4 分区,作为 / 挂载点
  • 剩下 8192 M 即 8 G 作为 swap 交换分区

不特意分 /home 应该没事;不用 swapfile 。

开始安装……

按照要求,点击重启,拔出 U 盘

开机

联网,登录帐户。

sudo apt update
sudo apt upgrade

安装好更新重启一次

重启之前改下缩放比例,调整至 150%

全局缩放 1.5 倍

qdbus --literal com.deepin.daemon.Appearance /com/deepin/daemon/Appearance com.deepin.daemon.Appearance.SetScaleFactor 1.5

老规矩 screenfetch 看看设备信息。

sudo apt install screenfetch
screenfetch

IMG_20210210_172909

安装常用软件

sudo apt install kdeconnect com.sougou.sogoupinyin cn.wps.wps-office io.typora com.163.music mpv smplayer com.qq.weixin.deepin com.jianguoyun rclone rclone-browser timeshift org.qbittorrent.qbittorrent org.filezilla gimp krita

等待期间,QQ邮箱生成授权码,用深度邮箱进行登录;坚果云同步搞起。

还没下载好?

打开 bbs.deepin.org,看看有什么新玩意儿。

安装基本工具

sudo apt install git curl npm nodejs python python-pip python3-venv python3-pip aria2

Firefox 浏览器

下载 Firefox 官方原版压缩包,(以及将来的类似应用)统一解压至 ~/Applications

Firefox使用Chrome主题

桌面快捷方式编辑器

micro 编辑器

不知道比 vim 、nano 高到哪里去了。

curl https://getmic.ro | bash
sudo apt install xclip

发现还是找不到 micro 命令

原来它把二进制文件直接放在 ~/micro
./micro 可用

那就

cp ~/micro ~/.local/bin/micro

.bashrc 以及后来的 .zshrc 添加

export PATH=/home/username/.local/bin:$PATH

安装 VBox 虚拟机

https://www.virtualbox.org/
下载deb包
进入下载目录
sudo dpkg -i virtualbox.deb

问题有点多,直接贴出记录:

点击展开
username@HP-735G5-Deepin:/media/username/娱乐/Deepin/Deb$ sudo dpkg -i *virtualbox*.deb
请输入密码
[sudo] username 的密码:
验证成功
正在选中未选择的软件包 virtualbox-6.1。
(正在读取数据库 ... 系统当前共安装有 246270 个文件和目录。)
准备解压 virtualbox-6.1_6.1.18-142142~Debian~jessie_amd64.deb ...
正在解压 virtualbox-6.1 (6.1.18-142142~Debian~jessie) ...
dpkg: 依赖关系问题使得 virtualbox-6.1 的配置工作不能继续:
virtualbox-6.1 依赖于 libcurl3 (>= 7.16.2);然而:
未安装软件包 libcurl3。
virtualbox-6.1 依赖于 libssl1.0.0 (>= 1.0.1);然而:
未安装软件包 libssl1.0.0。
virtualbox-6.1 依赖于 libvpx1 (>= 1.0.0);然而:
未安装软件包 libvpx1。

dpkg: 处理软件包 virtualbox-6.1 (--install)时出错:
依赖关系问题 - 仍未被配置
正在处理用于 systemd (241.8.1-6+dde) 的触发器 ...
正在处理用于 hicolor-icon-theme (0.17-2) 的触发器 ...
正在处理用于 shared-mime-info (1.10.1-1+eagle) 的触发器 ...
正在处理用于 lastore-daemon (5.1.30.1-1) 的触发器 ...
正在处理用于 bamfdaemon (0.5.4.1-1+eagle) 的触发器 ...
Rebuilding /usr/share/applications/bamf-2.index...
正在处理用于 desktop-file-utils (0.23-4) 的触发器 ...
正在处理用于 mime-support (3.62) 的触发器 ...
在处理时有错误发生:
virtualbox-6.1
username@HP-735G5-Deepin:/media/username/娱乐/Deepin/Deb$ sudo apt install libcurl3 libssl1.0.0 libvpx1
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
没有可用的软件包 libcurl3,但是它被其它的软件包引用了。
这可能意味着这个缺失的软件包可能已被废弃,
或者只能在其他发布源中找到
然而下列软件包会取代它:
libcurl4:i386 libcurl4

没有可用的软件包 libssl1.0.0,但是它被其它的软件包引用了。
这可能意味着这个缺失的软件包可能已被废弃,
或者只能在其他发布源中找到

没有可用的软件包 libvpx1,但是它被其它的软件包引用了。
这可能意味着这个缺失的软件包可能已被废弃,
或者只能在其他发布源中找到

E: 软件包 libcurl3 没有可安装候选
E: 软件包 libssl1.0.0 没有可安装候选
E: 软件包 libvpx1 没有可安装候选
username@HP-735G5-Deepin:/media/username/娱乐/Deepin/Deb$ sudo apt install libcurl4:i386 libcurl4 libssl1.0.0 libvpx1
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
没有可用的软件包 libssl1.0.0,但是它被其它的软件包引用了。
这可能意味着这个缺失的软件包可能已被废弃,
或者只能在其他发布源中找到

没有可用的软件包 libvpx1,但是它被其它的软件包引用了。
这可能意味着这个缺失的软件包可能已被废弃,
或者只能在其他发布源中找到

E: 软件包 libssl1.0.0 没有可安装候选
E: 软件包 libvpx1 没有可安装候选
username@HP-735G5-Deepin:/media/username/娱乐/Deepin/Deb$ sudo apt install libcurl4:i386 libcurl4
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
libcurl4 已经是最新版 (7.64.0-4+deb10u1)。
libcurl4 已设置为手动安装。
您也许需要运行“apt --fix-broken install”来修正上面的错误。
下列软件包有未满足的依赖关系:
libcurl4:i386 : 依赖: libnghttp2-14:i386 (>= 1.12.0) 但是它将不会被安装
依�������: libpsl5:i386 (>= 0.16.0) 但是它将不会被安装
依赖: librtmp1:i386 (>= 2.4+20131018.git79459a2-3~) 但是它将不会被安装
依赖: libssh2-1:i386 (>= 1.7.0) 但是它将不会被安装
virtualbox-6.1 : 依赖: libcurl3 (>= 7.16.2) 但无法安装它
依赖: libssl1.0.0 (>= 1.0.1) 但无法安装它
依赖: libvpx1 (>= 1.0.0) 但无法安装它
推荐: libsdl-ttf2.0-0 但是它将不会被安装
推荐: linux-headers-generic 但无法安装它 或
linux-headers-generic-pae 但无法安装它 或
linux-headers-686-pae 但无法安装它 或
linux-headers-amd64 但是它将不会被安装 或
linux-headers-2.6-686 但无法安装它 或
linux-headers-2.6-amd64 但无法安装它 或
linux-headers
推荐: linux-image
推荐: pdf-viewer
E: 有未能满足的依赖关系。请尝试不指明软件包的名字来运行“apt --fix-broken install”(也可以指定一个解决办法)。
username@HP-735G5-Deepin:/media/username/娱乐/Deepin/Deb$ apt --fix-broken install
E: 无法打开锁文件 /var/lib/dpkg/lock-frontend - open (13: 权限不够)
E: 无法获取 dpkg 前端锁 (/var/lib/dpkg/lock-frontend),请查看您是否正以 root 用户运行?
username@HP-735G5-Deepin:/media/username/娱乐/Deepin/Deb$ sudo apt --fix-broken install
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
正在修复依赖关系... 完成
下列软件包是自动安装的并且现在不需要了:
fbterm imageworsener libatkmm-1.6-1v5 libcairomm-1.0-1v5 libdumbnet1 libgtkmm-3.0-1v5 liblqr-1-0
libmaxminddb0 libmspack0 libnatspec0 libpangomm-1.4-1v5 libqtermwidget5-0 libsmi2ldbl libutempter0
libutf8proc2 libwireshark-data libwireshark11 libwiretap8 libwscodecs2 libwsutil9 libx86-1
libxmlsec1-openssl live-system-com qtermwidget5-data squashfs-tools x11-apps x11-session-utils xbitmaps
xinit
使用'sudo apt autoremove'来卸载它(它们)。
将会同时安装下列软件:
virtualbox-6.1
推荐安装:
libsdl-ttf2.0-0
下列软件包将被升级:
virtualbox-6.1
升级了 1 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 1 个软件包未被升级。
有 1 个软件包没有被完全安装或卸载。
需要下载 88.3 MB 的归档。
解压缩后将会空出 14.9 MB 的空间。
您希望继续执行吗? [Y/n] y
获取:1 https://community-packages.deepin.com/deepin apricot/contrib amd64 virtualbox-6.1 amd64 6.1.18-142143~Debian~buster [88.3 MB]
已下载 88.3 MB,耗时 38秒 (2,343 kB/s)
正在预设定软件包 ...
(正在读取数据库 ... 系统当前共安装有 247033 个文件和目录。)
准备解压 .../virtualbox-6.1_6.1.18-142143~Debian~buster_amd64.deb ...
正在解压 virtualbox-6.1 (6.1.18-142143~Debian~buster) 并覆盖 (6.1.18-142142~Debian~jessie) ...
正在设置 virtualbox-6.1 (6.1.18-142143~Debian~buster) ...
正在添加组"vboxusers" (GID 130)...
完成。
正在处理用于 desktop-file-utils (0.23-4) 的触发器 ...
正在处理用于 mime-support (3.62) 的触发器 ...
正在处理用于 hicolor-icon-theme (0.17-2) 的触发器 ...
正在处理用于 lastore-daemon (5.1.30.1-1) 的触发器 ...
正在处理用于 systemd (241.8.1-6+dde) 的触发器 ...
正在处理用于 shared-mime-info (1.10.1-1+eagle) 的触发器 ...
正在处理用于 bamfdaemon (0.5.4.1-1+eagle) 的触发器 ...
Rebuilding /usr/share/applications/bamf-2.index...

VirtualBox 安装 Windows 太简单,略。

DDE 任务栏 CPU、流量监控

可以说是 Linux 下的 Traffic Monitor,甚至更漂亮。

随便找个目录下载源码

git clone https://github.com/q77190858/dde-sys-monitor-plugin

安装编译依赖

sudo apt install build-essential
sudo apt install dde-dock-dev
sudo apt install qtbase5-dev-tools
sudo apt install libdtkwidget-dev
sudo apt install qtcreator #非必要
sudo apt install cmake

一键编译安装

cd dde-sys-monitor-plugin
./build.sh

wine5 应用的分辨率修改

env WINEPREFIX="$HOME/.deepinwine/Deepin-WeChat" deepin-wine5 winecfg
发现没有命令,需要安装
sudo apt install deepin-wine5

游戏

装个 steam

sudo apt install steam

Terraria 很流畅。

ssh 相关

之前的 ssh 配置丢了,重新生成一次

ssh-keygen -t rsa -f ~/.ssh/id_rsa.Deepin -C "735-G5-Deepin"

一路回车

cd ~/.ssh
ls
cat id_rsa.Deepin.pub

打开
https://github.com/settings/keys

添加公钥

还是上面的目录下 micro config

# github
Host *github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa.Deepin

ssh -T git@github.com 测试是否通过验证。

coding、gitee、gitlab 同理。

干脆给手机也来一份
把公钥添加进手机的 ~/.ssh/authorized_keys
whoamiifconfig 查看用户名和 ip
电脑 ssh u0_a266@192.168.1.101 -p 8022,开始控制手机愉快玩耍。

内网穿透略。

恢复博客搭建环境

git clone 把博客源码拉回本地。

进入目录 npm install hexo-cli -g
报错:

点击展开
$  npm install hexo-cli -g 
npm WARN npm npm does not support Node.js v10.21.0
npm WARN npm You should probably upgrade to a newer version of node as we
npm WARN npm can't make any promises that npm will work with this version.
npm WARN npm Supported releases of Node.js are the latest release of 4, 6, 7, 8, 9.
npm WARN npm You can find the latest version at https://nodejs.org/
npm WARN checkPermissions Missing write access to /usr/local/lib
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.3.1 (node_modules/hexo-cli/node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

npm ERR! path /usr/local/lib
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access
npm ERR! Error: EACCES: permission denied, access '/usr/local/lib'
npm ERR! { [Error: EACCES: permission denied, access '/usr/local/lib']
npm ERR! stack:
npm ERR! 'Error: EACCES: permission denied, access \'/usr/local/lib\'',
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'access',
npm ERR! path: '/usr/local/lib' }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator (though this is not recommended).

版本太老?

npm 修改淘宝源,安装 n 模块

sudo npm config set registry https://registry.npm.taobao.org
sudo npm config list
sudo npm install n -g

安装最新的 nodejs(stable版本)

sudo n stable
sudo node -v
sudo npm -v

重新

sudo npm install hexo-cli -g
hexo -v

GIT 中文乱码

micro .gitconfig 添加:

[gui]
encoding = utf-8
# 代码库统一使用utf-8
[i18n]
commitencoding = utf-8
# log编码
[svn]
pathnameencoding = utf-8
# 支持中文路径
[core]
quotepath = false
# status引用路径不再是八进制(反过来说就是允许显示中文)

安装 zsh 和 oh my zsh

sudo apt-get install zsh -y

安装 oh-my-zsh 的脚本

$ sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
--2021-02-10 13:24:13-- https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh
正在解析主机 raw.github.com (raw.github.com)... 151.101.76.133
正在连接 raw.github.com (raw.github.com)|151.101.76.133|:443... 已连接。
GnuTLS: Error in the pull function.
无法建立 SSL 连接。

万恶的 443

解决 Github 网络问题

https://www.ipaddress.com/
得到真实 ip

sudo micro /etc/hosts

添加

199.232.96.133 raw.github.com
199.232.96.133 raw.githubusercontent.com

保存

重新运行上面的脚本,将 zsh 设置为默认 shell

安装 pi 主题

wget -O ~/.oh-my-zsh/themes/pi.zsh-theme https://raw.githubusercontent.com/tobyjamesthomas/pi/master/pi.zsh-theme

修改 .zshrc

ZSH_THEME="pi"

自动补全、命令高亮、快速跳转目录、纠错插件

安装:

  1. zsh-autosuggestions

    git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
  2. zsh-syntax-highlighting

    git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
  3. autojump

    sudo apt-get install autojump

    跳转目录,例如 j doj d 可以自动跳转至常用的 ~/Download 文件夹。

  4. thefuck

    sudo apt install python3-dev python3-pip python3-setuptools
    sudo pip3 install thefuck

    输错命令的时候来一句 fuck ,自动纠正。

启用:
修改 .zshrc

plugins=(
git
zsh-autosuggestions
zsh-syntax-highlighting
autojump
)

bindkey ',' autosuggest-accept

eval $(thefuck --alias FUCK) # FUCK 可以自定义其它字符。

问候语

sudo apt install fortune cowsay

修改 .zshrc 最后加上:

echo
echo "=============== Quote Of The Day ==============="
echo
fortune | cowsay
echo
echo "================================================"
echo

其它值得折腾的

还是放前面吧。

投屏

Scrcpy or VNC Viewer?

参考

本文作者:青菜芋子

本文链接: https://loafing.cn/posts/Hello-Deepin-my-old-friend.html

文章默认采用 CC BY-NC-SA 4.0 许可协议,如有转载请注意遵循。

评论

您所在的地区可能无法访问 Disqus 评论系统,请切换网络环境再尝试。