[Share Experiences] deepin真的进化了!程序员安装使用deepin经验分享!
Tofloor
poster avatar
windf17
deepin
2022-05-23 01:48
Author

磁盘分区

建议在固态盘上安装deepin。第一个分区300Mb,设置为efi;第二个分区用来装deepin,尽可能大;第三个分区设置为swap,一般4096Mb足够。建议要设swap分区,deepin操作系统挺吃内存的。

系统更新

  1. ⾃动移除不需要的包
sudo apt autoremove --purge
  1. 更新本地包数据库
sudo apt update
  1. 更新所有可更新的包
sudo apt upgrade

开发环境配置

数据库(建议用MariaDB,兼容mysql)

安装

sudo apt install libmariadbclient-dev libssl-dev
sudo apt install mariadb-server mariadb-client
sudo service mysql start

注意,安装好mariadb以后如果遇到到如下报错:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

执行下面的命令解决:

sudo service mysql start

常用命令

  • 检查l版本
    mysql -V
  • 查看状态
    sudo systemctl status mysql
  • 启动服务
    sudo systemctl start mysql
  • 重启服务
    sudo systemctl restart mysql
  • 关闭服务
    sudo systemctl stop mysql

登录mysql配置密码

初次登录时,只要输入sudo的密码,需要输数据库密码时直接回车(初次登录时数据库密码为空)。

sudo mysql -u root -p

设置root的密码

set password for root@localhost = password("你的密码");

让密码立即生效

flush privileges;

数据库导出与导入

mariaDB数据库导入与导出命令和mysql一致,两者数据可以相互导。

导出

mysqldump -h localhost -uroot -p dbname > /home/你的数据库名.sql

导入

登录数据
mysql -u root -p
建库
create database 你的数据库名;
导表及数据
mysql -h localhost -u root -p 你的数据库名 < 你的文件名.sql
导入时可能遇到的问题

如果你在mysql数据表中使用了"COLLATE=utf8mb4_0900_ai_ci",导入时会报错。解决方法是打开你的sql文件,将COLLATE=utf8mb4_0900_ai_ci相关内容全部替换成空,然后再导入即可。

后端开发环境

Golang下载

去官网找合适的版本下载:https://golang.google.cn/dl/

安装

将压缩包解压后,有一个go目录,将其移动到/usr/local

编辑运行环境配置

sudo vim /etc/profile

光标移动到最后,按o,然后粘贴下面2行内容:

export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin

再保存退出,执行下面的命令:

source /etc/profile

添加国内源

go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct

安装goframe的cli

去github下载最新的版本:https://github.com/gogf/gf/releases
将其改名gf,然后执行

chmod +x gf

再将其复制到/usr/bin

sudo cp gf /usr/bin

检查版本

gf -v

前端开发环境

安装npm

sudo apt install npm

设置国内源

npm config set disturl https://repo.huaweicloud.com/nodejs

更新npm版本

sudo npm update npm -g

检查版本

npm -v

安装yarn

sudo npm i -g yarn

设置国内源

yarn config set registry https://repo.huaweicloud.com/repository/npm/

更新yarn版本

sudo npm update yarn -g

检查版本

yarn -v

安装node版本管理工具n

sudo npm i -g n

更新node到最新稳定版

sudo n stable

安装vite

sudo npm i -g vite

检查版本

vite -v

安装ArcoDesign Pro

sudo npm i -g arco-cli

检查版本

arco -v

安装taro

sudo npm i -g @tarojs/cli

检查版本

taro -v

如果发现vite、taro、arco等命令安装后执行时报找不到命令

修改运行环境,添加npm全局包路径:

echo -e "export PATH=$(npm prefix -g)/bin:$PATH" >> ~/.bashrc && source ~/.bashrc

Vistual Studio Code

不能登录账户同步配置

