Ubuntu firefly/pc 上位机系统开发的常用命令和问题SoC板运行环境配置
- 1. 常用软件安装
- 2. 常用操作
-
- 2.1 安装编译qwt
- 2.2 添加启动自动调用自定义脚本
- 2.3 免密操作用户脚本->给予sudo 免密码
- 2.4 网卡固定静态配置IP/配置双网卡
- 2.5 屏幕旋转
- 2.6 安装boost库和readline库
- 2.7 替换国内源
- 2.8 重新烧写Ubuntu for firefly系统镜像
- 2.9 Onboard 下载与设置
- 2.10 关闭屏幕保护
- 2.11 限制用户进入系统
- 2.12 隐藏侧工具栏和顶栏
- 2.13 设置系统时间
- 2.14 修改语言系统
- 2.15 其它常用命令
- 3. 解决常见问题
-
- 3.1 解决编译时报错误
- 3.2 解决ubuntu20.04 下 lboost-python找不到或者libboost-python38报错的问题
- 3.3 编译时会出错cannot find -lgl”
- 3.4 firefly 初始密码
- 3.5 解决中文输入法问题
- 3.6 触摸屏旋转后显示/触摸屏位置错误
1. 常用软件安装
sudo apt-get install <pkg_name>
sudo apt-get install synaptic fcitx fcitx-table-wbpy build-essential subversion sudo apt-get install qt5-default qt5-doc qtcreator sudo apt-get install libqt5core5a libqt5dbus5 libqt5gui5 sudo apt-get install libqt5multimedia5 libqt5sql5 libqt5widgets5 libqt5opengl5 sudo apt-get install wmctrl gnome-session scrot sudo apt-get install libpython2.7-dev libboost-dev libboost-python-dev sudo apt-get install libreadline-dev libqt5svg5 sudo apt-get install libqt5designer5 qttools5-dev libqt5svg5-dev
2. 常用操作
2.1 安装编译qwt
sudo make install
2.2 添加启动自动调用自定义脚本
终端运行gnome-session-properties添加脚本
gnome-session-properties # 触摸屏旋转脚本(根据实际情况选择
矩阵)rotateAOCTouchScreen.sh #! /bin/sh # cw xinput set-prop 'Silicon Integrated System Co. SiS HID Touch Controller' 'Coordinate Transformation Matrix' 0 1 0 -1 0 1 0 0 1 # ccw #xinput set-prop 'Silicon Integrated System Co. SiS HID Touch Controller' 'Coordinate Transformation Matrix' 0 -1 1 1 0 0 0 0 1 # #上位机脚本 run.sh
2.3 用户脚本免密运行->给予sudo 免密码
sudo gedit /etc/sudoers #文末尾添加 #sudo 免密码 %sudo ALL=(ALL:ALL) NOPASSWD: ALL
2.4 配置网卡固定静态IP/配置双网卡
- 查询网卡配置
~$ ifconfig ## 获取 网卡名字 本例中为 enp6s0 和 enp7s0 ## 假如没有安装,通过如下命令安装 ~$ sudo apt install net-tools
- gedit打开并修改interfaces文件
sudo gedit /etc/network/interfaces # 在最后添加如下内容(将enp6s0修改为对应名字,指定ip、网关和掩码) #配置网卡 #右边网口-连接控制器 auto enp6s0 iface enp6s0 inet static address 192.168.1.10 netmask 255.255.255.0 gateway 192.168.1.0 #左边网口-连接MES auto enp7s0 iface enp7s0 inet static address 192.168.2.10 netmask 255.255.255.0 gateway 192.168.2.0 # 如果没有gedit 也可以通过vim修改或者安装gedit(如下命令行) ~$ sudo apt-get install gedit
注意:如果这样修改无效,直接在系统的网络设置中修改IPV4的自动为手动,输入相应的IP、掩码和网关并保存后重启
2.5 屏幕旋转
在终端输入 xrandr -o left 向左旋转90度 xrandr -o right 向右旋转90度 xrandr -o inverted 上下翻转 xrandr -o normal 回到正常角度
xrandr -o left xrandr -o right xrandr -o inverted xrandr -o normal
注意:可以将命令写成脚本添加到开机运行项中或者直接写在开机运行项中
2.6 安装boost库和readline库
在终端输入
sudo apt-get install libboost-all-dev sudo apt-get install libreadline6-dev
2.7 替换国内源
- 更改文件权限使其可编辑,在终端输入
sudo chmod 777 /etc/apt/sources.list
- 打开文件进行编辑
sudo gedit /etc/apt/sources.list
- 备注掉原来的地址,添加国内的源(如阿里源)
# ubuntu 18.04(bionic) 配置如下(20220705) deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse #deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse #deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
2.8 重新烧写Ubuntu for firefly系统镜像
- 以fireflyRK-3288为例(下载地址)
- 下载 Release_DriverAssistant.zip ,解压,然后运行里面的 DriverInstall.exe 注:为了所有设备都使用更新的驱动,请先选择"驱动卸载",然后再选择"驱动安装。若驱动存在问题,到官网下载最新版本(下载地址)
- 下载 AndroidTool_Release_v2.3.rar,解压,运行 AndroidTool_Release_v2.3 目录里面的 AndroidTool.exe 即可 注意:如果该版本烧写软件连接设备失败或者烧写失败,请到官网下载或者尝试别的版本的烧写软件;如果操作系统是 Windows 7/8,需要按鼠标右键,选择以管理员身份运行
- 确保设备连接好电源适配器并处于通电状态。
- 用 Micro USB OTG 线连接好设备和主机。
- 按住设备上的 RECOVERY (恢复)键并保持。
- 短按一下 RRESET(复位)键。
- 大约两秒钟后,松开 RECOVERY 键。
- 注意:如果发现按了 RESET 键后还是没有发现设备,请在保持 RECOVERY 键按下的同时,长按一下 PWRKEY 键,然后才松开 RECOVERY 键。主机应该会提示发现新硬件并配置驱动。打开设备管理器,会见到新设备"Rockusb Device" 出现,如果没有,尝试重新安装驱动。
- 以FIREFLY-RK3288-UBUNTU16.04-GPT-20200326-1507.img为例
- 切换至"升级固件"页,如图所示。
- 按"固件"按钮,打开要升级的固件文件。升级工具会显示详细的固件信息。
- 按"升级"按钮开始升级。
- 如果升级失败,可以尝试先按"擦除 Flash"按钮来擦除 Flash,然后再升级。
- 注意:如果你烧写的固件 laoder 版本与原来的机器的不一致,请在升级固件前先执行" 擦除 Flash"。
2.9 Onboard 下载与设置
- 下载安装:在Ubuntu 的软件库中搜索安装onboard 或者命令行安装
sudo apt-get install onboard
- 启动onboard键盘,设置成非固定,启动时隐藏,隐藏时显示图标,皮肤换成model M,布局换成compact型。在键盘>高级设置里,将输入模式改为singletouch
- onboard开机自启动 终端运行 gnome-session-properties 添加命令行
#打开gnome开机运行脚本管理器
~$ gnome-session-properties
#添加脚本
~$ sudo onboard
注意:可以将启动onboard键盘命令写成脚本添加到开机运行项中或者直接写在开机运行项中
2.10 关闭屏幕保护
对于机床用户来说,不想让屏幕一段时间之后自动熄灭。
- 设置方法:修改lxsession设置
- 修改文件: ~/.config/lxsession/Lubuntu/desktop.conf文件。将其中的 screensaver一项的等号后面设为 xscreensaver
- 在系统菜单中打开屏幕保护程序的设置,将屏保设为disabled
2.11 限制用户进入系统
目的是用户只能看到软件界面,而不能进入系统进行其他操作。方法是不启动任务栏,不启动屏幕保护程序,同时不使用常见快捷键(例如Alt+Tab切换窗口,Alt+F4关闭窗口等)。
- 修改lxsession设置。需要修改的 是 ~/.config/lxsession/Lubuntu/desktop.conf文件。其格式类似于ini文件,都 是“key=value”键值对。将其中的panel应用程序名称删掉或注释掉(只删掉或注释掉等号后 面的value,不要去掉整行),例如 panel/command=或 panel/command=#XXX。
- 修改窗口管理器openbox设置。需要修改的是 ~/.config/openbox/lubuntu rc.xml文件。这是一个XML文件,在此文件中搜索关键词keyboard,找到配置快捷键的 部分,将不需要使用的快捷键注释掉。要注释掉的包括 Alt+F4, Alt+Shift+Tab, Alt+Tab等。
2.12 隐藏侧边工具栏和顶栏
安装gnome-tweak-tool工具和gnome-shell-extensions
~$ sudo apt-get install gnome-shell ~$ sudo apt-get install gnome-shell-extensions ~$ sudo apt-get install gnome-tweak-tool
- 隐藏侧边栏(2种方法) 方法1:在设置中选择dock栏,然后打开自动隐藏dock即可。 方法2:使用shell扩展dash to dock 安装方法:命令行安装或者在Ubuntu软件中直接搜索dash to dock安装
~$ sudo apt-get install gnome-shell-extension-dashtodock
设置方法:重启后在gnome tweak的扩展选项中找到dash to dock,根据自己的喜好设置后选择打开即可。参考Blog
#打开gnome-tweaks ~$ sudo gnome-tweaks # 注:假如打开的设置界面没有拓展这一选项,不用sudo,直接打开 忽略权限问题 ~$ gnome-tweaks
- 隐藏顶栏(2种方法) 方法1:使用shell扩展hide top panel 安装方法:在Ubuntu软件中直接搜索hide top panel安装hide top panel拓展 方法2:使用shell扩展hide top bar 安装方法:命令行安装或者在Ubuntu软件中直接搜索hide top bar安装hide top bar拓展
~$ sudo apt-get install gnome-shell-extension-autohidetopbar
设置方法:重启后打开gnome tweak,进入扩展栏找到hide top bar,点击设置,根据自己的习惯对hide top bar进行设置。参考Blog
2.13 设置系统时间
- 查看当前系统的时间
~$ date -R
- 运行tzselect来选择时区
# 根据情况选择【这里选择4) Asia --> 9) China --> 1)Beijing Time --> 1) Yes】 ~$ tzselect
- 再次查看时区,如果不是东8区,进行下一步4(或者直接跳过2执行4)
- 将Shanghai的文件复制到/etc/localtime目录下
~$ cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
- 设置时间(修改完后过一会系统会同步)
# 修改日期 ~$ sudo date -s 11/28/20 # 修改时间 ~$ sudo date -s 11:21:30
- 修改硬件的CMOS时间
# 修改 硬件CMOS时间 ~$ sudo hwclock --systohc # 注意: 这个步骤非常重要,如果没有这一步,重启后,时区又会发生改变
- 使用date查看当前时间
~$ date
2.14 修改语言系统
- 打开locale文件
~$ sudo gedit /etc/default/locale
- 注释掉原来的内容,根据相应格式添加
# 格式1 LANG="zh_CN.UTF-8" LANGUAGE="zh_CN:zh" # 格式2 LANG=zh_CN.UTF-8 LANGUAGE=zh_CN:zh
2.15 其他常用命令
- 快捷键打开终端 Ctrl+Alt+t
- 查询内核(linux内核版本号、gcc编译器版本号、Ubuntu版本号)
~$ cat /proc/version
- 查看显示linux的内核版本和系统位数
~$ uname -a
- 超级管理员
~$ su root
- 设置超级管理员
~$ sudo passwd root
- 查看当前使用内核版本
~$ uname -r
- 查看系统中安装了哪些内核
~$ dpkg --get-selections | grep linux
- 删除内核(举例、谨慎删除,可能会导致无法启动系统)
~$ sudo apt-get purge linux-headers-4.15.0-55
- 安装vlc
~$ sudo snap install vlc
3. 常见问题解决
3.1 解决编译时报错
cannot find -l****
解决方案:
- 没有安装库
sudo apt-get install lib****-dev
- 已经安装库但是找不到(在usr/lib目录下有这些库文件)
# 直接修复以下链接即可,例如依次执行 ln -s lib***.so lib***.so
- 已经安装库但是找不到(在usr/lib目录下没有这些文件)
# 直接在系统根目录中依次搜索这些库文件 sudo find / -name "lib****.so" # 使用命令将相应库文件拷贝到该目录中即可 sudo cp lib***.so /usr/lib
3.2 解决ubuntu20.04 下 lboost-python找不到或者libboost-python38报错的问题
- 下载boost源码Version 1.79.0 https://www.boost.org/
- 解压后定位到目录下
- 测试 python2 是否安装完成 :
~$ /usr/bin/python2 Python 2.7.18 (default, Mar 8 2021, 13:02:45) [GCC 9.3.0] on linux2 Type "help", "copyright", "credits" or "license" for more information.
4 使用python2编译,依次执行以下命令:
sudo ./bootstrap.sh --with-python=/usr/bin/python2 ./b2 sudo ./b2 --install
注意:lboost-python找不到或者引用错误,可能是默认安装的 lboost-python库编译的环境不兼容导致的,应使用相应的Python版本进行编译 注:*Pyhton38 能够顺利安装从成功 *Pyhton27构建成功,但是安装失败(仍可使用)
The Boost C++ Libraries were successfully built! The following directory should be added to compiler include paths: /home/admin1/boost/boost_1_79_0 The following directory should be added to linker library paths: /home/admin1/boost/boost_1_79_0/stage/lib # 表示没有安装到local目录下 # 需要将 /home/admin1/boost/boost_1_79_0 添加到项目的 include paths中 # 需要将 /home/admin1/boost/boost_1_79_0/stage/lib 添加到项目的library paths中
注:可以选择使用命令行将boost_1_79_0和boost_1_79_0/stage/lib中的文件拷贝到系统的local目录下,再将相应目录添加到qt项目的路径中
3.3 编译时会出现错误“cannot find -lgl”
sudo apt-get install libqt4-dev # 若编译失败,尝试执行以下命令安装build-essential sudo apt-get install build-essential
3.4 firefly 初始密码
firefly账户默认密码为firefly
firefly
3.5 解决中文输入法问题
- 安装fcitx框架、工具和输入法(pinyin、sunpinyin等)
~$ sudo apt-get install fcitx fcitx-table-wbpy fcitx-config-gtk fcitx-sunpinyinfcitx-pinyin
- 切换设置fcitx为默认输入法(二选一,某一种可能无效)
# 使用im-switch切换 ~$ im-switch -s fcitx -z default #或者使用im-config 切换 ~$ im-config -n fctix
- 登出再登入或者重启系统
注意:
- 如果遇到 “im-switch command not found” 的情况, 请使用im-config来配置,或者可以使用系统设置"System setting"里的“Text entry”进行图形化界面操作,同样可以添加已经安装的中文输入法。
- im-switch 已经改为选装,im-config 改为预装,且im-switch 与 im-config 互不相容
- 如果安装了im-switch后系统设置中不见了语言支持,原因是im-switch与语言支持不兼容,两者只能取其一,安装其一,若另一个存在则会被卸载。(使用如下命令重新安装语言支持)
- 如果im-switch、im-config和语言支持都没有,那就装一个
# 装im-switch ~$ sudo apt-get install im-switch # 装语言支持 ~$ sudo apt-get install language-selector-gnome # 装im-config ~$ sudo apt-get install im-config
3.6 解决触摸屏旋转后显示/触屏点位置不对
- 给旋转屏幕脚本加个延时rotate.sh
- 给旋转触屏点脚本加个延时rotateAOCTouchScreen.sh 注释:根本原因是显示器没启动好,需要等待触屏显示器初始化完成后再运行脚本(有时候会遇到这个问题)