1 Star 0 Fork 11

coder_lw / wiki

forked from deepinwiki / wiki 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
deepin15.10.1问题汇总.md 20.52 KB
一键复制 编辑 原始数据 按行查看 历史

deepin 15.10.1 问题汇总

deepin 15.10.1版本是lion,基于debian stable稳定版,软件相对比较旧,但是好处是比较稳定。

1. vscode 无法输入中文

vscode 在lion中是内置在仓库的,只要在官方源或者镜像源添加non-free 参数,即可。用sudo apt install code便能安装。但是安装之后可能出现的一个问题是无法输入中文,这个原因重启一下电脑,或者用im-config选择fcitx作为默认输入法,再重启,即可。

2. nano 快捷键无效

nano是一个简易友好的命令行编辑器,这对于系统管理来说是非常重要的工具,因为很多时候必须通过命令行来管理系统(比如系统有问题,或者用ssh远程登录服务器时)。但是deepin的nano一直有个问题,就是它的快捷键和他说明的不同,也就是无效(比如拷贝atl+6无效)。原因在于深度终端。安装一个其他终端,比如kde桌面的konsole终端:sudo apt install konsole,用这个终端就可以正常使用。究竟这个bug是怎么引起的,还不是太清楚。

3. 安装系统时闪屏等问题

注意: 这个方案在台式机下通过,但经过部分群友反馈,在笔记本下面切换驱动不好用

deepin系统最大的短板,就是显卡驱动不太好用,不知道为什么deepin官方没有整合nvidia官方驱动,而是整合了非常不好用的开源版驱动。因此,出现黑屏,闪屏,这些奇奇怪怪的显示问题,可以考虑从显示驱动入手。

grub引导菜单,按e 进入编辑模式。 找到linux开始的一行,内容类似:

linux   /boot/vmlinuz-4.15.0-30deepin-generic root=UUID=0f721a09-22fd-42fb-b1f1-47374ad4c1ef ro  splash quiet

简单讲解一下行的内容,以免误会:

  1. linux 表示引导linux内核
  2. /boot/vmlinuz.... 表示内核的路径
  3. root=UUID=xxxx 表示分区的id
  4. 之后是各种内核参数,不要将前面的修改了

这是内核引导部分,添加参数nomodeset rdblacklist=nouveau(前后留空格),然后按F10启动。 改完之后类似:

linux   /boot/vmlinuz-4.15.0-30deepin-generic root=UUID=0f721a09-22fd-42fb-b1f1-47374ad4c1ef ro  splash quiet nomodeset rdblacklist=nouveau

安装完毕后,在开始菜单里面找到“显卡驱动管理器”,确保联网正常,然后点选使用闭源驱动(即nvidia官方驱动),该程序会下载驱动,并进行设置。中间会启动系统,并进入命令行状态,持续较长时间,耐心等待,最后会显示一个3d即时演算的动画,这个是测试显卡是否正常的程序,点确认,然后重启进入系统,系统自动打开“显卡驱动管理器”,会提示正在应用设置中,等待一段较为漫长的时间,会显示成功启用驱动。

nvidia驱动选择

为了保证网速,请提前将apt仓库更换为镜像网站。方法是编辑/etc/apt/sources.list文件。比如将里面的deb [by-hash=force] http://packages.deepin.com/deepin lion main contrib non-free 注释掉,即在行首添加#,然后增加一行deb [by-hash=force] https://mirrors.tuna.tsinghua.edu.cn/deepin stable main contrib non-free,就启用了清华大学开源镜像站的网上软件仓库,软件更新速度有很大提升。

如果是笔记本,切换失败,参考第六条,进入命令行。

sudo apt install nvidia-driver #安装驱动

安装失败,可以用以下命令删除驱动:

sudo apt purge nvidia.

4. 文件类型绑定错误

比如用其他软件打开文件夹,他会弹到其他地方,而不是用文件管理器打开。还有图片文件他不是用图片软件打开,而是没有反应(因为它绑定了wine ie)。解决的方法是右键打开菜单,选打开方式,选默认程序,设定合适的程序即可。例如当在Google Chrome下载文件后,如果点击“在文件夹中显示”时弹出Visual Studio Code窗口,则可以在文件管理器里随意创建一个文件夹并在这个文件夹上点击右键,从右键菜单里选择“打开方式”,然后把“文件管理器”设置为默认程序即可。 打开方式