具体现象是登录账户会打开浏览器要求输入账户密码,输入以后会自动跳转https://vscode.dev/网站,跳转该网站时浏览器提示“无法访问此网站”。然后登录失败。只能翻墙解决该问题。
浏览器用代理后,确保可以打开https://vscode.dev/网站,然后再登录账户。

vscode字体异常

打开“首选项”->“设置”,搜索栏内输入font。在Editor: Font Ligatures选项和Terminal › Integrated: Font Family选项中添加Deepin主打字体Noto Mono,在字体列表最前面添加下面的内容。

"Noto Mono",

常用工具

fish

deepin的终端命令行没有智能提示,感觉不好用,推荐安装fish,命令行辅助工具。

安装

sudo apt install fish

启用

chsh -s /usr/bin/fish

关闭欢迎词

set -U fish_greeting

设置

fish_config

推荐的颜色主题:Tomorrow Night,选中点右上角的“Set Theme”按钮(灰底浅灰色字,请仔细找)。
推荐的提示符:Informative Vcs,选中以后点右上角的“Set Prompt”按钮(灰底浅灰色字,请仔细找)。

使用方法

使用方法等可以参考我以前的博客“fish shell使用及安装入门指南”。

注意事项

在极少数情况下,fish环境执行脚本会报错,这时可以临时切换到bash执行那个脚本(.sh文件)。通常不会遇到,万一遇到了临时切换一下就可以了。

细节调教

时区调整

如果遇到deepin时间与实际相差12小时。是因为deepin里设置的时区是北京,但大多数linux系统时区设置应该是上海,解决方法是将时区设为上海。

sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

DNS加速

DNS是域名解析服务器,适当的DNS会加速你上网的速度。DNS我推荐2个,一是阿里的、二是谷歌的。

修改配置文件

sudo vim /etc/resolv.conf

将内容替换如下:

# Generated by NetworkManager
nameserver 223.5.5.5
nameserver 8.8.8.8
nameserver 2400:3200::1

设置配置文件特殊属性

以上修改后会立即生效,但是每次重连wifi、电脑重启时配置信息会丢失,解决方法是给resolv.conf加上只能读取不能修改和删除的特殊属性:

sudo chattr +i  /etc/resolv.conf

配置ssh连接阿里云

ssh-keygen
ssh-copy-id 云服务器ip
ssh 云服务器ip

注意,上面的ip不要含http什么的,只要类似1.2.3.4这样的数字。

配置终端快捷键

因为我在阿里云上装了byobu,它的快捷键我很熟了。但deepin终端的快捷键不熟悉。我改了deepin终端的快捷键,让它和byobu保持一致。

f2新建标签页

f3切换到上一标签

f4切换到下一标签

ctrl+f2垂直分割工作区

shift+f2水平分割工作区

alt+光标上下左右,切换工作区

F8 - 重命名窗口

ctrl+d,关闭当前工作区

ctrl+s,关闭其他工作区

alt+d,关闭当前标签

alt+s,关闭其他标签

ctrl+f,查找

ctrl+a,全选

快捷键技巧(有很多是我自定义的)

工作区类

win s,显示所有工作区与相关应用。可以很方便地调整应用到指定工作区。

win a,显示全部的应用,方便切换与挑选需要的应用。

win w,显示当前工作区的所有应用,方便切换与挑选需要的应用。

win <-,切换到左边的工作区

win ->,切换到右边的工作区

ctrl win <-,带着当前应用移动到左边的工作区

ctrl win ->,带着当前应用移动到右边的工作区

窗口类

win 向上,窗口最大化

win 向下,窗口还原

win n,窗口最小化

win q,调整窗口位置

win e,调整窗口大小

alt f4,关闭窗口

工具类

win esc,系统监视器

win z,终端

win x,文件夹

win c,浏览器

win v,剪贴板

截图类

PrtSc,快速全屏截图

Alt PrtSc,快速窗口截图

Ctrl PrtSc,选区截图(会调出很多工具)

