Bernese 5.2 在 Ubuntu 16.04.6 编译安装
Bernese 是世界上三大著名高精度 GNSS 数据处理软件之一,当前 Bernese 软件可以购买的最新版本为 5.2,获得 Linux 版本源码后,可使用本文介绍的方法将其安装到运行 Ubuntu 16.04 操作系统的计算机上。
Bernese 是三大著名的高精度 GNSS 数据处理软件之一。由瑞士伯尔尼大学天文学院( Astronomical Institute of the University of Bern,AIUB)开发,能够处理包括 GPS、GLONASS 和卫星激光测距(SLR)等多种观测数据。该程序支持 Windows 和 UNIX/Linux 操作系统,具有图形界面(使用 Qt 实现),操作友好,模型准确,解算精度高,并且具有强大的数据批处理能力。
当前 Bernese 软件可以购买的最新版本为 5.2,获得 Linux 版本源码后,可使用本文介绍的方法将其安装到运行 Ubuntu 16.04 操作系统的计算机上。本文主要有三部分内容,前两部分都是关于 Linxu 系统的(由于很久不用 Linux 了,所以想趁此机会留下笔记,方便以后拾遗),熟悉 Linux 的童鞋可以忽略,直奔第三部分。
1. Ubuntu 16.04 安装与优化
Ubuntu16.04 是 Canonical 公司于 2016 年发布的长期支持版本(Long Time Support, LTS),目前版本号已升至 16.04.6,本文系统环境使用该版本,下载地址:http://releases.ubuntu.com/xenial/。
根据需求选择 32 位 ubuntu-16.04.6-desktop-i386.iso 或 64 位 ubuntu-16.04.6-desktop-amd64.iso,安装步骤就不叙述了,网上很多教程,如果不想使用真机环境,可在虚拟机下安装。这里重点讲下安装后要做的一些优化,其中标题后面带有 (Optional) 的指可选优化项目。
1.1 更新软件源
安装好 Ubuntu 后,第一件事就是更新软件源,因为这会节约很多时间。阿里云源在国内应该最快(网易 163 源速度也还不错),此处使用阿里云源。Ctr+Alt+T
打开终端,执行命令:
1 | sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak #备份 |
第二行命令后需添加的阿里云源地址如下:
1 | deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties |
当然,也可以使用 software & update
即 软件和更新
更新,图形化的界面可能更加直观。
设置完软件源后,更新软件源并升级系统:
1 | sudo apt-get update && sudo apt-get upgrade |
1.2 Unity 桌面环境调整(Optional)
Unity 是 Ubuntu 自己打造的桌面环境,有人认为 Unity 桌面环境糟糕的设计使很多 Ubuntu 用户不满,使其转向 Linux Mint 等非 Unity 桌面系列系统。
Unity 优化工具 Unity Tweak Tool
,可用来调整外观设置、鼠标、Unity 启动器、窗口行为等选项,可直接在 Ubuntu软件中心
搜索安装或使用命令:
1 | sudo apt-get install unity-tweak-tool |
1.3 安装Linux显卡驱动
Ubuntu 16.04 支持大多数 Nvidia 和 Intel 显示硬件,安装适配的显卡驱动之后 Ubuntu 可以获得非常流畅的统一桌面体验。 在 软件和更新
-> 附加驱动
选项卡中进行选择。对于使用 Nvidia 的用户,可以通过 PPA 为 Ubuntu 安装 Nvidia 驱动。
注意:在虚拟中使用 Ubuntu,无需安装显卡驱动。
1.4 搜狗输入法Linux版本
UbuntuKylin 团队与搜狗输入法合作开发的搜狗输入法Linux版本已经推出多年,下载地址: http://pinyin.sogou.com/linux/,下载后直接点击安装即可。
1.5 安装 Ubuntu 受限的额外的解码器
Ubnutu 额外受限
指的是这些解码器的包没有默认安装在 Ubuntu 系统里面,这些解码器没有默认安装在系统里面的原因是受到很多国家的法律的约束。在这些解码器安装完以后可正常播放很多格式的音视频文件,如 MP3,MP4,AVI 和以及其他的一些格式。使用下面的命令进行安装:
1 | sudo apt-get install ubuntu-restricted-extras |
注意:对于初学者,如果屏幕上出现那些协议和条款,按
Tab
键在选项之间切换,使用Enter
确认选择。
1.6 安装 adobe-flash 播放器(Optional)
通常在安装完 Ubuntu 的受限额外的解码器后,你应该想通过 flash 播放器
看视频。可能因为一个问题或者其他的原因在安装 flash播放器
上遇见的问题。使用下面的命令:
1 | sudo apt-get install flashplugin-installer |
1.7 安装 Typora 编辑器(Optional)
Typora 是优秀的 Markdown 编辑器,便于日常笔记写作。Typora 不在 Ubuntu 默认软件仓库中,需要先添加仓库,再行安装。
1 | 若报错,执行注释行 |
注意:Typroa 在 Ubuntu 下可能一不小心就进入全局菜单下的全屏模式了,通过快捷键
F11
切换即可。
1.8 安装 Oracle Java(Optional)
由于系统自带的是 OpenJDK,卸载 OpenJDK 之后会带有残留,导致运行 $ java -version
时第一行不是 java 的版本号,会是 Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar
这个提示,导致很多检测 java 版本号的脚本会运行出错,因此需要手动清除残留。
1 | sudo rm /usr/share/upstart/sessions/jayatana.conf |
删除 /usr/share/upstart/sessions/jayatana.conf
文件,重启之后再运行 $ java -version
就不会再有 Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar
提示了。然后用如下命令安装 Oracle Java:
1 | 添加 Oracle Java 8 软件仓库 |
1.9 其他微调整(Optional)
1 | 删除卡顿的 Libreoffice |
2. Linux 基础命令与用户权限
Linux 系统的一大特色就是使用命令进行日常操作和系统管理,新手可能会感觉不太适应,但熟悉以后会发现命令其实是非常高效的执行方式。该部分内容介绍 Linxu 下的基础命令、用户权限以及用户和密码管理等基本概念。
2.1 卸载软件(以 Gnome 的卸载为例)
Ubuntu 18.04 之前的发型版本都对 Gnome 桌面环境不友好,若是体验后想卸载,可按照以下命令进行,卸载流程可借鉴至其他软件。
1 | 卸载掉 gnome-shell 主程序 |
注意:若是在图形界面卡死,可快捷键
Ctrl+Alt+F1~F6
调出终端,抑或进入恢复模式(黑屏情况下显卡出现问题只能在无图形化界面下进行操作)。
2.2 文件/文件夹的复制、移动和删除
Linux 下文件的复制、移动与删除命令为:cp
,mv
,rm
,若遇权限问题需在前面加:sudo
。
2.2.1 文件复制命令:cp
命令格式
1
cp [-adfilprsu] source destination
参数说明
-a
: 是指 archive 的意思,指复制所有的目录-d
: 若源文件为连接文件(link file),则复制连接文件属性而非文件本身-f
: 强制(force),若有重复或其它疑问时,不会询问用户,而强制复制-i
: 若目标文件(destination)已存在,在覆盖时会先询问是否真的操作-l
: 建立硬连接(hard link)的连接文件,而非复制文件本身-p
: 与文件的属性一起复制,而非使用默认属性-r
: 递归复制,用于目录的复制操作-s
: 复制成符号连接文件(symbolic link),即“快捷方式”文件-u
: 若目标文件比源文件旧,更新目标文件
操作示例
如将
/test1
目录下的file1
文件复制到/test3
目录,并将文件名改为file2
,可输入以下命令:1
cp /test1/file1 /test3/file2
2.2.2 文件移动命令:mv
命令格式
1
mv [-fiv] source destination
参数说明
-f
: force,强制直接移动而不询问-i
: 若目标文件(destination)已经存在,就会询问是否覆盖-u
: 若目标文件已经存在,且源文件比较新,才会更新
操作示例
如将
/test1
目录下的file1
移动到/test3
目录,并将文件名改为file2
,可输入以下命令:1
mv /test1/file1 /test3/file2
移动当前目录所有文件到上一级目录
1
mv * ../ # .. 表示回到上一级目录
2.2.3 文件删除命令: rm
命令格式
1
rm [-fir] 文件或目录
参数说明:
-f
: 强制删除-i
: 交互模式,在删除前询问用户是否操作-r
: 递归删除,常用在目录的删除
操作示例
如删除
/test
目录下的file1
文件,可以输入以下命令:1
rm -i /test/file1
2.3 文件/文件夹权限管理
2.3.1 Linux 用户权限简介
Linux 内的一切皆文件,所以对于 Linux 下文件的管理就十分的重要了。Linux 下的文件权限分为三种:r
(读),w
(写),x
(执行)。Ubuntu 下查看权限的命令为:
1 | ls -l filename # 文件权限查询,filename 用于指定具体文件 |
如列出用户根目录下文件的权限情况,结果如下:
1 | spacefan@U1604:~$ ll |
可见权限表示一共有 10 位字符,其中:
第 1 位字符代表档案类型
-
代表文件d
代表是目录l
代表链接
第 2~4 位字符表示拥有者(user)权限
- 第 2 位字符代表拥有者是否有 读 权限
- 第 3 位字符代表拥有者是否有 写 权限
- 第 4 位字符代表拥有者是否有 执行 权限
第 5~7 位字符表示同组者(group)权限
- 第 5 位字符代表同组者(group)是否有 读 权限
- 第 6 位字符代表同组者(group)是否有 写 权限
- 第 7 位字符代表同组者(group)是否有 执行 权限
第 8~10 位字符表示其他用户(other)权限
- 第 8 位字符代表其他用户(other)是否有 读 权限
- 第 9 位字符代表其他用户(other)是否有 写 权限
- 第 10 位字符代表其他用户(other)是否有 执行 权限
其中,r
表示文件可以被读(read),w
表示文件可以被写(write),x
表示文件可以被执行(如果它是可执行程序的话),-
表示未被授予权限。
2.3.2 权限修改方法
Linux 用 chmod
命令修改用户权限,其用法大致分为两种,1)指定某类用户的权限;2)同时指定三类用户的权限,语法为:
1 | chmod [-可选参数][<权限范围>+/-/=<权限设置>] 文件/目录 |
可选参数列表
-c
:当发生改变时报告处理信息-f
:错误信息不输出-R
:处理指定目录及子目录下的所有文件-v
:运行时显示详细处理信息
指定某类用户的权限
1
chmod [u/g/o/a] [+/-/=] [r/w/x] file
[u / g / o / a] 为权限范围,其中:
u
:User,即文件或目录的拥有者g
:Group,即文件或目录的所属群组o
:Other,除了文件或目录拥有者和所属群组外,其他用户都属于这个范围a
:All,即全部用户
权限操作
+
:表示增加权限-
:表示取消权限=
:表示取消之前的权限,并给予唯一的权限
权限代号
r
:读取权限,数字代号为 “4”w
:写入权限,数字代号为 “2”x
:执行权限,数字代号为 “1”-
:不具备任何权限,数字代号为 “0”
file:文件名(路径)
例如给 User 用户增加了对
code
目录下/readme.txt
文件w
和x
的权限:1
sudo chmod u+rw code/readme.txt
同时指定三类用户的权限
1
chmod [xyz] file
其中 x
,y
,z
分别指定 User
、Group
、Other
的权限;用三位二进制数表示 r
, w
, x
三种权限(注意顺序),其中 0
代表没有该权限,1
代表有该权限,如 100
则表示,有 r
权限,无 wx
权限;再将这个三位的二进制数转为十进制,则是 x
(或yz
)的值。
User
: 7 = 111,表示具有rwx
权限Group
: 7 = 111,表示具有rwx
权限Other
: 4 = 100,表示只具有r
权限,而没有wx
权限例如给
User
和Group
”读+写+执行“ 的权限(即rwx
),并给Other
只 ”读“(即r
)的权限:1
sudo chmod 774 code/readme.txt
对当前所在目录下的所有非隐藏内容(Linux 下以
.
开头的为隐藏内容)做权限修改操作:1
sudo chmod 774 * # “*” 为通配符,代表当前目录下所有非隐藏内容
对当前所在目录下的所有内容(包括以
.
开头的隐藏内容)做权限修改操作:1
sudo chmod 774 . # “.” 代表当前所在目录
修改指定目录下所有内容(包括以
.
开头的隐藏内容)的权限:1
sudo chmod -R 774 code/
2.4 用户和密码管理
2.4.1 root 密码设置
Ubuntu 普通用户第一次使用 root
需要设置 root
密码:
1 | sudo passwd root |
两次输入相同密码后设置成功,然后执行:
1 | su root |
输入密码后即切换到了 root
用户。
2.4.2 root & guest 登陆设置
Ubuntu 默认的登陆界面不能采用 root
账号登陆,但可使用 guest
访客登陆。将其改为可输入用户名的形式登陆,并删除访客登陆。
第一步:给
root
用户设置密码见
2.4.1
小节。第二步:修改登陆界面的配置文件
1
2
3
4sudo gedit /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf
若不具有修改权限,修改之
sudo chmod 777 /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf在末尾增加两行后保存退出,如下所示:
1
2
3
4[Seat:*]
user-session=ubuntu
greeter-show-manual-login=true
allow-guest=false如果现在用
root
用户在图形界面登录会有错误:读取 /root/.profile 时发生错误:mesg:tty n 还需要做修改
。继续下一步。第三步:编辑
root
配置文件编辑
/root/.profile
文件:1
sudo gedit /root/.profile
在末尾增加:tty -s && mesg n || true,保存后退出:
1
2
3
4
5
6
7
8
9# ~/.profile: executed by Bourne-compatible login shells.
if [ "$BASH" ]; then
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
fi
tty -s && mesg n || true第四步:重启系统
重启系统后,上述修改生效,选择
登陆
按钮,输入root
为登录用户,再输入密码。
2.4.3 用户密码修改
普通用户密码修改只能由 root
完成,操作过程及结果如下:
1 | spacefan@U1604:~$ su root |
3. Bernese 5.2 编译安装
3.1 确认软件包内容
经过前面的大量铺垫,终于进入安装 Bernese 软件编译安装环节。首先检查安装文件是否齐全,一份完整的软件包至少包含以下文件:
- BERN52.tgz:主程序包;
- CAMPAIGN52.tgz:示例工程;
- DATAPOOL.tgz:输入数据;
- ICONS.tgz:程序图标;
- README:程序说明文档;
- SAVEDISK.tgz:输出数据;
- setup.sh:程序安装脚本。
3.2 安装依赖程序
Bernese 软件代码量庞大,计算部分主要采用 Fortran 语言编写,界面部分使用基于 Qt 的 C++ GUI 库实现,但也有一些 Perl 或 Shell 语言实现的脚本。在编译安装 Bernese 之前,你需要安装以下程序:
- 依赖库文件;
- C++ 编译器;
- Fortran 编译器;
- Perl 5;
- Qt 4。
目前,绝大部分的 Linux 发行版都已经自带了 Perl 5 解释器和 GNU C++(g++)编译器,当然也包括 Ubuntu。因此实际上只安装所需依赖库、Fortran 编译器和 Qt 4 即可。
3.2.1 安装依赖库
Bernese 软件依赖于 X11 和 zlib,编译软件之前需要首先安装这些依赖。使用如下命令安装 X11 和 zlib:
1 | sudo apt-get install libx11-dev |
3.2.2 安装 GNU Fortran
Fortran 编译器用于编译 Bernese 软件中使用 Fortran 语言编写的计算程序,在终端中使用如下命令安装 GNU Fortran(gfortran)编译器:
1 | sudo apt-get install gfortran |
3.2.3 安装 Qt 4
Bernese 的图形操作界面部分基于 Qt 开发,编译程序菜单时需要引用 Qt 4。从 Qt 4 的下载页面,下载 Qt 4.8.7 的 Linux 源代码 进行编译。首先解压源代码文件:
1 | tar -zxvf qt-everywhere-opensource-src-4.8.7.tar.gz |
使用 cd
命令进入解压得到的文件夹,执行如下命令将 Qt 4 安装到 /usr/local/qt4 目录内:
1 | sudo ./configure -release -opensource -static -prefix /usr/local/qt4 |
Qt 4 的编译安装过程需要耗费较长的时间,具体时长取决于你的计算机硬件配置,耐心等待其编译完成。然后设置环境变量 QTDIR
,将其指向 Qt 4 的安装目录。切换至 root
,打开 bash 环境配置文件:
1 | su root |
在文件末尾添加一下内容:
1 | # PATH for QT4.8 |
也可以直接在终端设置环境变量:
1 | export QTDIR="/usr/local/qt4" |
至此,依赖环境已经配置完毕,可以开始安装 Bernese 了。
3.3 安装 Bernese
Bernese 程序为用户提供了安装引导脚本 setup.sh
,执行该脚本并根据提示操作即可完成安装过程。Bernese 默认安装到当前用户的 Home 文件夹,但也可以安装到其他文件夹,完整安装需要约 500 MB 的磁盘空间。为了供多个用户使用,需要共享 BERN52 和 MENU.INP 的执行和修改权限。本示例将 Bernese 安装至 /opt 目录下。
3.3.1 格式转换
进入安装文件目录,此处为 ~/Bernesev5.2/Bernese_v5.2_linux
,命令操作如下所示:
1 | spacefan@U1604:~$ cd Bernesev5.2/Bernese_v5.2_linux/ |
为了防止出现乱码,将 sh 转为 unix 格式,再运行。终端输入:
1 | sudo apt-get install dos2unix |
3.3.2 安装 Bernese
通过 root
用户执行 Bernese 的安装引导脚本:
1 | su root |
之后程序提示输入 Bernese 软件的安装目录,这里的 /root
表示默认安装路径。我们将其安装到 /opt/BERN52
文件夹,因此输入:/opt
。
1 | spacefan@U1604:~/Bernesev5.2/Bernese_v5.2_linux$ su root |
程序提示找到的 Perl 语言解释器位置:
1 | Perl program to be used [ /usr/bin/perl ]: |
一般使用系统自带的 Perl 语言解释器就可以了,此处直接按 Enter
键回车。之后,配置文件 configure.pm
被启动,并在屏幕打印以下提示:
1 | ========================================== |
解释一下此处的各个选项:
- 键入
0
:执行从第 1 项至第 5 项的全部过程 - 键入
1
:更新环境变量设置 - 键入
2
:安装在线更新包 - 键入
3
:添加新用户环境 - 键入
4
:编译图形界面菜单 - 键入
5
:编辑程序 - 键入
6
:安装解算工程示例 - 键入
x
: 退出安装程序
由于存在一些坑,我们老老实实一步一步进行。键入 1
,安装程序打印出支持的编译器,其中 GNU 指示到 gfortran 的路径,表明安装程序找到的了该编译器:
1 | Enter option: 1 |
这里系统已经检测到了 gfortran,键入 2
选择 gfortran 编译器(也可以直接按 Enter
键回车,因为默认就是 2)。然后安装程序继续打印出当前应用的环境变量:
1 | Current Values: |
解释一下此处的默认环境变量:
- 第 1 项:Bernese 软件的安装目录
- 第 2 项:所使用的 Qt 4 所在目录
- 第 3 项:操作系统类型
- 第 4 项:操作系统名称
- 第 5 项:使用的 Fortran 编译器
- 第 6 项:其他可用的编译器
- 第 7 项: BPE 服务器
- 第 8 项:用户环境目录
- 第 9 项:用户临时文件缓存目录
- 第 10 项:用户解算工程文件夹
- 第 11 项:用户数据文件夹目录
- 第 12 项:解算成果目录
若接受其默认的变量设置,输入 y
。要修改其中的配置,输入 n
,然后根据其提示,输入变量编号来配置变量。这里使用默认设置,输入 y
。随后安装程序将检测是否存在所需的文件夹,当提示某个文件夹不存在时,程序提示是否创建,键入 y
创建即可。
1 | Accept the values (y/n): y |
之后按 Enter
键继续,再按 2
下载更新文件。由于下载更新文件的过程可能会很慢,若已经有更新文件(本文为 update_2013-07-18.tar.gz
),Ctrl+C
取消更新文件下载,另开终端并将更新文件复制到 /opt/BERN52
目录下,然后回到原终端中输入 y
。
1 | spacefan@U1604:~/Bernesev5.2/Bernese_v5.2_linux$ sudo mv update_2013-07-18.tar.gz /opt/BERN52/ |
好,重点来了:继续之前,先来填坑。首先对 BERN52
目录赋予执行权限,另开终端进入 /opt
进行权限设置:
1 | cd /opt/BERN |
然后,查询 ld
的版本:
1 | ld -v |
版本大于 2.22
,需要修改 BERN52/MENU/memu.pro
中的内容。打开该文件:
1 | gedit /opt/BERN52/MENU/menu.pro |
找到:
1 | ##QMAKE_LIBS += -lz |
去除前面的注释 #
,保存后退出。然后,回到原终端,按 3
添加新用户环境。
1 | ========================================== |
完成后,继续按 4
编译图形界面菜单。
1 | ========================================== |
菜单编译成功后按 5
继续编译程序,如果看到下面的提示,那么恭喜你,Bernese 软件已经编译安装成功了!
1 | ******************************************* |
注意:若提示 Fortran 程序编译至 100/100 时出错,返回安装程序引导,按
0
重新执行 1~5 步,根据经验,应该会成功编译了。
3.3.3 安装示例
Bernese 编译安装成功后,需要跑一下示例文件 PPP_DEMO.PCF
来验证软件是否可以正常工作,在跑 PPP_DEMO.PCF
之前,最好先完成这几件事情:
更新
CAMPAIGN52.tgz
、DATAPOOL.tgz
、SAVEDISK.tgz
最新的
CAMPAIGN52.tgz
、DATAPOOL.tgz
、SAVEDISK.tgz
文件需要在 Bernese FTP 下载:ftp.aiub.unibe.ch/BERN52/,下载后替换掉自带的文件,否则跑PPP_DEMO.PCF
时会报错。1
2
3
4spacefan@U1604:~$ cd Bernesev5.2/Bernese_v5.2_FTP_20170915/
spacefan@U1604:~/Bernesev5.2/Bernese_v5.2_FTP_20170915$ cp * /opt/BERN52/GPS/DOC/
spacefan@U1604:~/Bernesev5.2/Bernese_v5.2_FTP_20170915$ ls
CAMPAIGN52.tgz DATAPOOL.tgz SAVEDISK.tgz更新
/BERN/GPS/GEN
目录最好也更新
/BERN/GPS/GEN
,否则可能会提示:缺少 SINEX. SINEX.PPP IONEX. IONEX.PPP 等文件
,下载地址:ftp.aiub.unibe.ch/BSWUSER52/。由于文件较多,建议用 FTP 软件下载。下载后,不要删除自带的/BERN/GPS/GEN
目录,做好备份。添加星历文件
Bernese 5.2 使用 JPL/NAIF 发布的
DE405.EPH
星历,下载地址:https://github.com/SGL-UT/GPSTk/blob/master/examples/DE405.EPH,下载后放入/BERN52/GPS/GEN
目录下。1
cp DE405.EPH /opt/BERN52/GPS/GEN/
添加 RINEX 转换程序
将 Linux 版本的 RINEX 转换程序放入
usr/bin
目录下,否则第安装示例文件时会出现识别不了 RRX2RNX 文件
的提示。下载地址:Download page for the RNXCMP software,32位为 RNXCMP_4.0.7_Linux_x86_32bit.tar.gz,64位为:RNXCMP_4.0.7_Linux_x86_64bit.tar.gz。下载后解压,进入目录。1
2cd RNXCMP_4.0.7_Linux_x86_64bit/bin/
sudo cp * /usr/bin
注意:这几件事除了星历文件,其余三件都可以在安装开始之前进行,其中第一件和第二件可以直接在安装包文件中进行替换。但为了保险起见,最好先按照本文步骤操作。
然后,继续在上小节的安装提示中,按 6
安装示例,如果看到下面的提示,说明示例安装成功。
1 | Installation of the example campaign has been finished |
3.3.3 添加普通用户
使用 root
用户进行数据解算操作既不方便也不安全。为了让非 root
用户也能使用 Bernese,需要使用新用户加载环境变量设置文件,并启动配置程序。按 3
继续,若不慎将终端关闭,新开终端中执行如下命令:
1 | source /opt/BERN52/GPS/EXE/LOADGPS.setvar |
程序再次打印出安装提示,此时键入 3
,根据程序提示添加新用户的环境变量即可。
1 | ========================================== |
注意:此步是在普通用户模式下进行的操作,而非
root
用户。
3.3.4 配置环境变量
为了在每次开机后都能直接使用 Bernese 软件,需要配置在系统启动时自动加载环境变量。编辑用户主文件夹内的配置文件(root
下的配置文件也可以一并添加了):
1 | gedit ~/.bashrc |
在文件末尾为 Bernese 加载环境变量:
1 | # Load environment variables for Bernese GNSS Software |
之后在终端中键入 G
就可以启动 Bernese 了,如下图所示。
如果 3.3.3
小节在添加普通用户时 GPSDATA
移动不成功,可能会在启动时报错:
1 | Cannot open INP file /home/spacefan/GPSDATA/CAMPAIGN52/EXAMPLE/STA/SESSIONS.SES |
从 /root
目录将 GPSDATA
拷贝到普通用户目录 /home/spacefan
,再为其添加普通用户权限即可。
4 结束语
至此,Bernese 5.2 软件在 Ubuntu 16.04.6 下编译安装成功。简单总结一下:
- 安装依赖:libx11-dev、libxext-dev、libxtst-dev、zlib1g-dev、gfortran & Qt-4.8.7(网上有些教程说要装 ncompress,本文没装并未出错,若出错无法解决可以安装)。
- 手动下载更新文件,复制到
BERN52
目录下。 - 运行
setup.sh
前,为防止乱码,先在终端运行:$ dos2unix setuo.sh
。 - 第二步过后要修改权限并检查
ld
版本号,并做相应填坑工作。 - 安装示例之前,处理好示例文件更新、
DE405.PHE
星历和 RENX 转换工具的添加。 - 最后重新运行安装配置文件
configure.pm
,配置好普通用户的环境变量。
后续,将写一些在 Bernese 5.2 下的 GNSS 数据处理和精密定轨教程,敬请期待!
5 参考资料
【1】Bernese GNSS Software Version 5.2,DOCU52.pdf
【3】Linux(Ubuntu)系统下安装Qt library和Qt Creator全过程记录
【5】Windows安装虚拟机-Centos7;fortran及Qt4.8.4, BERNESE5.2 linux下安装步骤