5. apt 软件更新速度慢

如果你用官网的apt源链接,即在/etc/apt/sources.list里面定义的deb [by-hash=force] http://packages.deepin.com/deepin lion main contrib non-free,请替换为镜像站的链接。如果你使用清华大学的开源镜像网站,即 deb [by-hash=force] http://mirrors.tuan.tsinghua.edu.cn/deepin stable main contrib non-free,就会发现http版更新软件的时候经常会卡一下,解决的方法是用https版,即将http改成https。

6. 界面崩溃了,怎么进入命令行

在grub引导界面,按e,寻找到linux行。这行的格式一般是:

linux   /boot/vmlinuz-4.15.0-30deepin-generic root=UUID=0f721a09-22fd-42fb-b1f1-47374ad4c1ef ro  splash quiet nomodeset DEEPIN_GFXMODE=$DEEPIN_GFXMODE

去掉ro之后的内容,添加一个3做参数,按F10启动就能进入命令行。类似:

linux   /boot/vmlinuz-4.15.0-30deepin-generic root=UUID=0f721a09-22fd-42fb-b1f1-47374ad4c1ef ro 3

进去之后,如果使用wifi,它可能没有联网,需要用命令:

nmcli device wifi connect # 这一步按tab,会显示wifi的名字,比如MiWiFi_5G,然后补充进去
nmcli device wifi connect MiWiFi_5G password 密码 #即可

ip a #可以查看当前网络情况,有ip说明联网了,一般wifi网卡的名字wl开始的,有线网卡是en开始。

7. 安装nvidia官方驱动

nvidia对linux是真爱,因为都同步更新了最新的linux驱动,现在最新版本是430.14,而内置的才390.87。nvidia对linux是爱得深沉,然而linux是高傲的女王,就是要用第三方的nouveau。

官网下载驱动

驱动版本

下载之后:

ls -ls NVIDIA-Linux-x86_64-430.14.run #查看安装文件信息

显示:

106488 -rw-r--r-- 1 htqxw htqxw 109033983 6月   7 17:34 NVIDIA-Linux-x86_64-430.14.run

增加执行权限,linux的命令需要赋予可执行能力:

chmod +x  NVIDIA-Linux-x86_64-430.14.run

驱动需要关闭显示界面,然后用root 权限才能够安装。同时,如果你之前安装了nvidia驱动,也要先删除。

systemctl stop lightdm # 关闭图形界面,然后进入字符界面,但是无法操作,用alt+f2 切换到另一个终端,登录
sudo dkms status # dkms是一个动态模块管理的程序,查看有没有nvidia显卡驱动,比如显示:nvidia, 430.14, 4.15.0-30deepin-generic, x86_64: installed 。那就说明安装了nvidia的430.14版
sudo dkms remove nvidia/430.14 --all #删除被dkms管理的驱动

#然后彻底删除nvidia驱动
sudo apt purge nvidia. 

#删除之后也是无法安装的,因为当前还是使用久的nvidia驱动启动的,所以要重启
sudo reboot

# 重启之后,同样的方式进入命令行
systemctl stop lightdm #alt+f2

#进入驱动安装文件的目录
cd ~/Downloads/
sudo ./NVIDIA-Linux-x86_64-430.14.run #安装驱动,根据提示安装(英文的)。第一个问题是要不要安装,第二个问题好像是要不要升级xorg.conf,确认更新即可。 

安装完毕之后,最好手工屏蔽掉nouveau驱动:

sudo nano /etc/modprobe.d/blacklist.conf

添加屏蔽内容:

blacklist nouveau

顺便更新启动映像:

sudo update-initramfs -u

安装完之后重启。 注意官方的显卡驱动管理器显示是不准的。因为内置的只会判断390.87是否安装了,不会识别最新的430.14版。那么是否安装成功,可以通过下面命令:

lspci -nnk

注意查看信息,如:

01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM107 [GeForce GTX 750 Ti] [10de:1380] (rev a2)
	Kernel driver in use: nvidia
	Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia

kernel driver in use: nvidia说明用的是官方驱动,如果是nouveau就是没有安装成功,用的是开源第三方驱动。

另外一般会安装一个叫"NVIDIA Server Settings"的工具,可以用nvidia-setting打开:

驱动信息

8. 手工开启prime方案

