欢迎来到 Franklin-Qi 的世界

Max
Min

vmware 安装 V10.1-1114的初始化

安装新的V10.1-1114版本,需要一些处理才能进行开发。

一、安装vmware-tool插件

可以解决vmware下ubuntu窗口不适应和无法复制文件到虚拟机。

(1)在VMware菜单栏上选择 虚拟机->安装 VMware Tools

(2)拷贝并解压VMwareTools-10.1.6-5214329.tar.gz

  复制 VMwareTools-10.1.6-5214329.tar.gz 文件到本地目录,如 /opt/vmware-tool/ 文件夹,并解压:

  解压出来可以看到有一个vmware-install.pl的文件,这个文件就是安装VMware Tools的脚本文件;

(3)执行命令:sudo perl vmware-install.pl

(4)reboot 重启机器

二、永久分辨率配置

分辨率查看可通过 xrandr
编辑 ~/.profile ,添加如下内容:

cvt 1360 768
xrandr --newmode "1360x768_60.00" 84.75 1360 1432 1568 1776  768 771 781 798 -hsync +vsync
xrandr --addmode Virtual1 "1360x768_60.00"
xrandr --output Virtual1 --mode "1360x768_60.00¨

三、安装libopencv-dev开发库

在最开始的时候直接安装libopencv-dev,会出现“无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。”的提示错误。

1)通过aptitude 命令发现可供选择的解决方案为空;
2)通过更换apt源(清华镜像源或者阿里源),但通过lsb_release -c 发现系统版本为juniper,不可进行apt源更改,会导致系统依赖大面积出错;
3)通过sudo apt-get -y install 也未解决;
4)通过sudo apt-get install libopencv=指定版本 也未解决;
5)通过sudo apt-get install libopencv 的依赖包,最后定位到了libgl2ps1.4依赖包问题,通过在内网源取得deb包最终解决问题。

问题定位:
Ubuntu的这个包并没有在focal中编出来,所以。我们用ubuntu的仓库作为依赖来源时,这个包就出来了问题。

问题解析及解决方案:
libgl2ps1.4 传到 https://launchpad.dev/kylin/+source/gl2ps/1.4.0+dfsg1-2k1 上还在任务队列,并未及时更新到apt源中,
此时会出现上述问题。需要通过内网vpn进行安装libgl2ps1.4包。
当软件包同步到apt源中可通过 apt-cache policy libgl2ps1.4 进行查看。

之后就能愉快的安装libopencv-dev了: sudo apt-get install libopencv-dev

四、安装5.12.8版本的qtcreator

内置的qtcreator版本为5.12.8,但功能有待改进,故在清华镜像源(https://mirrors.tuna.tsinghua.edu.cn/qt/official_releases/qt/5.12/5.12.8/)上安装一个run安装包。
1)赋予可执行权限: sudo chmod a+x qt-opensource-linux-x64-5.12.8.run
2)执行安装程序:./qt-opensource-linux-x64-5.12.8.run
3)配置环境变量到 /etc/profile文件

export PATH="/opt/Qt5.12.8/Tools/QtCreator/bin:$PATH"
export PATH="/opt/Qt5.12.8/5.12.8/gcc_64:$PATH"
  1. 为OpenGL创建连接: sudo ln -s /usr/lib/x86_64-linux-gnu/libGL.so.1 /usr/lib/libGL.so
    5)创建win开始菜单启动到 /usr/share/applications/qtcreator.desktop
[Desktop Entry]                                                                 
Type=Application                                                                
Exec=qtcreator %F                                                               
Name=Qt Creator                                                                 
GenericName=C++ IDE for developing Qt applications                              
X-KDE-StartupNotify=true                                                        
Icon=QtProject-qtcreator                                                        
StartupWMClass=qtcreator                                                        
Terminal=false                                                                  
Categories=Development;IDE;Qt;                                                  
MimeType= text/x-c++src;text/x-c++hdr;text/x-xsrc;application/x-designer;application/vnd.qt.qmakeprofile;application/vnd.qt.xml.resource;
  1. 为/opt/Qt5.12.8/Tools/QtCreator/bin/qtcreator 创建链接: sudo ln -s /opt/Qt5.12.8/Tools/QtCreator/bin/qtcreator /usr/bin/qtcreator

