Deepin常见问题及优化技巧

本文最后由 森林生灵 于 2018/09/20 13:08:35 编辑

文章目录 (?) [+]

    Linux Beyond Compare

    字体相关

    ① 几种常用的字体安装:

    # 文鼎宋体[推荐]
    sudo apt install fonts-arphic-uming
    # 文鼎楷体[推荐]
    sudo apt install fonts-arphic-ukai
    # 思源宋体[推荐]
    sudo apt install fonts-adobe-source-han-serif-cn
    # 思源黑体
    sudo apt install fonts-adobe-source-han-sans-cn
    # 文泉驿微米黑
    sudo apt install fonts-wqy-microhei
    # 文泉驿正黑
    sudo apt install fonts-wqy-zenhei
    # Ubuntu 字体
    sudo apt install fonts-ubuntu

    ② 字体管理器与字体查看器

    sudo apt install font-manager
    sudo apt install gnome-font-viewer

    ③ WPS 字体

            用于兼容 Deepin Wine 应用和 WPS 的宋体

    下载链接:https://lanseyujie.com/download/simsun.ttc.zip

            打开软件提示字体缺失?安装此补丁。

    下载链接:https://lanseyujie.com/download/symbol-fonts_1.2_all.deb

            WPS 缺少的 Windows 字体,安装此字体包。

    下载链接:http://kdl.cc.ksosoft.com/wps-community/download/fonts/wps-office-fonts_1.0_all.deb


    网络速度显示插件

            插件1[推荐]:CMDU_DDE_DOCK (Github: https://github.com/sonichy/CMDU_DDE_DOCK)

            插件2[停止更新]:NetSpeedMonitor


    PHP 开发环境

    ① 方法一[推荐]:使用 Docker 编译搭建 LNMP 开发环境

    [待补充]

    ② 方法二[推荐]:编译搭建 LNMP 开发环境

    参考文章:https://lanseyujie.com/post/build-local-lnmp-development-environment.html

    ② 方法三:使用 XAMPP 集成 LAMP 开发环境

            安装与卸载

    # 安装
    sudo chmod +x xampp-linux-x64-7.0.13-0-installer.run
    sudo ./xampp-linux-x64-7.0.13-0-installer.run
    
    # 卸载
    cd /opt/lampp/
    sudo ./uninstall

            常用命令

    sudo ln -s /opt/lampp/lampp /usr/bin/lampp
    # 启动
    lampp start
    lampp startapache
    lampp startmysql
    lampp startftp
    
    # 停止
    lampp stop
    lampp stopapache
    lampp stopmysql
    lampp stopftp
    
    # 重载
    lampp reload
    lampp reloadapache
    lampp reloadmysql
    lampp reloadftp
    
    # 重启
    lampp restart
    
    # 安全检查
    lampp security
    
    # SSL
    lampp enablessl
    lampp disablessl
    
    # 备份配置
    lampp backup
    
    # 启用oci8扩展
    lampp oci8
    
    # 打开图形控制界面
    lampp panel

            创建启动图标

    cd /usr/share/applications
    sudo nano bitnami-xampp.desktop
    # 增加如下内容
    [Desktop Entry]
    Version=7.0.13-0
    Name=XAMPP
    GenericName=XAMPP
    Comment=XAMPP is the most popular PHP development environment
    Exec=gksudo "/opt/lampp/manager-linux-x64.run" # XAMMP安装路径
    Icon=/opt/lampp/img/favicon.ico # XAMMP启动图标位置
    Terminal=false
    Type=Application
    Categories=Development
    StartupNotify=true


    Deepin 安装 Shadowsocks

    请参考 https://lanseyujie.com/post/deepin-install-shadowsocks.html


    ArduinoIDE 串口权限解决

    ① 插上连接线后查看设备所在的组

    sudo ls -l /dev/ttyUSB*
    # 或者
    sudo ls -l /dev/ttyACM*

    ② 执行后会返回类似如下结果

    choi@lanseyujie:~$ sudo ls -l /dev/ttyUSB*
    crw-rw---- 1 root dialout 188, 0 11月 11 15:53 /dev/ttyUSB0
    # 或者
    choi@lanseyujie:~$ sudo ls -l /dev/ttyACM*
    crw-rw---- 1 root dialout 188, 0 11月 11 15:53 /dev/ttyACM0

    ③ ttyUSB0 和 ttyACM0 中的 0 可能为其他数字,dialout 是串口设备所在的组。然后将用户添加进设备所在的组,以用户名 choi 为例:

    sudo usermod -a -G dialout choi

    ④ 注销后重新登陆,串口就可以使用了。


    Java 开发环境

    ① 方法一:安装 Oracle 版 Java

    网传方法将环境变量配置到 /etc/environment 中,在 Deepin 中请勿修改 /etc/environment 文件,这将会导致 Deepin 的 lightdm 登录管理器启动失败出现启动黑屏现象。

    环境变量问题:此配置方法仅对 登录式用户(--login) 有效,因其登录时会先加载 /etc/profile 再加载 ~/.bash_profile 、~/.bash_login 或 ~/.profile 文件,而对于 非登录式用户 只会加载 ~/.bash_profile 或 ~/.profile 文件,要使配置对 非登录用户 生效需要把配置信息写到 非登录用户 下的 ~/.bashrc 文件中。关于 登录式与非登录式用户 详情参考 https://www.gnu.org/software/bash/manual/html_node/Bash-Startup-Files.html

    # 安装位置
    # 去官网下载 JDK: http://www.oracle.com/technetwork/java/javase/downloads/index.html
    # 解压缩
    sudo tar zxvf jdk-10.0.2_linux-x64_bin.tar.gz
    sudo mv jdk-10.0.2 /opt
    # 环境变量
    sudo nano /etc/profile
    
    # Java Environment Config
    export JAVA_HOME=/opt/jdk-10.0.2
    export CLASSPATH=.:$JAVA_HOME/lib
    export PATH=$PATH:$JAVA_HOME/bin

    ② 方法二:安装 OpenJDK

    sudo apt install openjdk-10-jdk


    VMware Workstation

    ① 安装

            官网(https://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html)下载最新版 VMware Workstation。

            初次运行 VMware Workstation 可能会因 build kernel 的 gcc 版本跟系统使用中的 gcc 版本不一致,会出现找不到某个版本的 GCC(报错提示:GNU C Compiler(gcc) version 5.4.1 was not found),可以在路径填写 /usr/bin/gcc-5,第一次会失败,但第二次就可以编译通过了。

    # 设置可执行权限
    sudo chmod +x VMware-Workstation-Full-14.1.3-9474260.x86_64.bundle
    sudo ./VMware-Workstation-Full-14.1.3-9474260.x86_64.bundle
    # 激活序列号请参考 https://lanseyujie.com/post/software-serial-number.html

     ② 卸载

    # 查看安装的 VMware 产品名和版本
    vmware-installer -l
    # 卸载 VMware 产品
    sudo vmware-installer -u vmware-workstation


    软件源

    ① 镜像源

    注意:以下操作将覆盖 /etc/apt/sources.list 的所有内容,一些独立发行的软件源会被覆盖掉。

    # Deepin 配置阿里云镜像源
    echo -e "deb [by-hash=force] http://mirrors.aliyun.com/deepin unstable main contrib non-free \ndeb-src http://mirrors.aliyun.com/deepin unstable main contrib non-free" | sudo tee /etc/apt/sources.list
    
    # Deepin 配置中科大镜像源
    echo -e "deb [by-hash=force] http://mirrors.ustc.edu.cn/deepin unstable main contrib non-free \ndeb-src http://mirrors.ustc.edu.cn/deepin unstable main contrib non-free" | sudo tee /etc/apt/sources.list

    ② APT-FAST

    [待补充]

    ③ PPA

    [待补充]


    Sublime Text

    ① 安装包管理器:https://packagecontrol.io/installation

    ② 搜狗输入法补丁:https://lanseyujie.com/download/sublime_text_patch.tar.gz

    ③ 汉化:安装好包管理器点击 Preferences 里的 Package Control 选项,然后选中 Package Control:Install Package 在弹出的命令界面输入 Chinese 选中 ChineseLocalization 安装语言包,在帮助选项中可以切换语言。

    ④ 常用插件:安装方法同 ③。

            ConvertToUTF8: 编辑并保存目前编码不被 Sublime Text 支持的文件,特别是中日韩用户使用的GB2312,GBK,BIG5,EUC-KR,EUC-JP ,ANSI等。( 注:需安装依赖插件 Codecs33

            DocBlockr: 代码注释插件,标准的注释,包括函数名、参数、返回值等,并以多行显示,省去手动编写。

            AutoFileName: 快捷输入文件名插件,自动完成文件名的输入,如图片选取,输入”/”即可看到相对于本项目文件夹的其他文件。

            BracketHighlighter: 代码匹配插件,可匹配[], (), {}, “”, ”, ,高亮标记,便于查看起始和结束标记,点击对应代码即可。

            Emmet: HTML/CSS代码快速编写插件,对于前端来说,可是必备插件。

            FileDiffs: 强大的比较代码不同工具,比较当前文件与选中的代码、剪切板中代码、另一文件、未保存文件之间的差别,右键标签页,出现FileDiffs Menu或者Diff with Tab…选择对应文件比较即可。


    id_rsa 权限问题

    # 现象
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    @         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    Permissions 0777 for '/home/choi/.ssh/id_rsa' are too open.
    It is required that your private key files are NOT accessible by others.
    This private key will be ignored.
    Load key "/home/choi/.ssh/id_rsa": bad permissions
    Permission denied (publickey).
    
    # 解决方法(权限不可过大或过小)
    chmod 755 ~/.ssh/
    chmod 600 ~/.ssh/id_rsa ~/.ssh/id_rsa.pub
    chmod 644 ~/.ssh/known_hosts ~/.ssh/authorized_keys


    Chrome 强制启用 GPU 渲染 WebGL

    ① 地址栏输入 chrome://flags#ignore-gpu-blacklist 和 chrome://flags/#enable-es3-apis,分别启用。

    ② 地址栏输入 chrome://settings,点击”显示高级选项“,找到”系统“,勾选”使用硬件加速模式(如果可用)“,然后重启 Chrome。

    ③ 验证 WebGL 是否可用,访问 http://doesmybrowsersupportwebgl.com,出现 Yay 代表可用。查看 GPU 可以通过chrome://gpu。


    文件关联

    请参考:https://lanseyujie.com/post/file-association-under-linux.html


    MATLAB

    MATLAB 的下载安装及激活请参考:https://lanseyujie.com/post/matlab-download-and-activate.html


    手动升级 Deepin Wine 程序

            Deepin Wine 中的 Windows 程序版本更新的实在太慢了,通过软件自带的升级功能又不能使用,对于那种功能没有太大变动而稳定性提高的软件升级,可以直接拷贝 Windows 上的安装好的文件到 Deepin Wine 相应目录替换。

            比如 TIM ,直到我更新这一条的时候,Deepin Wine 里的 TIM 版本还是最初的测试版,新版本 TIM 更新幅度不是很大又提高了稳定性,可以直接拷贝安装在的 Windows 上的 TIM 替换掉原来的 Deepin Wine 的 TIM,即用 Windows 的 D:\Tencent\TIM 文件夹替换掉 Deepin Wine 的 ~/.deepinwine/Deepin-TIM/drive_c/Program Files/Tencent/TIM 文件夹,为了防止失败可以先将 Deepin Wine 的 TIM 重命名备份一下。

    # 安装的 DeepinWine 程序要先打开运行一次才会在 .deepinwine 目录解压程序文件
    
    # 切换到 DeepinWine 程序文件目录
    cd ~/.deepinwine/Deepin-TIM/drive_c/Program Files/Tencent/TIM
    
    # 备份原来的程序文件
    mv TIM/ TIM.bak/
    # 复制 Windows 中安装的新版本程序文件
    cp -r /media/choi/WinApps/Tencent/TIM/ ./
    
    # 设置权限
    sudo chmod 644 TIM/ -R
    sudo find TIM/ -type d -print|xargs chmod 755;
    sudo find TIM/ -name "*.exe" -print|xargs chmod +x;

    [待补充:Deepin Wine 应用的升级打包]


    Golang 开发环境

    下载最新 Golang 安装文件:https://golang.org/dl/

    参考链接:https://golang.org/doc/install

    # 设置要下载的 Go 版本
    VERSION=1.11
    OS=linux
    ARCH=amd64
    
    wget -c https://dl.google.com/go/go$VERSION.$OS-$ARCH.tar.gz
    
    sudo tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz
    
    # 配置环境,注:GOPATH 为 Go 工作目录
    export GOROOT=/usr/local/go
    export GOPATH=$HOME/go
    export GOBIN=$GOPATH/bin
    export PATH=$PATH:$GOROOT/bin:$GOBIN
    
    # 使配置在当前终端立即生效
    source /etc/profile
    
    # 查看 Go 环境
    go env


    Docker

    参考链接:https://docs.docker.com/install/linux/docker-ce/debian/#os-requirements

    sudo apt-get update
    
    # 移除旧版本的 Docker
    sudo apt-get remove docker docker-engine docker.io
    
    # 安装以下软件包以允许 apt 通过 HTTPS 使用仓库
    sudo apt-get install apt-transport-https ca-certificates curl
    
    # 添加 Docker 的官方 GPG 密钥
    curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
    
    # 验证密钥是不是 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
    sudo apt-key fingerprint 0EBFCD88
    # 正确密钥应该如下显示
    pub   4096R/0EBFCD88 2017-02-22
          Key fingerprint = 9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
    uid                  Docker Release (CE deb) <docker@docker.com>
    sub   4096R/F273FCD8 2017-02-22 
    
    # 添加 Docker 官方仓库
    # 切换 root 用户执行
    sudo su
    echo -e "deb [arch=amd64] https://download.docker.com/linux/debian stretch stable" >> /etc/apt/sources.list
    
    # 安装 Docker-CE
    sudo apt-get update && sudo apt-get install docker-ce -y

    免 sudo 使用 docker,注销再登录 即可生效。参考链接:http://tinylab.org/use-docker-without-sudo/

    sudo groupadd docker
    sudo usermod -aG docker $USER


    串口通信工具 MiniCOM

    # 安装
    sudo apt-get minicom
    
    # 设置串口
    sudo minicom -s
    
    # 打开串口
    minicom -D <your-serial-port>

            基本操作:如果上面设置顺利,按开发板上的 Reset 键复位,此时窗口里就有信息打印出来了。功能设置需要先按组合键 Ctrl + A 进入设置状态,再按其它键。

            Z 键:打开帮助菜单;

            S 键:发送文件到目标系统中;

            W 键:自动滚屏。当显示的内容超过一行之后,自动将后面的内容换行。这个功能在查看内核的启动信息时很有用;

            C 键:清除屏幕的显示内容;

            B 键:浏览 minicom 的历史显示;

            X 键:退出 minicom ,会提示确认退出。


    多线程下载

    ① axel

    # 安装
    sudo apt install axel
    # 使用示例:以 32 线程下载 deepin.iso 到当前路径
    axel -n 32 -o ./ http://cdimage.deepin.com/releases/15.6/deepin-15.6-amd64.iso

    ② aria2c

    [待补充]

    ③ U-Get 及 Chrome 插件

    [待补充]

    ④ 百度网盘下载工具 BaiduPCS-Go

    [待补充]


    查看系统信息

    # 安装
    sudo apt install screenfetch
    
    # 查看系统信息
    screenfetch


    快捷键

    ① 控制中心设置快捷键命令 dde-control-center -t,直接打开网络设置的命令为 dde-control-center -m network,更多关于控制中心的使用说明使用命令行 dde-control-center -h 查看,建议为控制中心设置一个同 Windows 10 一样 Super + I 快捷键。

    ② 建议修改 深度系统监视器 的快捷键 由 Esc+Ctrl+Alt 改为同 Windows 一样的 Esc+Shift+Ctrl。

    ③ 推荐设置 Gedit 快捷键为 Ctrl+Alt+N 以快速暂存临时文本。


    打开 Fcitx 剪贴板历史

    快捷键 Ctrl + ; 通过应用 输入法配置 中的 附加组件 - 剪切板 - 配置 可以调整剪贴板历史长度。


    启动器菜单编辑

    此工具可以显示、隐藏、修改、创建、删除一些启动器菜单图标。

    sudo apt-get install menulibre

    安装后无启动图标的解决方法。

    sudo nano /usr/share/applications/menulibre.desktop
    
    使用 # 注释掉 OnlyShowIn=Budgie;Cinnamon;GNOME;KDE;LXDE;LXQt;MATE;Pantheon;Unity;XFCE;


    QT 相关

    安装过程

            ① 方法一:离线安装包

            安装必要的 GNU 开发工具集和 OpenGL 开发库

    sudo apt install build-essential libgl1-mesa-dev
    # 未安装会导致某些 OpenGL 头文件不存在问题,例如:/opt/Qt5.9.1/5.9.1/gcc_64/include/QtGui/qopengl.h:139: error: GL/gl.h: 没有那个文件或目录 # include <GL/gl>

            官方正式版离线安装包下载:http://download.qt.io/official_releases/qt/

            安装方法:下载 Linux 版本,使用 md5sum 命令校验无误后,给 run 文件添加可执行权限,然后使用 sudo ./*.run 进行安装。

    # 命令行编译需要的环境
    export QT_VERSION=5.10.1
    export QT_DIR=/opt/qt/$QT_VERSION/gcc_64
    export PATH=$QT_DIR/bin:$PATH
    export LD_LIBRARY_PATH=$QT_DIR/lib:$LD_LIBRARY_PATH
    
    cd ~
    deepin-terminal
    
    # 测试命令
    qmake -v
    assistant
    designer
    linguist

            Qt 编程指南:https://qtguide.ustclug.org

            ② 方法二:源安装

    sudo apt-get install qt5-default qt5-qmake g++ qtcreator build-essential libgl1-mesa-dev

    输入法补丁

            搜狗输入法不能使用?下载补丁,修改 shell 里的 userdir 和 qtversion 并执行即可。

    下载链接:https://lanseyujie.com/download/qtcreator_input_method_patch.zip

    启动图标

    Exec 的可执行文件路径需要根据实际情况修改。

    qt-assistant.desktop(QT 助手)

    [Desktop Entry]
    Version=1.1
    Type=Application
    Name=Qt 5 助手
    GenericName=文档浏览器
    Icon=assistant-qt5
    Exec=/usr/lib/qt5/bin/assistant
    Actions=
    Categories=Development;Documentation;Qt;

    qt-designer.desktop(QT 设计师)

    [Desktop Entry]
    Version=1.1
    Type=Application
    Name=Qt 5 设计器
    GenericName=界面设计器
    Icon=designer-qt5
    Exec=/usr/lib/qt5/bin/designer %F
    Actions=
    MimeType=application/x-designer;
    Categories=Development;GUIDesigner;Qt;

    qt-linguist.desktop(QT 语言家)

    [Desktop Entry]
    Version=1.1
    Type=Application
    Name=Qt 5 Linguist
    GenericName=翻译工具
    Icon=linguist-qt5
    Exec=/usr/lib/qt5/bin/linguist %F
    Actions=
    MimeType=application/x-linguist;
    Categories=Development;Qt;Translation;


    双系统时差

            Linux 系统将主板时钟时间认作为 UTC (协调世界时),然后再根据系统设置的时区确定当前时间。而 Windows 系统却直接将主板时钟认作为当前时间,这就导致了双系统会有 8 个小时时差。在 Windows 系统执行如下内容的批命令即可解决此问题。

    @echo off
    Reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1
    echo .注册表添加成功,重启后生效
    pause


    Android Studio

    ① 解决依赖包错误

    sudo apt-get install libz1 libncurses5 libbz2-1.0:i386 libstdc++6 libbz2-1.0

    ② 解决 Gradle 下载超时,修改全局 gradle.properties ,注释其中的  http(s) 代理并设置  socks 代理(本地的 Shadowsocks 代理)。

    #systemProp.https.proxyPort=1080
    #systemProp.http.proxyHost=127.0.0.1
    #systemProp.https.proxyHost=127.0.0.1
    #systemProp.http.proxyPort=1080
    systemProp.socks.proxyHost=127.0.0.1
    systemProp.socks.proxyPort=1080


    NodeJS 开发环境

    参考 https://www.ubuntuupdates.org/ppa/nodejs_10.x?dist=bionic

    curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -
    sudo sh -c "echo deb https://deb.nodesource.com/node_10.x bionic main > /etc/apt/sources.list.d/nodesource.list"
    sudo apt update
    sudo apt install nodejs


    网络相关

    ① 查看已保存的 WiFi 连接密码

    cd /etc/NetworkManager/system-connections/
    sudo cat <your-wifi-ssid>

    ② 刷新 DNS

    sudo /etc/init.d/networking restart

    ③ 切换 WiFi 时出现连接异常,可以尝试重启网络管理器解决

    sudo /etc/init.d/network-manager restart

    ④ WiFi 热点

            如果网卡支持创建热点可以参考如下方法创建 WiFi 热点,如果不支持可以买一个 Linux 可用的随身 WiFi,比如常见的 RTL8188CUS(亲测可用)。

    sudo apt install hostapd dnsmasq iptables git
    cd /opt
    sudo git clone https://github.com/oblique/create_ap.git
    cd /opt/create_ap
    sudo make install
    sudo create_ap wlan0 eth0 <your-ap-ssid> <your-ap-key>
    # wlan0 是要创建热点的网卡名,eth0 是已连接到互联网的网卡名,可以用 ifconfig 命令查看具体网卡名。


    VSCode

    解决 文件管理器 被 VSCode 接管。

    gio mime inode/directory dde-file-manager.desktop


    Google 输入法

    安装完需要注重新登录一下才会生效。

    sudo apt install fcitx-googlepinyin fcitx-module-cloudpinyin


    PDF 虚拟打印机

    默认的 PDF 输出位置为 $HOME/PDF ,可以通过修改 /etc/cups/cups-pdf.conf 进行自定义。

    sudo apt install printer-driver-cups-pdf


    开关机动画

    参考文章:https://wiki.archlinux.org/index.php?title=Plymouth

    # 列出已安装的主题
    plymouth-set-default-theme -l
    
    # 显示当前使用的主题
    plymouth-set-default-theme
    
    # 设置要使用的主题
    sudo plymouth-set-default-theme -R <theme-name>





    未完待续...

    本文标题:Deepin常见问题及优化技巧
    本文链接:https://lanseyujie.com/post/deepin-optimization-techniques.html
    版权声明:本文使用「署名-非商业性使用-相同方式共享」创作共享协议,转载或使用请遵守署名协议。
    点赞 0 分享 0