prime方案是调用独立显卡(速度快,但会比较费电)。要求你首先安装了nvidia官方显卡驱动。

具体过程有点复杂,以下方案是给有一定动手能力的人参考:

一、linux的图形界面是通过/etc/X11/xorg.conf来配置的,如果要重新配置(比如我需要切换到intel接口),最好是把这个文件给删了。

sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.bak #改名备份

二、确认屏蔽掉nouveau 驱动

sudo nano -w /etc/modprobe.d/nvidia.conf

添加如下内容

blacklist nouveau

三、获取两个显卡的硬件信息:

lspci 

显示类似如下信息:

...
00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller (rev 06)
...
01:00.0 VGA compatible controller: NVIDIA Corporation GM107 [GeForce GTX 750 Ti] (rev a2)
....

也就是intel的pci是"PCI:0:2:0";而Nvidia显卡的pci是“PCI:1:0:0",注意这个写法的特征,将来编辑xorg.conf配置文件需要这个。

四、编写配置文件/etc/X11/xorg.conf

sudo nano /etc/X11/xorg.conf 

内容如下:

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0"
	Inactive	"IntelCart"
EndSection

Section "Device"
    Identifier     "NvidiaCart"
    Driver         "nvidia"
    BusID	"PCI:1:0:0" #极为重要,替换为你的配置
EndSection

Section "Device"
	Identifier	"IntelCart"
	Driver		"modesetting"
	BusID		"PCI:0:2:0"#替换
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "NvidiaCart"
	Option		"AllowEmptyInitialConfiguration" #重点
EndSection
  1. 以上配置可以启动X服务,但是显示器没有输出,所以会黑屏,必须要在启动X服务的时候,执行如下命令。但是黑屏了你也执行不了,所以以下步骤很关键:我的方法是修改/etc/lightdm/lightdm.conf 这个文件,deepin默认用它来启动x服务,在里面可以配置启动脚本:
sudo nano -w /etc/lightdm/lightdm.conf

修改其中一行:#display-setup-script=,改成如下内容:

display-setup-script=sh -c "xrandr --setprovideroutputsource modesetting NVIDIA-0;xrandr --auto"

重启,完毕。

如果你重启正常,那么可以接下来处理一下问题:默认是垂直同步的,我们想fps更高,怎么办?

opengl settings

Sync to VBlank 关闭即可。

sudo apt install mesa-utils #安装测试工具
glxgears #测试速度,按Esc键退出

glxgears

9. 启动进入busybox

进入busybox命令行,不用惊慌,系统并没有完蛋,只是因为强制断电导致磁盘数据出错,只要用fsck命令整理一下磁盘即可。

命令格式:fsck /dev/xxx ,其中xxx是你出问题的磁盘。

10. 机箱喇叭滴滴声

有些主板带一个喇叭,可以报警,所以某些程序就会利用这个发出特别刺耳难听的声音,关闭方法一
deepin-editor ~/.profile
添加下面三行内容
sudo -S rmmod pcspkr <<EOF
password(你的密码)
EOF

在Shell脚本中,通常将EOF与 << 结合使用,表示后续的输入作为子命令或子Shell的输入,直到遇到EOF为止,再返回到主Shell,即将‘你的密码’当做命令的输入。

关闭方法二:编辑或者新建这个文件: /etc/modprobe.d/blacklist.conf 添加这行: blacklist pcspkr

保存重启系统即可。

经反馈,在deepin中无效,可以用sudo rmmod pcspkr 临时卸载模块。

至于为什么屏蔽模块启动无效,原因不明,可以用:install pcspkr /bin/false 替换blasklist pcspkr 测试一下。这条语句增强了屏蔽的效果,包括屏蔽第三方引用该模块。

11. cpu 22s bug解决

关机和重启时提示:

watchdog: BUG: soft lockup - CPU#1 stuck for 22s! [plymouthd:5172]

原因不明,解决方法:

更新linux 内核,群文件里面有本人编译好的5.1.14内核,可以直接安装使用。你也可以自己自行编译内核。

12. 安装windows字体

很多小朋友喜欢windows下面的字体效果,只需要在windows的c盘,windows目录下,fonts目录找字体文件,找到双击安装即可:

