2018年5月

Deepin 编译QOwnNotes18

由于深度商店带的QOwnNotes版本太老了(16.08.11-1)而官网已经是18.05.7了。。。

本着极客的心态,必须自己编译一波开源的QOwnNotes。说干就干。因为这货是用QT编译的,妥妥的我本地就有QT5.基本没有啥太大的问题。

另外GIT上有基本的编译步骤,虽然有这东西,但是在编译过程中,还是遇到了一丝丝的问题。不过已经顺利解决了~~~~下面开始吧。

这是我为数不多的,非常完整的教程,希望能带给你帮助,如果有转载的,请注明丢节操吧编写,不胜感激!

1.下载代码

由于我本地连接GitHub速度比较慢,所以我给加上了代理

git config --global http.proxy 'socks5://127.0.0.1:1080'

这一步你不一定要加不影响(就是有可能下载半天会失败就是了)

git clone https://github.com/pbek/QOwnNotes.git -b mastercd QOwnNotes
cd QOwnNotes
git submodule update --init

基本下载代码就结束了。

2.编译

cd src
qmake
make

编译的过程出现了一些错误,参考下面的做法处理

报错处理

提示:

Project ERROR: Unknown module(s) in QT: svg xmlpatterns qml

sudo apt-get install libqt5svg5-dev
sudo apt-get install libqt5xmlpatterns5-dev
sudo apt-get install qtxmlpatterns5-dev-tools
sudo apt-get install qtdeclarative5-dev

3.运行

./QOwnNotes

Enjoy!

4.参考

设置git使其通过代理访问 http://www.jcodecraeer.com/plus/view.php?aid=7771

Qt lib List https://docs.google.com/spreadsheets/d/16ycob0pe97H0Bz70WWXgx1-wNp6cVr1OcdQFaf5N7s8/edit?usp=sharing

一起设置DNS为1.1.1.1吧

最近无意间发现了一个吊炸天的DNS服务。试了下,速度真是快的不行,跟8.8.8.8比,还要快,果断设置了。

Deepin下设置:

sudo vi /etc/resolv.conf

键入【i

删除nameserver 后面的dns地址。键入:1.1.1.1

按【esc

输入:wq

回车

Deepin 编译VirtualBox实录以及编译报错解决

网上都没有Deepin编译VirtualBox的文章,估计大佬们不屑写,懂的不写,不懂的又不知道咋搞,为此我作为一个半懂不懂的入门新手Linus只能操刀,实战一波,经过一下午的研究,整理出了这篇文章,嗯,应该没毛病了,如果你想编译VirtualBox装逼,但是你又不懂,恭喜你啦,看过这篇文章后,你肯定能玩的贼溜。

这是我为数不多的,非常完整的教程,希望能带给你帮助,如果有转载的,请注明丢节操吧编写,不胜感激!

1.前言

最近在用VirtualBox的时候发现剪切板有问题。

因为是用的深度商店下载的VirtualBox,就感觉是版本不够。然后就想着编译下VirtualBox。

说做就做。这中间遇到了好多次编译报错,通过Google解决了一些。

我目前的版本:lsb_release -a

No LSB modules are available.

Distributor ID:Deepin

Description:Deepin 15.5

Release:15.5

Codename:unstable

内核:

uname -r:4.14.0-deepin2-amd64

cat /proc/version : Linux version 4.14.0-deepin2-amd64 (yangbo@deepin.com) (gcc version 6.3.0 20170321 (Debian 6.3.0-11)) #1 SMP PREEMPT Deepin 4.14.12-2 (2018-01-06)

virtualBox提供了linux在线编译文档:https://www.virtualbox.org/wiki/Linux%20build%20instructions

按照文档中Debian的去编译就好了。

2.卸载旧版本的VirtualBox

在启动器上右键卸载就好了
运行

sudo apt-get autoremove --purge virtualbox

3.依赖包安装

安装依赖包:

sudo apt-get install gcc g++ bcc iasl xsltproc uuid-dev zlib1g-dev libidl-dev \
                libvpx-dev libssl-dev qt5-default g++-multilib qttools5-dev-tools \
                libsdl1.2-dev libxcursor-dev libasound2-dev libstdc++5 \
                libpulse-dev libxml2-dev libxslt1-dev \
                python-dev libqt4-dev qt4-dev-tools libcap-dev \
                libxmu-dev mesa-common-dev libglu1-mesa-dev \
                linux-kernel-headers libcurl4-openssl-dev libpam0g-dev \
                libxrandr-dev libxinerama-dev libqt4-opengl-dev makeself \
                libdevmapper-dev default-jdk python-central \
                texlive-latex-base \
                texlive-latex-extra texlive-latex-recommended \
                texlive-fonts-extra texlive-fonts-recommended

其中有个libhal-dev,跳过跳过。。。

1527403521198821.png

4.生成env.sh环境变量

然后是生成环境变量env.sh

cd 到下载的源码目录,比如我的VirtualBox-5.2.12

执行:./configure --disable-hardening

等一会,如果这中间有报错,比如:说啥没找到,那么要记住,要去:源码包的目录下,找到configure.log来看具体的错误

一般都是包不存在,比如:"sys/cdefs.h: No such file or directory"

"QtGlobal: No such file or directory"

之类的

针对这些错误具体再去sudo apt-get install xxx

即可。

之后执行:source ./env.sh

5.编译

执行kmk all

漫长的等待。。。。
image.png</p>

<p style="background-color: rgb(0, 176, 80); color: rgb(0, 0, 0); width:90%;height:40px"><span style="font-size: 24px;">

6.编译内核

cd out/linux.amd64/release/bin/src

具体是linux.amd64还是其他,在kmk all编译结束后,可以看到make的路径

执行:sudo make

执行:sudo make install

赋予权限:sudo chmod +rw /dev/vboxdrv

不然就会报错:

The VirtualBox Linux kernel driver (vboxdrv) is either not loaded or there is a permission problem with /dev/vboxdrv. Please reinstall the kernel module by executing

7.运行

如果现在还没有啥报错,恭喜你啦,成功编译了VirtualBox Gui以及内核啦

现在可以通过命令行使用 ./VirtualBox 来运行啦

image.png

如果你的虚拟机之前以及安装了USB3.0的扩展包,那现在也要安装下才能RUN虚拟机。

具体可以打开VirtualBox Gui界面进行安装,这里不再赘述,可参见:https://www.virtualbox.org/manual/ch01.html#intro-installing

8.参考内容

https://cromwell-intl.com/open-source/virtualbox-build.html

deepin 开机进入busybox界面

ok,晚上强制关闭了下系统,结果小本子就起不来了。。。

开机进入busybox界面。initramfs

百度了一波,结果网上资料寥寥无几。英文又学的不好,只能依样画瓢。结果差点没整出事故。。

还好最后还是解决了

按照网上的说法,这是因为磁盘被锁定,强制重启导致。应该有错误的。

于是重启,开机疯狂按,进入recovery。(深度有带这个好用的恢复img)

输入密码后,进入界面。

打开终端,输入sudo fsck /dev/sda2

一路y下去。然后重启就没毛病了。

注意的一点就是这里的sda2是我本地的,这个盘是我固态硬盘(害怕!)要按照你当前的系统盘来指定,具体可以百度查看磁盘的UUID啥的,这里不用多说了吧?

(实际上我还尝试了修复grup,修复开机启动项,都无果,为了表现我的牛逼,这些错误的尝试,都略过`