五、配置git环境

1. 配置git commit环境

$ apt-get install python3-pip
$ pip3 install inquirer
$ git config --global user.email "xxx"
$ git config --global user.name "xxx"

编辑/usr/bin/git-inquirer,赋予可执行权限,然后输入git-inquirer即可生成一个交互式窗口来规范commit输入:

#!/bin/python3

import inquirer
import sys
from string import Template
import subprocess

def number_validation(answers, current):
  return int(current)

def empty_validation(answers, current):
  return bool(current)

def no_validation(answers, current):
  return True

def addList(name, message, list):
  return inquirer.List(name, message, list)

def addText(name, message, valid):
  return inquirer.Text(name, message, validate=valid)

def addCheck(_name, _message, _choices):
  return inquirer.Checkbox(_name, message=_message, choices=_choices)

questions = [
  addCheck("action", "选择非选项(空格选择,回车跳过)", ['Bug', 'Issue', 'Task'])
]

optinalAnswers = inquirer.prompt(questions)

questions = [
  addList('action', "select you action", ['fix', 'feat', 'refactor', 'docs', 'chore', 'style', 'pref', 'test']),
  addText("module", "input module name", no_validation),
  addText('title', "input title", empty_validation),
  addText('description', "input description", empty_validation),
  addText("log", "input log", empty_validation),
]

optinal = {
  "Bug": addText("bug", "input bug id", empty_validation),
  "Issue": addText("issue", "input issue id", empty_validation),
  "Task": addText("task", "input task id", empty_validation),
}

optinalMap = {
  "Bug": "bug",
  "Issue": "issue",
  "Task": "task",
}

for action in optinalAnswers["action"]:
  questions.append(optinal[action])

answers = inquirer.prompt(questions)

template = '${action}'

if answers["module"]:
  template += '(${module})'

template += ': ${title}\n\nDescription: ${description}\n\nLog: ${log}\n'

for action in optinalAnswers["action"]:
  template += action + ": ${" + optinalMap[action] + "}\n"

subprocess.run(["git", "commit", "-m", Template(template).substitute(answers)])

优雅的提交Commit信息,也使用Angular团队提交规范。启动git-inquirer的常用注释如下:

备注:
一、主要有以下组成:
标题行: 必填, 描述主要修改类型和内容
主题内容: 描述为什么修改, 做了什么样的修改, 以及开发的思路等等
页脚注释: 放 Breaking Changes 或 Closed Issues

二、常用的修改项有:
type: commit 的类型
feat: 新特性
fix: 修改问题
refactor: 代码重构
docs: 文档修改
style: 代码格式修改, 注意不是 css 修改
test: 测试用例修改
chore: 其他修改, 比如构建流程, 依赖管理
scope: commit 影响的范围, 比如: route, component, utils, build...
subject: commit 的概述
body: commit 具体修改内容, 可以分为多行
footer: 一些备注, 通常是 BREAKING CHANGE 或修复的 bug 的链接

2. 配置免密码git push

1)vim ~/.git-credentials 输入:https://{username}:{password}@github.com

2)终端下,进入属于你的分支,执行如下命令:git config –global credential.helper store

3)查看配置内容:vim ~/.gitconfig
出现如下内容,则代表配置正确,之后reboot会发现不用再输入用户名和密码:
[credential]
helper = store

六、配置debuild环境

sudo apt install build-essential debmake debhelper dh-make devscripts xutils-dev

七、配置openssh

$ sudo apt install openssh
$ sudo vim /etc/ssh/ssh_config
打开 Port 22
$ sudo systemctl restart sshd

posted on 2020-11-25 17:51  yusq77  阅读(219)  评论(0)    收藏  举报

导航