win PrtSc,录屏

ctrl shift PrtSc,延迟5秒后截图(会调出很多工具)

win / ,滚动截图(可以截取浏览器长页面的内容),触发功能键后鼠标左键点击控制截图范围,鼠标滚轮向下滚动控制截取内容长度。注意不可滚动过快。

win . ,截屏并识别内容。可以识别出图片中的文字,转换成文本。

最后,吹一波deepin的截图工具,超级好用、良心软件。免费无广告,功能超级强大!!!deepin的截图工具是我接触过的所有同类软件中的王者!!!

最后

deepin中有linux软件、windows软件、安卓软件。它完全能够胜任普通用户的办公需要。
最新的20.5版本deepin稳定性也超级好,我在整个安装、调试、拷机的过程中没有遇到任何死机、花屏、黑屏的现象。用deepin做开发完全没有问题,所有开发中要用到的软件都有,安装也非常顺利。
话说一、二年前我曾经多次尝试过deepin,在安装、调试开发环境的时候会遇到莫名其妙的死机、内存泄露、花屏,最终导致我放弃了deepin转而投入manjaro的怀抱!
现在,我向大家保证,中国人不骗中国人!deepin再也不是从前那个经常死机、花屏的操作系统了!
常言说有图有真相,我在最后的最后附上一个重度使用deepin的视频,有兴趣的可以看看deepin在日常使用中的表现。

deepin日常使用录屏

补充内容

以上是我发布在csdn上的内容。要说目前碰到的问题,有些小问题。

工作区、应用切换不合使用习惯。

我以前用manjaro的时候可以设置4个工作区。
win q、win w、win e、win r分别对应将当前应用丢到工作区1、工作区2、工作区3、工作区4。
win a、win s、win d、win f快速切换到工作区1、工作区2、工作区3、工作区4。
这种指哪打哪的爽快感在deepin里怎么都弄不出来,deepin里的设置工作区的方式不够直观、快捷。

窗口平铺

以前我用manjaro、mint的时候都可以快速的将应用平铺在屏幕上,按快捷键让当前应用切换到左侧、右侧、上方、下方,可以同时观察和使用多个应用。deepin里需要手动调节。
虽然有一个三脂滑触摸板的窗口平铺功能,但我总觉得灵敏性不够,再说也不是所有的设备独有触摸板。完全可以将指定功能设置成接口,让用户可以设置快捷键。

跨工作区时后台程序唤醒异常

比方说tim、微信都在工作区1,然后切换到工作区2,双击右下角状态栏中的tim可以唤醒,但微信不能唤醒。

deepin有些组件有时失灵

重度使用后,点击设置菜单没反应。(多次开关设置、开很多应用、开多个工作区来回切换应用)。有时候窗口特效失灵,点击开关没反应。

Reply Favorite View the author
All Replies
1 / 3
To page
liwl
deepin
2022-05-23 02:24
#1

很厚道的分享!

agree

Reply View the author
Jokul
deepin
2022-05-23 02:52
#2

在profile中配置环境变量 是不是关闭终端 再打开终端 命令就失效了?

Reply View the author
windf17
deepin
2022-05-23 03:29
#3
Jokul

在profile中配置环境变量 是不是关闭终端 再打开终端 命令就失效了?

不是,编辑好以后,保存到文件中,相关内容不会立即生效,只有重新加载才能生效。
重新加载的方式有两种,一是重启,二是通过命令重新加载。

Reply View the author
Jokul
deepin
2022-05-23 09:07
#4
windf17

不是,编辑好以后,保存到文件中,相关内容不会立即生效,只有重新加载才能生效。
重新加载的方式有两种,一是重启,二是通过命令重新加载。

我试过source命令重新加载 然后再重新打开一个终端 命令就失效了

Reply View the author
windf17
deepin
2022-05-23 17:11
#5
Jokul

我试过source命令重新加载 然后再重新打开一个终端 命令就失效了