序号 字体 文件名
1 字体 文件名
2 宋体 SIMSUN.TTF/simsunb.ttf
3 黑体 simhei.ttf
4 仿宋 simfang.ttf
5 楷体 simkai.ttf
6 方正舒体 FZSTK.TTF
7 方正姚体 FZYTK.TTF
8 隶书 SIMLI.TTF
9 华文彩云 STCAIYUN.TTF
10 华文细黑 STXIHEI.TTF
11 华文行楷 STXINGKAI.TTF
12 华文新魏 STXINWEI.TTF
13 华文中宋 STZHONGS.TTF
14 幼圆 SIMYOU.TTF
15 华文琥珀 STHUPO.TTF
16 华文楷体 STKAITI.TTF
17 华文隶书 STLITI.TTF
18 华文宋体 STSONG.TTF
19 新宋体 NSIMSUN.TTF
20 微软雅黑 msyh.ttc
21 微软正黑 msjh.ttc
22 微软程序员字体 consola.ttf

13. QQ 等wine程序字体太小

某些情况下,如果觉得QQ的字体太小,费劲,可以用:

WINEPREFIX=~/.deepinwine/Deepin-QQ deepin-wine winecfg

wine显示面板

把dpi设置一个恰当的值,然后重启qq即可。

其实deepin-wine的程序在一个隐藏路径下.deepinwine,里面很多程序都可以通过指定WINEPREFIX环境变量来设置。

wine字体

如果你不喜欢坑锯齿字体,可以通过设置注册表来实现,wine实现了一个注册表,也是regedit命令打开:

WINEPREFIX=~/.deepinwine/Deepin-QQ deepin-wine regedit

wine 环境变量

键值:/hkey_current_user/control panel/desktop/FontSmoothing 设置0即可。

14. 双系统切换不了

如果你是windows+linux双系统,建议最佳实践:

  1. bios关闭csm兼容性,使用纯uefi
  2. bios关闭安全启动,类似字眼:secure boot
  3. 硬盘格式化为gpt格式

问题一、安装完deepin,却没有deepin,只能进入windows。

解决方法: 进入bios选择deepin启动,让deepin作为第一启动项。

问题二、deepin的启动项有windows(一般是第三项),却无法进去,如图:

win10切换错误

解决方法: 关闭安全启动即可。

关闭安全启动

15. 交换分区UUID变更,导致系统报错

日志警报如下:

Timed out waiting for device dev-disk-by\x2duuid-b6fd730b\x2deb90\x2d4f86\x2db3ad\x2d3de42a3a4f4b.device.

根源:重装系统或者多个系统,导致swap交换分区的uuid发生改变(即使你没有重新分区),以致/etc/fstab 的swap分区uuid和当前uuid不一致,比如:

lsblk -name,uuid 查看现在的uuid:

...
├─nvme0n1p2 e5d13db1-f232-4ed1-b179-67a1d9b30e39   
...

more /etc/fstab 查看自动挂载文件配置的uuid:

# /dev/nvme0n1p2
UUID=b6fd730b-eb90-4f86-b3ad-3de42a3a4f4b	none      	swap      	
defaults,pri=-2	0 0
...

解决方法:编辑/etc/fstab ,让uuid对应现在的uuid即可。

16. apu 怎么安装deepin

deepin 默认的内核比较旧,是linux 4.15的,这个内核不支持新版的amd apu cpu,所以首先要准备好一个新的内核,比如5.1.18。

安装的时候,注意下载的iso镜像文件应该检查md5sum,一般网站上会提供这个给你,而用户只需要借助工具检查下载的iso文件是否一致,即可保证文件完整性。在linux中可以用:md5sum deepin-15.10.1-amd64.iso 既可以得到:a02495e0b2823f3d99ead77c71f3f72e deepin-15.10.1-amd64.iso

第二步,安装时候因为对apu支持不是很好,所以要屏蔽kms模式,就是在grub引导菜单,按e,添加一个nomodeset参数。

安装完毕之后,更新内核即可。

最后注意将nomodeset内核参数去除。

17. 修改默认启动项

要想让grub引导菜单自动选择你需要的启动项,可以编辑/etc/default/grub 文件:

# 设置记录上次启动的菜单项
GRUB_DEFAULT=saved  
GRUB_SAVEDEFAULT=true

然后 sudo update-grub 即可。

18. 安装docker

docker是类似虚拟机但不是虚拟机的一套技术。

deepin系统官方自带的是18.09.6版本,要安装本文编辑时最新版本19.09.1需要添加它自身的官方源。

