admin';?>

首页 / 工作日志

他山界面开发框架v52 (Linux硬盘版) 使用说明

By admin  •  2021-08-26 17:41:22  •  65次点击
永久外链: https://i.otherhill.com/static/c5ab54e6065111ecaccf809b202ce664.html


 
x64, 我们以 init 3 模式启动,须先手动登录root帐户,然后键入init 5,进入图形界面。如图:

然后输入密码:lixingok 登录lixing帐户,进入开发环境:

x32环境就不用这么麻烦,x32采用init 5模式启动,开机直接进图形界面。x32, x64, root 或 lixing帐户的密码都是lixingok


他山框架的DEMO放在: /home/lixing/ohui/proj/Calendar/gtk-3.0 目录下,
cd /home/lixing/ohui/proj/Calendar/gtk-3.0
make 即可.
最终生成 tsCalendar 到目录 /home/lixing/ohui/proj/dist_v52_gtk3_201909/bin/ 中.
firefox v52.9源码存放于 /home/lixing/ohui/proj/ffv52.9/src 目录下.
cd /home/lixing/ohui/proj/ffv52.9/src
gmake -f client.mk build 即可完成编译,自动生成/home/lixing/ohui/proj/ffv52.9/objdir-droid-gtk3路径,其中firefox就生成在
/home/lixing/ohui/proj/ffv52.9/objdir-droid-gtk3/dist/bin目录下.

运行 /home/lixing/tools/show_version.sh, 可查看系统中, 使用源码, 编译好的各种库的版本号.

用户权限开机运行脚本:
/home/lixing/.config/autostart/ohui_startup.desktop
[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=ohui_startup
Name[zh_CN]=ohui开机启动
Comment=
Exec=/home/lixing/tools/startup.sh
StartupNotify=false
Terminal=false
Hidden=false

/home/lixing/tools/startup.sh 内容如下:
#!/bin/sh

#用户权限开机运行脚本:由/home/lixing/.config/autostart/ohui.desktop触发 #增加你自己的开机脚本.
gedit /home/lixing/tt &

root权限开机脚本
touch /etc/init.d/ohui
chmod +x /etc/init.d/ohui
#!/bin/bash -e
### BEGIN INIT INFO
# Provides: tashan
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5 6
# Default-Stop:
# Short-Description:
# Description: Setup tashan startup environment
### END INIT INFO

. /etc/rc.d/init.d/functions
RETVAL=0

exec /home/lixing/tools/startup_root.sh &

start()
{

}

stop()
{

}

restart()
{

}

exit $RETVAL
 
/sbin/chkconfig --add ohui

/home/lixing/tools/startup_root.sh 内容如下:
#!/bin/bash

#本脚本由/etc/init.d/ohui 或 /etc/rc.d/rc.local 驱动。 不要使用sudo
#增加你自己的开机脚本.这里放的是需要root权限运行的脚本

#/home/lixing/ohui 软链接到/data2, 之所以如此,是因为历史原因,之前编译的OHU工程,历史文件中
#有指向/data2的路径链接名。

#虚拟机另一块硬盘/dev/sdb,默认挂载到/home/lixing/ohui/3rdparty_src,方便大家开发用。
#/dev/sdb中存放的都是历史遗留文件,可以无视,或自行删除。
sudo mount -t ext3 -o uid=500,gid=500 -U f3eb0618-adc2-4618-9a4d-ad9ebefcdc8c /home/lixing/ohui/3rdparty_src
#blkid /dev/sdb 查询到uuid
#或ls -l /dev/disk/by-uuid

#gedit /home/lixing/tt &
为什么要运行这么个开机脚本呢,因为我们挂两块虚拟硬盘,其中一块放第三方源码.如图:

我们把/dev/sdb1挂载到/home/lixing/ohui/3rdparty_src方便大家使用./dev/sdb1 中的文件基本上都是没什么使用价值的历史文件.

x32版,具备更好的运行兼容性,一般我们使用它来开发大部分的应用.
当你要下载并编译其他第三方源码时,如果出现编译报错,可能你在configure 或 make前, 需要执行一条:
export LD_LIBRARY_PATH=$YLX_LIBPATH
我们源码编译生成的库,一律放入/home/lixing/lib目录下,YLX_LIBPATH在/home/lixing/.bashrc中被赋值.

但默认没有进行export

我们也可以对没有源码的程序,强行修改默认库的相对加载路径.如:
patchelf --set-rpath '\$ORIGIN/tashan_lib32' ./ss-local
然后,你会发现,系统还是不会在当前目录的tashan_lib32目录下加载依赖项,
readelf -a ./ss-local |more   可查看程序加载依赖项的路径.
解决办法是,
patchelf -add-needed  your.lib ./ss-local
patchelf工具已经做好,放置于开发硬盘中. 以上的./ss-local换成你自己要生成的可执行文件名.
开发系统,登录用户/密码为
lixing/lixingok
root密码同上.
他山框架DEMO源码,存放于: /home/lixing/ohui/proj/Calendar/gtk-3.0中. cd 到该目录下,直接make 即可.

基于gtk3的工程demo,我们放在/home/lixing/ohui/proj/gtk中:这是x64的截图,所以支持x32/x64两种架构的开发.

我们建议使用x32的开发环境, 因为生成的程序,具备更好的Linux兼容性.
他山框架Linux硬盘版, 不仅用于开发基于他山框架的混合应用开发,
也适用于一切,为解决Linux各版本兼容性,发布桌面应用,而提供的一条捷径.
以下就是用他山硬盘版x32位开发的demo, 大家可试试软件运行的兼容性:
Demo  下载 (28.5MB): https://otfiles.otherhill.com:12321/uploads/file/20210615/pickcolor.tar.gz
source 下载 (44MB): https://otfiles.otherhill.com:12321/uploads/file/20210615/gtk3demo_x32.src.tar.gz


dns 设置:
vi /etc/NetworkManager/NetworkManager.conf
[main]
dns=none

vi /etc/sysconfig/network-scripts/ifcfg-eth0
PEERDNS=no
这样手工设置的DNS就不会被系统每次重启时替换掉了.太坑!


Qt编译的程序, 移植性较差, 暂时尚未搞定. 不建议用Qt开发界面程序.
我们把界面交给web, 把性能交给C++. 以Web标准设计界面,用框架去实现界面的跨平台。

我们之所以开发出硬盘版,是因为依赖项太多,数据庞大.几十乃至上百G空间,制作ISO镜像让大家下载并不方便,采用移动硬盘版的方式,即插即用.不会污染目前正使用的系统,管理,储藏,也非常方便,对硬盘性能不满意的用户,可以将数据拷贝到固态硬盘中,加快开发速度.






0 回复 | 直到2022-01-29 17:44添加回复

回复

最新贴子

生成图片 生成二维码 私信给我
生成密码 清空