那就重启呗,试试重启.

Reply View the author
thepoy
deepin
2022-05-23 17:12
#6

我一般用Docker安装MySQL,开发中物理机安装MySQL我是真佩服。

Reply View the author
Comments
kentrl
2022-05-31 10:44
MySQL最好安装在物理机。如果你的Docker不工作了,你的MySQL就凉凉了。
andktan
deepin
2022-05-23 19:10
#7

like

Reply View the author
windf17
deepin
2022-05-23 19:16
#8
thepoy

我一般用Docker安装MySQL,开发中物理机安装MySQL我是真佩服。

自己会装是最保险的。自己的机器上物理安装也是学习和巩固mysql基础的过程。
docker很多是人家封装的,有些风险。

Reply View the author
thepoy
deepin
2022-05-23 19:30
#9
windf17

自己会装是最保险的。自己的机器上物理安装也是学习和巩固mysql基础的过程。
docker很多是人家封装的,有些风险。

用官方镜像和你物理安装的风险一样,而且容器隔离对系统的影响可以忽略不计,能用容器还是用容器。

Reply View the author
bibichuan
deepin
2022-05-23 22:48
#10

deepin的终端非常的不好用,特别的是在vi中进行复制粘贴,感觉还是要打磨啊。mac的终端就非常的好用,复制粘贴都很好用。

Reply View the author
babyfengfjx
Super Moderator
CQA
2022-05-23 23:06
#11

nice !

Reply View the author
xuqi
deepin testing team
2022-05-23 23:57
#12

感谢分享~

Reply View the author
telly
deepin
2022-05-24 01:30
#13
thepoy

我一般用Docker安装MySQL,开发中物理机安装MySQL我是真佩服。

me too

主要是 docker-compose 编排的时候也方便,版本升级也方便

做实验的时候,搞挂了,直接 rm

applaud

Reply View the author
Barry-okx
Junior Packager
2022-05-24 06:57
#14
telly

me too

主要是 docker-compose 编排的时候也方便,版本升级也方便

做实验的时候,搞挂了,直接 rm

applaud

我都是阿里云搞一个实例去折腾,本地开太重了。

Reply View the author
lsd1137
deepin
2022-05-24 07:01
#15

感谢分享applaud

Reply View the author
牧野
deepin
2022-05-24 16:17
#16

从来不设置swap。内存爆满的时候,已经卡的要命。只能保证个不死机!感觉没啥用!

Reply View the author
windf17
deepin
2022-05-24 16:41
#17
牧野

从来不设置swap。内存爆满的时候,已经卡的要命。只能保证个不死机!感觉没啥用!

能保证不死机是一个很好的事情了。
程序员干活的时候要开很多东西。万一死机了会很惨!
所以以前我不用deepin,因为有内存泄露、死机、花屏的问题。用的是manjaro开发。
最近发现deepin不怎么死机了,内存泄露、花屏也几乎没有了,转而使用deepin开发。

Reply View the author
WangZhongyun
deepin
2022-05-24 16:42
#18

这么多命令虽然用得很不错,如果以后能基本不用命令就搞好就容易普及了。

Reply View the author
windf17
deepin
2022-05-24 16:46
#19
WangZhongyun

这么多命令虽然用得很不错,如果以后能基本不用命令就搞好就容易普及了。

就像开车,有人喜欢自动挡,也有人喜欢手动挡。
自动挡方便,手动挡功能强大、灵活。
最好是兼而有之,让用户选择。

Reply View the author
WangZhongyun
deepin
2022-05-24 17:12
#20
windf17

就像开车,有人喜欢自动挡,也有人喜欢手动挡。
自动挡方便,手动挡功能强大、灵活。
最好是兼而有之,让用户选择。

手动档早就是这样磨练的了,只能以后要有好自动档才能开自动档啊,呵呵

Reply View the author
1 / 3
To page