cat /etc/apt/sources.list.d/docker.list #安装到这个路径,内容如下
deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian stretch stable

然后更新,但是会提示你验证没有通过,因为还要安装一个验证源安全性的公钥。

wget https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian/gpg  #目前在这个地址下
sudo apt-key add gpg #安装下载后的gpg key文件
sudo apt update #更新源信息
sudo apt install docker-ce #安装docker
sudo doker run hello-world #测试安装是否成功
sudo usermod -aG docker $USER #普通用户添加到docker组,就不需要用sudo执行docker了。
sg docker;sg $USER # 让docker组立即生效

docker的源仓库是外国的,速度慢,因此需要添加国内的镜像源地址。

cat /etc/docker/daemon.json #保存文件到这个地址,内容如下:
{
        "registry-mirrors":["https://registry.docker-cn.com"]
}

19. 怎么重装uefi版grub?

一般而言,不需要重装,但是有两个可能性,grub会出现问题,一个是挂载点有问题了,另一个就是没有用uefi模式安装系统,然后又想改成支持uefi的grub。

ls /sys/firmware/efi #如果有这个文件夹,说明是uefi模式启动deepin的。反之不是。

sudo apt install grub-efi-amd64 #安装uefi版grub
#提示选择使用包的配置文件,而不是选择本地的

lsblk -o name,uuid,fstype,mountpoint #查看是否正确挂载了/boot/efi 分区,如果没有,要么就是没有efi分区,要么就是没有挂载好。没有efi分区只能创建一个,比较麻烦,这里不说了,如果是没有挂载,一般是vfat文件 格式的分区。并记下它的uuid,下面要用到。

sudo mkdir /boot/efi #创建挂载点
sudo deepin-edit /etc/fstab #用编辑器修改配置自动挂载的文件

添加一行:

UUID=8143-D0E6      	/boot/efi 	vfat      	rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro	0 2

并将UUID=xxx改成你的efi分区的对应的uuid.保存并关闭。

sudo mount -a #根据文件自动挂载
lsblk #看看有没有正确挂载,如果挂载了继续


sudo grub-install --target=x86_64-efi --uefi-secure-boot #安装efi文件

sudo grub-mkconfig -o /boot/efi/efi/deepin/grub.cfg #建立引导配置文件

cd /boot/efi/efi
sudo mkdir boot #默认引导
sudo mkdir ubuntu #deepin需要这个
sudo cp deepin/* boot/
sudo cp deepin/* ubuntu/
sudo cp boot/grubx64.efi boot/bootx64.efi #复制到默认的启动名称

重启电脑,因为之前还是mbr引导的,不是uefi,所以现在建立了uefi环境,应该设置bios用uefi环境引导系统。

ls /sys/firmware/efi #看看是不是uefi了
sudo apt install --reinstall grub-efi-amd64 #重装grub,以便适应新的引导模式

sudo update-grub # 以后都用这个来更新引导菜单即可

efibootmgr # 参看bios引导菜单,有没有deepin,将它设置为默认项,大部分都可以通过进bios修改。如果你bios有问题,可以通过如下方法设置:

如显示:

BootCurrent: 0000 #当前引导项
Timeout: 1 seconds #倒计时
BootOrder: 0000,0001,0004,0006 #引导顺序
Boot0000* deepin #编号0
Boot0001* Fedora #编号1
Boot0002  #可能会有一些垃圾信息
Boot0003  
Boot0004* UEFI OS 
Boot0005  
Boot0006* Fedora
sudo efibootmgr -b 2 -B # -b选中,第2项,-B删除
sudo efibootmgr -o 0,4,1,6 # 引导顺序改成0,4,1,6。因为我默认就是deepin了,所以就不改它了
sudo efibootmgr -n 4 #下次启动4

#创建一个菜单项的方法:
sudo efibootmgr -c -g -d /dev/nvme0np1 -l /efi/deepin/grubx64.efi  -L myos # -c 创建新菜单项,-g gpt分区格式,-d efi分区,-l 以分区根开始的路径,-L 菜单项标题。

#根据以上命令调整uefi菜单即可。

参考

  1. WIndows 中文字体类型对应的文件名称: https://blog.csdn.net/qq_29856789/article/details/80883301
1
https://gitee.com/coder_lw/wiki.git
git@gitee.com:coder_lw/wiki.git
coder_lw
wiki
wiki
master

搜索帮助